Hadoop MapReduce是一个软件框架,基于该框架能够容易地编写应用程序,这些应用程序能够运行在由上千个商用机器组成的大集群上,并以一种可靠的,具有容错能力的方式并行地处理上TB级别的海量数据集。这个定义里面有着这些关键词,
2、 MapReduce做什么
MapReduce擅长处理大数据,它为什么具有这种能力呢?这可由MapReduce的设计思想发觉。MapReduce的思想就是”分而治之”。
(1)Mapper负责”分”,即把复杂的任务分解为若干个”简单的任务”来处理。”简单的任务”包含三层含义:
一是数据或计算的规模相对原任务要大大缩小;二是就近计算原则,即任务会分配到存放着所需数据的节点上进行计算;三是这些小任务可以并行计算,彼此间几乎没有依赖关系。
(2)Reducer负责对map阶段的结果进行汇总。至于需要多少个Reducer,用户可以根据具体问题,通过在mapred-site.xml配置文件里设置参数mapred. reduce.tasks的值,缺省值为1。
一个比较形象的语言解释MapReduce:
我们要数图书馆中的所有书。你数1号书架,我数2号书架。这就是”Map”。我们人越多,数书就更快。
现在我们到一起,把所有人的统计数加在一起。这就是”Reduce”。
3、第一个MapReduce程序:WordCount
WordCount单词计数是最简单也是最能体现MapReduce思想的程序之一。
启动一个普通的maven工程。
如果运行没有报错那么就去任务输出路径查看生成的文件夹。
如果报错可能是环境变量问题博文:https://blog.csdn.net/tmh1995/article/details/106551092
Original: https://www.cnblogs.com/zzc1102/p/16246608.html
Author: and脱发周大侠
Title: Hadoop_mapreduce统计文本单词
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/599071/
转载文章受原作者版权保护。转载请注明原作者出处!