您的位置:首页 > 其它

MapReduce

2016-03-02 15:09 155 查看
MapReduce是一个处理数据的项目模型。Hadoop可以通过多个语言来写MapReduce项目。MapReduce是天生并行(inherently parallel)的。

为什么说这个天气数据集是非常好的candidate对于MapReduce,其中提到的两个特征:半结构化(semi-structured)和record-oriented(面向记录)。不是很理解。

Mapper class 是一个通用类型,有4个形式类型变量来输入输出key和value,Hadoop使用它自己的基本数据类型集合来优化网络序列化(serialization)。为什么?

输入路径通过FileInputFormat的addInputPath(),它可以是一个单独的文件,也可以是一个目录(将会输入目录下的所有文件),或者一个文件模式(正则吗?),这个可以多次调用。

输出路径(必须只有一个)被FileOutputFOrmat的setOutputPath()指定,目录一定不能存在。防止在一个大job中,覆盖了一些输出文件。

我们指定Map class 和Reduce class

Hadoop并不保证,调取combiner function的次数,所以我们需要无论调取0次1次还是多次都应该产生相同的输出。这句话不太理解,看样子就是combine的计算逻辑一定要是可拆分的,例如求最大,最小,和什么的,但是求平均值就不对了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: