网上很多回答,都是:
yarn jar app.jar com.xxx.mainClass -D mapreduce.job.queuename=default args1 args2
但是这样设置并不能生效!!!!!是有问题的!!!!!
网上的所有设置都是基于hadoop官方的example。
example中有这样一段代码。
会将-D的配置进行处理,加入到Configuration中
以wordcount为例
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();
if (otherArgs.length < 2) {
System.err.println(\"Usage: wordcount <in> [<in>...] <out>\");
System.exit(2);
}
```
if (line.hasOption(\'D\')) {
String[] property = line.getOptionValues(\'D\');
for(String prop : property) {
String[] keyval = prop.split(\"=\", 2);
if (keyval.length == 2) {
conf.set(keyval[0], keyval[1], \"from command line\");
}
}
}
因此用户编程时建议加上这段配置。
便于传入外部系统参数。
继续阅读与本文标签相同的文章
上一篇 :
《数字视频和高清:算法和接口》一1.12幅型比
下一篇 :
《算法技术手册》一2.2 函数的增长率
-
GSMA首席执行官洪曜庄:5G时代中国在引领
2026-05-14栏目: 教程
-
猎户星空CEO傅盛:现在是AI发展最好时期,家庭服务机器人前景可期
2026-05-14栏目: 教程
-
5G远程驾驶和微公交首秀互联网大会
2026-05-14栏目: 教程
-
学宏程序编程,这些知识必不可少!
2026-05-14栏目: 教程
-
华为准备卖出“落后”的5G,多家美企极力竞争!任正非格局太大!
2026-05-14栏目: 教程
