如何按顺序运行火花作业



我正在提交多个Spark作业。一份工作需要一个工人。目前我一次提交了30个作业,5个作业正在运行,25个作业正在等待。但是,此操作会给服务器带来沉重的负载。(有时无法分配作业端口,会发生错误。(

在一次运行5个工件的同时,是否可以减少负载?

当前我的运行代码::

~/spark-submit ~test1.py & ~/spark-submit ~test2.py & ~/spark-submit ~testN.py & ... ~/spark-submit ~test30.py 

我相信有和"amp"您正在同时使用所有这些功能。

如果你把"而不是""它们不会立即执行,而是等待它完成。

~/spark-submit ~test1.py ; ~/spark-submit ~test2.py ; ~/spark-submit ~testN.py ; 
~/spark-submit ~test30.py;

您还可以将它们组合并并行执行其中n个,如:

~/spark-submit ~test1.py & ~/spark-submit ~test2.py ; ~/spark-submit ~testN.py & 
~/spark-submit ~test30.py;

然而,这不是最好的方法,而是一个快速解决方案。原因是有些工作需要比其他工作更长的时间,完成这些工作需要更多的时间。一种解决方案是编写一个python脚本,指定一个作业池并同时运行其中5个作业。一旦其中一个完成,你就用游泳池里的另一个来代替它。

最新更新