摘要: 内容很多,在这里部贴了。源网址:http://langyu.iteye.com/blog/992916 讲解的非常透彻,详细。 阅读全文
posted @ 2012-03-17 10:06 午后的猫 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 本文转自:http://www.alidw.com/?p=1420 在hadoop中的例子TeraSort,就是一个利用mapredue进行排序的例子。本文参考并简化了这个例子: 排序的基本思想是利用了mapreduce的自动排序功能,在hadoop中,从map到reduce阶段,map出来的结构会按照各个key按照 hash值分配到各个reduce中,其中,在reduce中所有的key都是有序的了。如果使用一个reduce,那么我们直接将他output出来就 行了,但是这不能够体现分布式的好处,所以,我们还是要用多个reduce来跑。比方说我们有1000个1-10000的数据,跑10个ru. 阅读全文
posted @ 2012-03-16 22:25 午后的猫 阅读(2087) 评论(0) 推荐(0) 编辑
摘要: 参考网址:http://www.javabloger.com/article/hadoop-mapreduce-hbase.html 根据参考网址中的小实例,自己亲自实现了一下,记录一下自己对该程序的一些理解。 实例:先将数据文件上传到HDFS,然后用MapReduce进行处理,将处理后的数据插入到hbase中。代码如下: 首先是Mapper:package txt_to_hbase;import java.io.IOException;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;imp.. 阅读全文
posted @ 2011-11-02 20:50 午后的猫 阅读(7108) 评论(1) 推荐(1) 编辑
摘要: (一)hadoop伪分布式的配置: 这个也可以参考《hadoop权威指南》上面写的很全面,这里再说一遍: 我的机器配置环境: OS:Ubuntu10.10 ,hadoop版本:hadoop-0.20.2(下载网址: http://apache.etoak.com//hadoop/common/hadoop-0.20.2/ ) (1)安装jdk,请参考我之前的文章:http://www.cnblogs.com/Dreama/articles/2097630.html (2)安装配置SSH,使其可以自动登录: $ sudo apt-get install ssh $ ssh-keygen -... 阅读全文
posted @ 2011-10-20 17:14 午后的猫 阅读(6693) 评论(1) 推荐(1) 编辑
摘要: [Java]assertThat详解 assertThat详解---来自 http://www.cnblogs.com/Firefly727/archive/2011/07/05/2098625.html㈠一般匹配符1、allOf 匹配符表明如果接下来的所有条件必须都成立测试才通过,相当于“与”(&&) assertThat( testedNumber, allOf( greaterThan(8), lessThan(16) ) );2、anyOf 匹配符表明如果接下来的所有条件只要有一个成立则测试通过,相当于“或”(||) assertThat( testedNumber, 阅读全文
posted @ 2011-10-14 09:34 午后的猫 阅读(562) 评论(0) 推荐(0) 编辑
摘要: <1>java中的三个取整函数:1.舍去小数向下取整:Math.floor(3.5) = 3;2.四舍五入取整 Math.rint(3.5) = 4;3.进位取整即向上取整:Math.ceil(3.1) = 4;<2>break vs continue:break:用于终止最近的封闭循环或它所在的swith语句。continue:用于结束本次循环,进行改循环内的下一次迭代。即将语句控制权传递给它所在封闭循环的下一次迭代。<3>各种数据类型间的相互转换:(1)String <---> int 型 string ——> int:int a = 阅读全文
posted @ 2011-10-12 14:12 午后的猫 阅读(496) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2011-10-10 22:22 午后的猫 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 最近在写java程序时遇到了一个诡异的问题:一个vector或arraylist 对象,我在循环中依次使用add方法向容器中添加多个对象,最后输出容器中的内容发现容器中的对象值全都相同都变成最后一次add进容器中的对象的值。下面举两个不同的例子对比一下:例1: ValuePair vp1 = new ValuePair("hello",1); ValuePair vp2 = new ValuePair("world",2); Vector<ValuePair> ve = new Vector<ValuePair> (); ve.a 阅读全文
posted @ 2011-09-30 22:26 午后的猫 阅读(1060) 评论(0) 推荐(1) 编辑
摘要: 最近在学习MapReduce编程遇到很多用MR实现按某一列值排序,或二次排序的类似问题,于是试着用MR实现各种排序问题,最终有点小总结:无需在key对象之外写任何排序函数,MR会完成按key值排序,具体详解如下: 在这之前要先说一下WritableComparable接口。Writable接口大家可能都知道,它是一个实现了序列化协议的序列化对象。在Hadoop中定义一个结构化对象都要实现Writable接口,使得该结构化对象可以序列化为字节流,字节流也可以反序列化为结构化对象。那WritableComparable接口是可序列化并且可比较的接口。MapReduce中所有的key值类型都必... 阅读全文
posted @ 2011-09-30 21:23 午后的猫 阅读(3913) 评论(1) 推荐(0) 编辑
摘要: 这篇文章记录一下自己对Hadoop输入格式的理解。详细参考hadoop API org.apache.hadoop.mapreduce 以及org.apache.hadoop.mapreduce.input.lib 包。 图一:InputFormat类结构 以上是hadoop输入部分用到的类的结构层次图(注:改图是根据旧版API画,类所在的包显示的均是就版API中所在,我在学习时均使用新版API,贴出此图为了直观的理解)。InputFormat(org.apache.hadoop.mapreduce): 从上图可以看出,最上层是一个InputFormat接口,它描述MapReduc... 阅读全文
posted @ 2011-09-29 22:35 午后的猫 阅读(3652) 评论(0) 推荐(0) 编辑