hadoop用job文件方式提交任务

hadoop job命令支持通过xml文件的方式提交任务。

命令:

hadoop job -libjars some.jar -submit testjob.xml

some.jar是实现了Mapper、Reducer等的jar包,testjob.xml是作业配置文件。

jobtemplate.xml是作业配置文件不经常变动的部分,someapp.xml是本作业的配置部分。

someapp.xml内容:

<property><name>mapred.jar</name><value>some.jar</value></property>
<property><name>mapred.job.name</name><value>somejob</value></property>
<property><name>mapred.mapoutput.key.class</name><value>org.apache.hadoop.io.Text</value></property>
<property><name>mapred.mapoutput.value.class</name><value>org.apache.hadoop.io.Text</value></property>
<property><name>mapred.output.key.class</name><value>org.apache.hadoop.io.Text</value></property>
<property><name>mapred.output.value.class</name><value>org.apache.hadoop.io.NullWritable</value></property>
<property><name>mapreduce.map.class</name><value>com.some.SomeMR$MapperImpl</value></property>
<property><name>mapreduce.reduce.class</name><value>com.some.SomeMR$ReducerImpl</value></property>
<property><name>mapred.output.value.groupfn.class</name><value>com.some.base.MRGroup</value></property>
<property><name>mapreduce.partitioner.class</name><value>com.some.base.MRPartion</value></property>
<property><name>mapred.reduce.tasks</name><value>6</value></property>
<property><name>mapred.input.dir</name><value>hdfs:/testinput</value></property>
<property><name>mapred.output.dir</name><value>hdfs:/testoutput</value></property>

jobtemplate.xml内容过多,都是hadoop的通用配置,在hadoop几个配置文件中应该能找得到(可以从提交的任务中提取公共部分)。

jobtemplate.xml+someapp.xml => testjob.xml


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值