《大数据》MapReduce练习

思考问题

1.统计出IP的文件,哪个ip出现的次数最多,一行一个ip。如果文件很大,超过内存。

2.给定a、b两个文件,各存放50亿个url,每个url各占64B,内存限制是4GB,请找出a、b两个文件共同的url?

3.现在有一个非常庞大的URL库(100E),然后现在还有一个URL,(迅速)判断这个URL是否在这个URL库中?

MapReduce

MapReduce是一个处理海量数据计算的框架

MapReduce框架解决了什么问题
1.内部的任务调度
2.高可用,HA
3.节点间的通信问题

MapReduce原理

在这里插入图片描述
过程说明:

Mapper 任务过程详解
在这里插入图片描述
Reducer 任务过程详解

在这里插入图片描述

Commbinner 过程

Hadoop允许用户针对map 任务的输出指定一个合并函数。即为了减少传输到Reduce中的数据量。它主要是为了削减Mapper的输出从而减少网络带宽和Reducer之上的负载。特别值得注意的一点,一个combiner只是处理一个结点中的的输出,而不能享受像reduce一样的输入(经过了shuffle阶段的数据)

不适合的场景:
平均值计算

Shuffle过程

在这里插入图片描述

Hadoop Streaming

MR整个采取的JAVA实现的,提供java接口。
Streaming使得跨语言也可以进行MR的编写。

在这里插入图片描述

MapReduce 实战

reduce过程的百分比与对应的处理如下:

  • 0~33%是shuffle的过程,数据从mapper已到了reducer
  • 33~67%是sort的过程,这个过程只会在mapper完成后才会执行
  • 67~100%才是reducer程序执行的过程。如果reduce卡在了67%,那么说明reducer一个也没有执行。可能是输入数据太大,超过了限制,也可能是reducer有死循环的bug。

常用命令
在这里插入图片描述

查看节点信息:
http://192.168.77.10:50070

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值