《大数据》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
    评论
大数据领域中,MapReduce是一种经典的分布式计算模型。它通过将大数据集合分割成小的数据块,并在集群中的多台机器上并行处理这些数据块,最后将结果进行整合。下面是一些经典的大数据MapReduce案例: 1. Word Count:这是最经典的MapReduce案例之一。它用于统计输入文本中每个单词出现的次数。在Map阶段,将文本分割成单词并为每个单词赋予一个初始计数值。在Reduce阶段,将相同单词的计数值进行累加,最终输出每个单词及其出现次数。 2. PageRank:PageRank是谷歌搜索引擎中用于评估网页重要性的算法。在MapReduce中,PageRank可以通过迭代计算来实现。在每次迭代中,Map阶段用于计算网页对其他网页的贡献值,Reduce阶段用于将贡献值进行累加,并更新每个网页的Rank值。 3. TF-IDF:TF-IDF是一种用于评估文本中关键词重要性的方法。在MapReduce中,TF-IDF可以通过两个阶段实现。在第一个阶段,Map阶段用于计算每个单词在文档中的出现次数(Term Frequency),Reduce阶段用于计算每个单词在整个文集中的逆文档频率(Inverse Document Frequency)。在第二个阶段,Map阶段用于计算TF-IDF值,Reduce阶段用于整合结果。 这些案例只是大数据MapReduce应用的冰山一角,实际上,MapReduce可用于解决很多大规模数据处理问题,如日志分析、图计算、机器学习等。通过合理设计Map和Reduce函数,可以充分利用集群计算能力,提高数据处理效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值