摘要: 数据以文件的形式存储在HDFS中,在MapReduce程序中,数据是怎么从HDFS传给Mapper的?Reducer处理完数据之后,又是怎么把数据存储到HDFS中的?1、将数据从HDFS传到Mapper是由InputFormat类实现的,2、将数据从Reducer存储到HDFS是由OutputFormat类实现的。一、输入流 InputFormat类是一个抽象类,InputFormat类定义了两个抽象函数。这两个抽象函数是: abstract List getSplits(JobContext context);abstract RecordReader createRecordR... 阅读全文
posted @ 2013-12-26 17:27 hadoop在云端 阅读(897) 评论(0) 推荐(0) 编辑
摘要: 一、java对象的序列化: java可以通过实现Serializable接口来序列化一个对象。把一个对象进行序列化有几个好处,其一在于,对于一些不明确的类对象我们通过序列化把类保存起来,既可由本地的进程使用,也可以发送给网络上的一台计算机使用。远程计算机通过反序列化进而从一串字节中把活的对象给解析出来,从而复活对象。 术语: 持久化:将对象序列化存储到文件; 数据通信:将对象序列化发送到远程计算机; java序列化机制的局限性: 计算量开销大,序列化的结果体积庞大,有时能达到对象大小的数倍甚至十倍。他的引用机制也会导致大文件不能分割的问题。这些局限对于hadoo... 阅读全文
posted @ 2013-12-26 16:58 hadoop在云端 阅读(942) 评论(0) 推荐(0) 编辑