MapReduce的“Hello world”和Shuffle初步理解

本文介绍了MapReduce的入门示例WordCount的启动过程,并对其工作原理进行了简单阐述,重点讨论了Shuffle阶段在MapReduce中如何整理数据以提高reduce阶段的效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    前言:任何一种编程语言,开场白基本都是“Hello World”,那么对于Hadoop的计算框架MapReduce一样有着自己的“开场白”,那就是“WordCount”,词频统计这一实例,在任何一个版本的Hadoop安装程序中都会有,下面也会给大家初步介绍如何启动,并分享一下我对Shuffle的初步理解

WordCount实例启动

1.创建任意文本并上传到HDFS
hadoop-2.8.1]$ bin/hdfs dfs -put test.log /wordcount/input/
2.提交jar包,计算,结果输出到/wordcount/output1中
hadoop-2.8.1]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.1.jar wordcount /wordcount/input /wordcount/output1
3.查看输出目录
hadoop-2.8.1]$ hdfs dfs -ls /wordcount/output1
4.查看输出文件
hadoop-2.8.1]$ hdfs dfs -cat  /wordcount/output1/part-r-00000

WC作为MapReduce的初级实例,对我们理解MapReduce工作原理有很大帮助,详细内容大家可以参考如下博客链接。

MapReduce工作原理图文详解

Shuffle初步理解


    MapReduce的运行,按照时间顺序可分为:输入切片(input split)、map阶段、combiner阶段、shuffle阶段和reduce阶段。详细的介绍可以参考上文中提到的链接。

    在运行一个MapReduce计算任务的时候,任务过程会被分为两个阶段:map阶段和reduce阶段,每个阶段都是用键值对(key/value)作为输入(input)和输出(output)。shuffle是map的输出作为reduce的输入之间的过程,也是MapReduce工作中优化的重点。

    MapReduce所处理的数据都是海量文件,如上图所示,shuffle阶段将map阶段各节点中key相同的值进行归类,这样在reduce阶段就能较轻松的完成数据的规约输出,提高reduce的工作效率。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值