并行提交多个作业时,spark-submit失败

时间:2019-02-28 15:12:09

标签: apache-spark parallel-processing spark-submit

我有一个Spark应用程序,我需要将其应用于不同的文件并尽快获得结果,因此,为此,我创建了一个python模块,该模块将准备文件,然后启动不同的spark-提交工作。

在继续之前,我将稍微解释一下spark-submit如何启动工作。

本机spark-submit的启动库使用要执行的命令在TEMP目录中创建一个临时文本文件,以获取更多详细信息click here。此文件的路径具有以下语法:... / AppData / Local / Temp / spark-class-launcher-output- {RANDOM_VALUE} .txt,其中RANDOM_VALUE似乎是随机数。 / p>

问题是,当我同时启动多个spark-job时,我遇到RANDOM_VALUE的冲突,因此并行化发生冲突,因为不同的spark作业正在使用相同的spark-class-launcher-output- {RANDOM_VALUE} .txt文件。

因此,一个简单的解决方案是在每次执行spark时都更改TEMP目录,例如... / AppData / Local / Temp / my_temp_ N ,其中N从零开始到并行作业数减一。

这是我的问题。如何更改Spark提交实例的TEMP目录?

1 个答案:

答案 0 :(得分:0)

我试图通过修改tmp目录来解决此问题,但id无效。问题在于,spark似乎在甚至使用tmp目录进行数据处理之前就已经写入了spark-class-launcher-file。所以最后我在两次执行之间增加了一个短暂的延迟...