分布式计算框架-MapReduce学前须知

MapReduce容错 com.dsj.hadoop.hdfs.WordCountApp
1)MRAppMaster:运行失败,由YARN的RM负责重新启动,默认启动次数2次
2)Map/Reduce Task
Task会周期性向MRAppMaster发送心跳,汇报运行状况
Task挂了,MRAppMaster会为task重新申请资源,然后重新执行(NM,换一个NM),次数限制,默认4次

使用MapReduce开发WordCount
1)在pom.xml中添加mapreduce的依赖

org.apache.hadoop
hadoop-mapreduce-client-app
${hadoop.version}

Map阶段:
1).将一个输入作为一个映射,即 key:value
说明:文件中的每行会执行一次map,针对words.txt文件中的内容会执行三次map,以文件中的第一行为例

行号:一行内容

Deer Bear River
2).处理value,拆分成独立的单词数组(按空格/tab分隔)
{Deer} {Bear} {River} {Deer}
3).当单词数组中的每个元素组成一个映射,即 key:value

Deer: 1 Bear: 1 River:1 Deer: 1

Reduce阶段:

1).将map阶段产生所有key:value通过洗牌排序产生新的key:value
Deer:{1, 1} Bear{1, 1} River{1, 1} Car{1, 1, 1}
2).遍历key,累加value值,最终结果如下

Deer:2
Bear:2
River:2
Car:3

2)开发代码
3) 使用maven进行打包
mvn clean package -DskipTests
4) 运行mr作业
hadoop jar /home/hadoop/lib/hadoop-test-1.0-SNAPSHOT.jar com.dsj.hadoop.hdfs.WordCountApp /input /output

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值