Hadoop之MapReduce2基础梳理及案例

基础梳理
1.Mapreduce 分布式计算系统
    一个分布式运算程序的编程框架也是hadoop的数据分析和应用的核心框架,将用户的业务逻辑代码和自带的默认组件整合一个完整的分布式用程序,并发运行在一个hadoop集群上

2.为什么需要MapReduce
    1.海量数据在单机上受硬件资源限制
    2.单机程序扩展到集群来分布式运行,加大程序复杂开发难度大
    3.使用MR框架,研发大部分工作集中在业务逻辑开发,复杂的计算交给框架处理

3.MapReduce运行目录及实例
在MapReduce组件里,官方提供一些样例程序其中就有WordCount和Pi程序.他们的jar包在hadoop目录下hadoop-mapreduce-examples-2.8.1.jar,忘记目录可以find -name *example*
[hadoop@hadoop001 hadoop-2.8.1]$ pwd
/opt/software/hadoop-2.8.1

[hadoop@hadoop001 hadoop-2.8.1]$ find . -name *examples* 
./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.1.jar
./share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.8.1-sources.jar
./share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.8.1-test-sources.jar


4.hadoop命令跑wordcount例子程序(词频统计)
#创建测试文本上传hdfs
[hadoop@hadoop001 hadoop-2.8.1]$ vim 1.txt
a1 a2
a2 f1 a2
[hadoop@hadoop001 hadoop-2.8.1]$ hdfs dfs -put 1.txt /input
[hadoop@hadoop001 hadoop-2.8.1]$ hdfs dfs -ls /input
Found 1 items
-rw-r--r--   1 hadoop supergroup         52 2018-05-28 16:55 /input/1.txt

#输出目录存在否者会提示错误
[hadoop@hadoop001 mapreduce]$ hadoop jar hadoop-mapreduce-examples-2.8.1.jar wordcount /input/ /output1
#查看统计结果

[hadoop@hadoop001 mapreduce]$ hdfs dfs -cat /output1/part-r-00000
a1      1
a2      3
f1      1

WordCount例子可以体现出MapReduce运用原理

Map Task 映射:
空格分割|每个线程中以单词为统计,以1为词频的values (key/values)
a1      1
a2      1
a2      1
a2      1

f1      1
每个map的输出都需要shuffle(洗牌)操作,将相同的Key放在一个桶里
交给reduce处理
Reduce Task 规约 合并计算:

a1      1
a2      3
f1      1



5.MapReduce运行机制
输入分片:一个文件如果有5个块 那个默认就会有5个Map Task任务
如果在map计算前进行分片调整,将小文件进行合并,对于木桶效应
MapReduce可以实现优化计算

参考 http://blog.itpub.net/30089851/viewspace-2127850/


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31441024/viewspace-2155251/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31441024/viewspace-2155251/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值