我试图运行两个火花动作如下,我希望它们并行运行,因为它们都使用不同的池。使用池进行调度是否意味着,不同的独立操作将并行运行?我的意思是如果我有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>
根据给定的细节,您的工作必须基于火花配置并行运行,但是需要考虑的参数很少,
要配置FAIR调度程序,请通过以下链接,一切都详细,http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/FairScheduler.html