海量数量离线处理
易开发
易运行
[](()缺点
实时流式计算
[](()2 MapReduce编程模型
==============================================================================
[](()wordcount词频统计
[](()MapReduce执行流程
============================================================================
-
将作业拆分成Map阶段和Reduce阶段
-
Map阶段: Map Tasks
-
Reduce阶段、: Reduce Tasks
[](()MapReduce编程模型执行步骤
-
准备map处理的输入数据
-
Mapper处理
-
Shuffle
-
Reduce处理
-
结果输 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 出
- InputFormat
[](()OutputFormat
OutputFormt接口决定了在哪里以及怎样持久化作业结果。Hadoop为不同类型的格式提供了一系列的类和接口,实现自定义操作只要继承其中的某个类或接口即可。你可能已经熟悉了默认的OutputFormat,也就是TextOutputFormat,它是一种以行分隔,包含制表符界定的键值对的文本文件格式。尽管如此,对多数类型的数据而言,如再常见不过的数字,文本序列化会浪费一些空间,由此带来的结果是运行时间更长且资源消耗更多。为了避免文本文件的弊端,Hadoop提供了SequenceFileOutputformat,它将对象表示成二进制形式而不再是文本文件,并将结果进行压缩。
[](()3 核心概念
=====================================================================
Split
InputFormat
OutputFormat
Combiner
Partitioner
[](()3.1 Split
[](()3.2 InputFormat
[](()4 MapReduce 1.x 架构
=================================================================================