博客
关于我
MapReduce之入门概述以及WordCount 案例
阅读量:331 次
发布时间:2019-03-03

本文共 1012 字,大约阅读时间需要 3 分钟。

MapReduce定义

MapReduce 是一个分布式运算程序的编程框架,主要用于在Hadoop生态系统中实现大规模数据的离线处理。其核心功能是将用户编写的业务逻辑与Hadoop自带的组件集成,为分布式计算提供统一编程接口。

MapReduce的优缺点分析如下:

优点:

1. 易于编程:MapReduce的简洁接口使开发者能够快速构建分布式程序,无需深入理解集群机制,适合大规模PC资源利用。

2. 扩展性强:通过动态添加计算节点,性能能够线性扩展。

3. 高容错性:任务自动转移到其他节点,确保计算不中断。

4. 适合海量数据处理:支持大规模离线数据处理,适合文件大小和数据量较大时使用。

缺点:

1. 不擅长实时计算:无法在毫秒级别完成任务。

2. 不适合流式处理:输入数据需静态,不能动态更新。

3. DAG计算性能差:多个依赖任务时,磁盘IO成为性能瓶颈。

MapReduce核心思想

MapReduce的核心思想基于分治策略,将数据分割处理,再合并结果。其工作流程分为三阶段:

1. Mapper阶段:将输入数据按键值对处理,输出中间结果。

2. Shuffel阶段:基于哈希函数将相同键值对分配至不同的节点进行处理。

3. Reducer阶段:将Shuffel阶段的中间结果汇总,输出最终结果。

MapReduce编程规范

MapReduce程序主要包含三个部分:

1. Mapper程序:负责数据处理和转换,输出键值对。

2. Reducer程序:负责对键值对的处理并输出最终结果。

3. Driver程序:负责任务的提交和管理,配置执行参数。

WordCount案例

需求:统计文本文件中每个单词的出现次数。

数据准备:提供一个文本文件hello.txt。

程序实现:

1. Mapper类:将单词作为键,计数作为值输出。

2. Reducer类:汇总各单词的计数,输出结果。

3. Driver类:配置任务参数,提交MapReduce作业。

本地模式运行

在本地环境中运行MapReduce程序需要注意事项:

1. 环境变量配置:确保Hadoop相关环境变量正确设置。

2. 输出路径注意事项:输出文件路径不能提前存在。

3. 执行命令示例:

hadoop jar /path/wordcount.jar com.kgf.mapreduce.WordCountDriver /input /output

转载地址:http://hfql.baihongyu.com/

你可能感兴趣的文章
Objective-C实现boruvka博鲁夫卡算法(附完整源码)
查看>>
Objective-C实现Boyer-Moore字符串搜索算法(附完整源码)
查看>>
Objective-C实现BP误差逆传播算法(附完整源码)
查看>>
Objective-C实现breadth First Search广度优先搜索算法(附完整源码))
查看>>
Objective-C实现BreadthFirstSearch广度优先搜索算法(附完整源码)
查看>>
Objective-C实现BreadthFirstShortestPath广度优先最短路径算法(附完整源码)
查看>>
Objective-C实现bubble sort冒泡排序算法(附完整源码)
查看>>
Objective-C实现Burke 抖动算法(附完整源码)
查看>>
Objective-C实现Burrows-Wheeler 算法(附完整源码)
查看>>
Objective-C实现CaesarsCiphe凯撒密码算法(附完整源码)
查看>>
Objective-C实现canny边缘检测算法(附完整源码)
查看>>
Objective-C实现cartesianProduct笛卡尔乘积算法(附完整源码)
查看>>
Objective-C实现check strong password检查密码强度算法(附完整源码)
查看>>
Objective-C实现chudnovsky algorithm楚德诺夫斯基算法(附完整源码)
查看>>
Objective-C实现CIC滤波器(附完整源码)
查看>>
Objective-C实现circle sort圆形排序算法(附完整源码)
查看>>
Objective-C实现CircularQueue循环队列算法(附完整源码)
查看>>
Objective-C实现clearBit清除位算法(附完整源码)
查看>>
Objective-C实现climbStairs爬楼梯问题算法(附完整源码)
查看>>
Objective-C实现cocktail shaker sort鸡尾酒排序算法(附完整源码)
查看>>