在 PySpark 中设置 YARN 队列

Setting YARN queue in PySpark

在 PySpark 中创建 Spark 上下文时,我通常使用以下代码:

conf = (SparkConf().setMaster("yarn-client").setAppName(appname)
        .set("spark.executor.memory", "10g")
        .set("spark.executor.instances", "7")
        .set("spark.driver.memory", "5g")
        .set("spark.shuffle.service.enabled","true")
        .set("spark.dynamicAllocation.enabled","true")
        .set("spark.dynamicAllocation.minExecutors","5")
        )
sc = SparkContext(conf=conf)

但是,这会将其置于默认队列中,默认队列几乎总是超负荷。我们有几个不太繁忙的队列可用,所以我的问题是 - 如何设置我的 Spark 上下文以使用另一个队列?

编辑:澄清一下 - 我希望为交互式作业设置队列(例如,Jupyter 笔记本中的探索性分析),所以我无法使用 spark-submit 设置队列。

您可以在 spark-submit 命令中使用以下参数。

--queue queue_name

您可以在代码中设置 属性。 spark.yarn.queue

希望这会有所帮助。

谢谢

尝试使用 spark.yarn.queue 而不是 queue

conf = pyspark.SparkConf().set("spark.yarn.queue", "your_queue_name")
sc