文档章节

Hadoop MapReduce原理之核心类

d
 double大宝
发布于 2017/04/26 22:35
字数 413
阅读 19
收藏 1

 

Job:
    允许user设置、提交、控制执行、查询状态。
    setXXX方法必须在sumbit之前调用。
    
    The job submitter's view of the Job. 

    It allows the user to configure the job, submit it, control its execution, and query the state. The set methods only work until the job is submitted, afterwards they will throw an IllegalStateException. 

    Normally the user creates the application, describes various facets of the job via Job and then submits the job and monitor its progress.

    Here is an example on how to submit a job:

         // Create a new Job
         Job job = Job.getInstance();
         job.setJarByClass(MyJob.class);
         
         // Specify various job-specific parameters     
         job.setJobName("myjob");
         
         job.setInputPath(new Path("in"));
         job.setOutputPath(new Path("out"));
         
         job.setMapperClass(MyJob.MyMapper.class);
         job.setReducerClass(MyJob.MyReducer.class);

         // Submit the job, then poll for progress until the job is complete
         job.waitForCompletion(true);

         
org.apache.hadoop.yarn.server.resourcemanager.ResourceManager
    
    管理集群中所有的资源。
    The ResourceManager is the main class that is a set of components. "I am the ResourceManager. All your resources belong to us..."

org.apache.hadoop.yarn.server.nodemanager.NodeManager
    ContainerManagerImpl
    
org.apache.hadoop.mapreduce.v2.app.MRAppMaster
    Map-Reduced的应用管理器,状态机。
    封装了Job借口的实现,所有状态变化都通过Job接口来实现,
    每个事件会最终导致状态的变化。
    状态机变换是基于事件的。
    组件之间收发事件,事件是载体。
    事件由核心的分发机制进行分发。
    The Map-Reduce Application Master. The state machine is encapsulated in the implementation of Job interface. All state changes happens via Job interface. Each event results in a Finite State Transition in Job. MR AppMaster is the composition of loosely coupled services. The services interact with each other via events. The components resembles the Actors model. The component acts on received event and send out the events to other components. This keeps it highly concurrent with no or minimal synchronization needs. The events are dispatched by a central Dispatch mechanism. All components register to the Dispatcher. The information is shared across different components using AppContext.

org.apache.hadoop.mapred.YarnChild
    The main() for MapReduce task processes.
    MRtask的主要进程,负责启动。

org.apache.hadoop.mapreduce.v2.app.job.impl.MapTaskImpl extends TaskImpl 
    Map 任务的封装

org.apache.hadoop.mapreduce.v2.app.job.impl.ReduceTaskImpl  extends TaskImpl 
    Reduce 任务的封装

© 著作权归作者所有

上一篇: Ant 的使用
d
粉丝 2
博文 86
码字总数 43479
作品 0
贵港
私信 提问
大数据教程(8.1)mapreduce核心思想

上一章介绍了hadoop的HDFS文件系统的原理及API使用。本章博主将继续对hadoop的mapreduce编程框架进行分享。 mapreduce原理篇 mapreduce是一个分布式运算程序的编程框架,是用户开发“基于had...

em_aaron
2018/11/19
65
0
大数据经典学习路线(及供参考)之 一

1.Linux基础和分布式集群技术 学完此阶段可掌握的核心能力: 熟练使用Linux,熟练安装Linux上的软件,了解熟悉负载均衡、高可靠等集群相关概念,搭建互联网高并发、高可靠的服务架构; 学完此...

柯西带你学编程
2018/05/22
0
0
【hadoop】16.MapReduce-简介

简介 本章节我们先来了解一些关于MapReduce的理论知识。从本章节您可以学习到:MapReduce的相关知识。 1、概念 Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析...

Areya
01/12
19
0
hadoop(06)、使用Eclipse开发Hadoop的MapReduce项目

本文实践源代码的码云地址: https://gitee.com/MaxBill/HMRP 在上文《hadoop(05)、使用Eclipse连接远程Hadoop集群》中我们主要实践了使用Eclispe开发工具安 装hadoop的开发插件,并且使用h...

MaxBill
2017/12/28
181
0
hadoop自带的jar包计算圆周率pi

Hadoop中自带的hadoop-mapreduce-examples-2.7.6.jar含有一些事例,本文将用pi计算圆周率。若想了解其计算原理,参考:http://thinkinginhadoop.iteye.com/blog/710847。 具体步骤如下: 1....

bk李
2018/08/05
162
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
525
10
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
28
0
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
15
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
40
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
50
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部