初探MapReduce

一、导入新课

  • 回顾项目四HDFS相关的知识,由于MapReduce是Hadoop系统的另一个核心组件,它是一种可用于大数据并行处理的计算模型、框架和平台,主要解决海量数据的计算,是目前分布式计算模型中应用较为广泛的一种。因此,本次课将针对MapReduce分布式计算框架进行详细讲解。

二、新课学习 

(一)MapReduce核心思想

MapReduce的核心思想是“分而治之”。所谓“分而治之”就是把一个复杂的问题,按照一定的“分解”方法分为等价的规模较小的若干部分,然后逐个解决,分别找出各部分的结果,把各部分的结果组成整个问题的结果,这种思想来源于日常生活与工作时的经验,同样也完全适合技术领域。
MapReduce作为一种分布式计算模型,它主要用于解决海量数据的计算问题。使用MapReduce操作海量数据时

(二)MapReduce编程模型

 

 

(三)MapReduce编程实例——词频统计思路 

1、Map阶段(映射阶段)

  

2、Reduce阶段(归并阶段) 

 

(四)MapReduce编程实例——词频统计实现 

1、准备数据文件 

(1)在虚拟机上创建文本文件

2)上传文件到HDFS指定目录 

 

2、创建Maven项目

添加相关依赖 

 

创建词频统计映射器类

 

 

为了更好理解Mapper类的作用,在map()函数里暂时不进行每行文本分词处理,直接利用context输出keyvalue 

 

 

 

 

 

 

 

 

 

 

 

    • MapReduce是一种编程模型,用于处理大规模数据集的并行运算。使用MapReduce执行计算任务的时候,每个任务的执行过程都会被分为两个阶段,分别是Map和Reduce,其中Map阶段用于对原始数据进行处理,Reduce阶段用于对Map阶段的结果进行汇总,得到最终结果。
    • 输入键值对⟹ \Longrightarrow⟹输出键值对

    • 创建/wordcount/input目录,
    • 执行命令:hdfs dfs -mkdir -p /wordcount/input
    • 在Hadoop WebUI界面上查看上传的文件 
    • 创建Maven项目 - MRWordCount 

    • pom.xml文件里添加hadoopjunit依赖
    • 创建net.hw.mr包,在包里创建WordCountMapper
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值