hadoop学习(四)Map/Reduce数据分析简述-示例-电话通讯清单

本文介绍了如何使用Hadoop MapReduce处理大规模电话通讯清单,分析每个手机号码的来电记录。在数据达到TB级别时,传统方法处理效率低下,而Hadoop能够自动分配数据到集群节点,通过Mapper处理数据并可能使用Reducer进行聚合操作。Mapper负责读取、分割原始数据,处理异常,并输出到HDFS,Reducer则对相同Key的数据进行整合。
摘要由CSDN通过智能技术生成

    假如我们集群和伪分布式hadoop系统已经搭建完毕。我们都会根据官网或一些资料提供的wordcount函数来测试我们系统是否能正常工作。假设,我们在执行wordcount函数,都没有问题。那我们就可以开始写M/R程序,开始数据分析了。

   因为,hadoop集群,还有其他一些组件需要我们去安装,这里还没有涉及,暂时不考虑。你要做的就是,把要分析的数据上传到HDFS中。至于其余组件,遇到的时候,在学习。这里对概念,不做太多的介绍。必要的概念,和程序执行步骤,这个是必须了解的。

任务要求:分析通话记录,查处每个手机号码有哪些打过来的号码

  — 现有电话通讯清单,记录用户A打给用户B的记录

  — 查找出没有电话号码,都有哪些电话来了

例如:120   13688893333 13733883333 1393302942  

说明:120 有后面3个电话打过来

要实现上述功能,传统处理方面同样也可以实现,但当数据大到一定程度,就会遇到瓶颈:

1、通过c,java程序直接截取上面的数据。

2、把数据直接导入数据库中,直接select也能解决问题。

3、但当数据TB级别的时候,简单的计算的话,传统方法就会遇到瓶颈。这时候M/R就起到作用了,hadoop会将我们上传到HDFS中的数据自动的分配到每一台机器中。

4、mapper程序,开始按行读取数据: 一行行的读入,然后做的是:一个个的分割原始数据、输出所需要数据,处理异常数据(导致数据的崩溃,如何处理异常数据)最后输出到HDFS上。每一行数据都会运行这个mapper,最后这个mapper输出到hdfs上。最后得到的结果在输出到hdfs上。

5、可以没有reduce函数,根据情况而定。不带mapper函数的输出发送到输出文件,map函数的输出格式必须与程序输出格式一致。

6、带有reduce函数任务,系统首先把mapper中输出的key相同的部分都发送到同一个reduce,然后再把reduce函数的结果输出,map函数的输出格式必须和reduce函数的输入格式一致。


Mapper的功能:
1、分割原始数据
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值