hadoop实战随笔_0713

来源:互联网 发布:科比场均数据每年 编辑:程序博客网 时间:2024/06/05 03:32

对于比线性链更加复杂的问题,会有相关的类库帮助合理地安排工作流。最简单的是org.apache.hadoop.mapred.jobcontrol包中的JobControl类。


mapReduce中出传递的数据都是<key, value>形式的,并且shuffle排序聚集分发都是按照key值进行的。


map的输入采用hadoop默认的输入方式:文件一行作为value,行号为key

reduce的输入为map输出聚集后的结果。即<key, value-list>,如<word, {1,1,1…}>


wordCount例子中,map过程切分词,并将其作为keyreduce阶段按key累加value,两者之间靠的shufflemap输出的key合并到一块,并将其value都添加到value集合中。shuffle过程不需要手动配置,是系统自动完成的。


单表关联:表变换后自连接

多表关联:类似单表关联,通常逻辑更清晰


mapreduce程序的执行包含四个实体:

客户端:编写mapreduce代码,配置作业,提交作业

JobTraker:初始化作业,分配作业,与TaskTraker保持通信,协调整个作业的执行。

TaskTraker: 保持与JobTraker的通信,在分配的数据片上执行MapReduce任务,一个集群中可以包含多个TaskTraker

HDFS:保存作业的数据、配置信息等,保存作业结果。


原创粉丝点击