MapReduce编程模型对外提供的编程接口体系结构如图3-1所示,整个编程模型位于应用程序层和MapReduce执行器之间,可以分为两层。第一层是最基本的Java API,主要有5个可编程组件,分别是InputFormat、Mapper、Partitioner、Reducer和OutputFormat。Hadoop自带了很多直接可用的InputFormat、Partitioner和OutputFormat,大部分情况下,用户只需编写Mapper和Reducer即可。第二层是工具层,位于基本Java API之上,主要是为了方便用户编写复杂的MapReduce程序和利用其他编程语言增加MapReduce计算平台的兼容性而提出来的。在该层中,主要提供了4个编程工具包。
JobControl:方便用户编写有依赖关系的作业,这些作业往往构成一个有向图,所以通常称为DAG(Directed Acyclic Graph)作业,如第2章中的朴素贝叶斯分类算法实现便是4个有依赖关系的作业构成的DAG。注:主要用于多job处理的工具
ChainMapper/ChainReducer:方便用户编写链式作业,即在Map或者Reduce阶段存在多个Mapper,形式如下:
[MAPPER+ REDUCER MAPPER*]
Hadoop Streaming:方便用户采用非Java语言编写作业,允许用户指定可执行文件或者脚本作为Mapper/Reducer。
Hadoop Pipes:专门为C/C++程序员编写MapReduce程序提供的工具包。
相关推荐
MapReduce编程模型篇第3章 MapReduce编程模型3.1 MapReduce编程模型概述3.1.1 MapReduce编程接口体系结构3.1.2 新旧MapReduce API比较3.2 MapReduce API基本概念3.2.1 序列化3.2.2 Reporter参数3.2.3 回调...
全书的主要内容包括:■ 大数据处理技术与Hadoop MapReduce简介■ Hadoop系统的安装和操作管理■ 大数据分布式文件系统HDFS■ Hadoop MapReduce并行编程模型、框架与编程接口■ 分布式数据库HBase■ 分布式...
6.8 MapReduce编程 223 6.8.1 矩阵相乘算法设计 223 6.8.2 编程实现 224 习题 226 参考文献 226 第7章 Eucalyptus:Amazon云计算的开源实现 228 7.1 Eucalyptus简介 228 7.2 Eucalyptus技术实现 229 7.2.1 体系结构 ...
│ 1 4.2MapReduce编程模型.mp4 │ 10 4.11Pig Latin 实现与优化.mp4 │ 11 Pig Latin 实现与优化(2).mp4 │ 12 4.13类似框架.mp4 │ 13 4.14章节总结.mp4 │ 2 MapReduce执行过程.mp4 │ 3 4.4MapReduce数据流....
同时讨论了怎样正确使用抽象的编程接口,框架使其更有效,可扩展,最重要的独立于系统,这些接口框架支持普通的编程执行模式。 10、 The RESERVOIR Model and Architecture for Open Federated Cloud Computing ...
同时讨论了怎样正确使用抽象的编程接口,框架使其更有效,可扩展,最重要的独立于系统,这些接口框架支持普通的编程执行模式。 10、 The RESERVOIR Model and Architecture for Open Federated Cloud Computing ...
14.1. 计算机体系结构对矩阵算法的影响 14.2 一种基于分解的方法 14.3 一个简单版本 14.4 LINPACK库中的DGEFA子程序 14.5 LAPACK DGETRF 14.6递归LU 14.7 ScaLAPACK PDGETRF 14.8 针对多核系统的多线程设计 14.9 ...
7_多态-接口-异常体系 8_适配器/ k% N! Y7 j/ |- c) O5 M' V6 S 9_多线程-yield-join-daemon-synchronized; o, E; \* I: E2 W 10_多线程-同步代码块-同步方法 11_多线程-生产消费问题 12_多线程-死锁问题 13_字符集...