Hadoop3.x-MapReduce
MapReduce概设
定义
MapReduce
是一个分布式运算程序的编程框架,是用户开发“基于 Hadoop 的数据分析应用”的核心框架。MapReduce
核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个 Hadoop 集群上。
优势劣势
优点
- 易于编程。用户只需要关心业务逻辑代码。实现框架的接口。
- 良好的扩展性:可以动态增加服务器数量,解决计算资源不够的问题。
- 高容错性:任何一台机器挂掉,可以将人物转移到其他节点。
- 适合海量数据计算(TB/PB)几千台服务器共同计算
缺点
- 不擅长实时计算。【MySQL-毫秒级】
- 不擅长流式计算。流式计算的输入数据是动态的,而 MapReduce 的输入数据集是静态的,不能动态变化。这是因为 MapReduce 自身的设计特点决定了数据源必须是静态的。【Sparkstreaming、flink】
- 不擅长DAG有向无环图计算。由于每个 MapReduce 作业的输出结果都会写入到磁盘,会造成大量的磁盘 IO,导致性能非常的低下。【Spark】
WordCount案例
序列化
核心框架远离
输入的数据InputFormat
Shuffle
输出数据OutputFormat
Join
ETL
总结
压缩
有哪些压缩算法
特点
在生产环境怎么用
常见的问题及解决方案
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 傻瓜の博客!
评论