You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用org.apache.spark.launcher.SparkLauncher设置YARN队列?

如何用SparkLauncher指定YARN队列

嗨,这个问题很常见,其实和你用spark-submit时的逻辑是对应的,咱们直接看怎么改代码就行:

在spark-submit里用--queue myqueuename指定队列,本质上是设置了Spark的配置项spark.yarn.queue。所以在SparkLauncher中,你只需要添加一行setConf代码来设置这个配置项就可以了。

修改后的完整代码如下:

SparkAppHandle handle = new SparkLauncher()
    .setSparkHome("/myserver/spark-2.2.0-bin-hadoop2.4")
    .setAppResource(jarPath)
    .setMainClass("task.MyTask")
    .setMaster("yarn")
    .setDeployMode("cluster")
    .setConf(SparkLauncher.EXECUTOR_MEMORY, "8G")
    .setConf(SparkLauncher.EXECUTOR_CORES, "4")
    // 新增这一行指定YARN队列
    .setConf("spark.yarn.queue", "myqueuename")
    .addAppArgs("--input", inputPath, "--output", outputPath)
    .startApplication(taskListener);

简单说一下原理:spark-submit的--queue参数是一个快捷参数,最终会被转换成spark.yarn.queue这个配置项传递给Spark应用,所以在编程式提交的时候,直接设置这个配置就和命令行指定队列的效果完全一致啦。

内容的提问来源于stack exchange,提问作者Haha TTpro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 19:32:53