MapReduce作业配置与提交_第1页
MapReduce作业配置与提交_第2页
MapReduce作业配置与提交_第3页
MapReduce作业配置与提交_第4页
MapReduce作业配置与提交_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MapReduce作业配置与提交1、hadoop配置文件介绍

2、MapReduce作业配置与提交

3、旧API作业提交

4、新API作业提交

在Hadoop中,Common、HDFS和MapReduce各有对应的配置文件,用于保存对应模块中可配置的参数。这些配置文件均为XML格式且由两部分构成:系统默认配置文件和管理员自定义配置文件。其中,系统默认配置文件分别是core-default.xml、hdfs-default.xml和mapred-default.xml,它们包含了所有可配置属性的默认值。而管理员自定义配置文件分别是core-site.xml、hdfs-site.xml和mapred-site.xml。它们由管理员设置,主要用于定义一些新的配置属性或者覆盖系统默认配置文件中的默认值。通常这些配置一旦确定,便不能被修改(如果想修改,需重新启动Hadoop)。需要注意的是,core-default.xml和core-site.xml属于公共基础库的配置文件,默认情况下,Hadoop总会优先加载它们。hadoop配置文件介绍在Hadoop中,每个配置属性主要包括三个配置参数:name、value和description,分别表示属性名、属性值和属性描述。其中,属性描述仅仅用来帮助用户理解属性的含义,Hadoop内部并不会使用它的值。此外,Hadoop为配置文件添加了两个新的特性:final参数和变量扩展。❑final参数:如果管理员不想让用户程序修改某些属性的属性值,可将该属性的final参数置为true,比如:<property><name>mapred.map.tasks.speculative.execution</name><value>true</value><final>true</final></property>hadoop配置文件介绍

管理员一般在XXX-site.xml配置文件中为某些属性添加final参数,以防止用户在应用程序中修改这些属性的属性值。1、变量扩展:当读取配置文件时,如果某个属性存在对其他属性的引用,则Hadoop 首先会查找引用的属性是否为下列两种属性之一。如果是,则进行扩展。2、其他已经定义的属性。3、Java中System.getProperties()函数可获取属性。当用户想要获取属性mapred.temp.dir的值时,Hadoop会将Hadoop.tmp.dir解析成该配置文件中另外一个属性的值,而则被替换成系统属性的值。hadoop配置文件介绍

在MapReduce中,每个作业由两部分组成:应用程序和作业配置。其中,作业配置内容包括环境配置和用户自定义配置两部分。环境配置由Hadoop自动添加,主要由mapred-default.xml和mapred-site.xml两个文件中的配置选项组合而成;用户自定义配置则由用户自己根据作业特点个性化定制而成,比如用户可设置作业名称,以及Mapper/Reducer、ReduceTask个数等。在新旧两套API中,作业配置接口发生了变化,首先通过一个例子感受一下使用上的不同。MapReduce作业配置与提交旧API作业配置实例:JobConfjob=newJobConf(newConfiguration(),MyJob.class);job.setJobName("myjob");job.setMapperClass(MyJob.MyMapper.class);job.setReducerClass(MyJob.MyReducer.class);JobClient.runJob(job);MapReduce作业配置与提交

MapReduce配置模块代码结构如图所示。其中,org.apache.Hadoop.conf中的Configuration类是配置模块最底层的类。从图中可以看出,该类支持以下两种基本操作。❑序列化:序列化是将结构化数据转换成字节流,以便于传输或存储。Java实现了 自己的一套序列化框架。凡是需要支持序列化的类,均需要实现Writable接口。❑迭代:为了方便遍历所有属性,它实现了Java开发包中的Iterator接口。旧API的作业配置旧API的作业配置新API作业配置实例:Configurationconf=newConfiguration();Jobjob=newJob(conf,"myjob");job.setJarByClass(MyJob.class);job.setMapperClass(MyJob.MyMapper.class);job.setReducerClass(MyJob.MyReducer.class);System.exit(job.waitForCompletion(true)?0:1);MapReduce作业配置与提交

前面提到,与新API中的作业配置相关的类是Job。该类同时具有作业配置和作业提交的功能,其中,作业提交将在后面中介绍,这里只关注作业配置部分。作业配置部分的类图如下图所示。Job类继承了一个新类JobContext,而Context自身则包含一个JobConf类型的成员。注意,JobContext类仅提供了一些gette

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论