Spark Scheduler池作业没有像我预期的那样并行运行

问题描述 投票:-1回答:1

我试图运行两个火花动作如下,我希望它们并行运行,因为它们都使用不同的池。使用池进行调度是否意味着,不同的独立操作将并行运行?我的意思是如果我有200个核心,那么pool1使用100个核心,pool2使用100个核心,然后处理动作。在我的情况下,在pool1中完成第一个数据帧操作后,启动数据帧action2。

spark.setLocalProperty("spark.scheduler.pool","pool1")
dataframe.show(100,false)

spark.setLocalProperty("spark.scheduler.pool","pool2")
dataframe2.show(100,false)

我的池配置xml

<?xml version="1.0"?>

<allocations>
  <pool name="pool1">
    <schedulingMode>FAIR</schedulingMode>
    <weight>1</weight>
  </pool>
  <pool name="pool2">
    <schedulingMode>FAIR</schedulingMode>
    <weight>1</weight>
  </pool>
</allocations>
apache-spark job-scheduling
1个回答
0
投票

根据给定的细节,您的工作必须基于火花配置并行运行,但是需要考虑的参数很少,

  1. YARN是你的集群经理吗?如果是,那么您是否在YARN中配置了配置池。
  2. 我可以看到你正在使用FAIR调度程序,这意味着调度程序被覆盖然后在YARN中配置相同?

要配置FAIR调度程序,请通过以下链接,一切都详细,http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/FairScheduler.html

© www.soinside.com 2019 - 2024. All rights reserved.