运行Spark工作:python vs spark.submit

时间:2019-03-19 18:44:16

标签: python apache-spark pyspark spark-submit

运行火花作业的常见方法似乎是使用火花提交,如下所示(source):

spark-submit --py-files pyfile.py,zipfile.zip main.py --arg1 val1

作为火花的新手,我想知道为什么相对于从python(example)运行第一个方法,它比第一个方法更受欢迎:

python pyfile-that-uses-pyspark.py

在搜索主题时,前一种方法会产生更多examples,但没有明确说明原因。实际上,这是另一个Stack Overflow question,其中一个答案(以下重复)明确告诉OP不要使用python方法,但没有给出原因。

  

不要将您的py文件运行为:python filename.py,而应使用:spark-submit filename.py

有人可以提供见解吗?

1 个答案:

答案 0 :(得分:1)

@mint您的评论或多或少是正确的。

Spark的bin目录中的spark-submit脚本用于启动集群上的应用程序。它可以通过统一的界面使用Spark所有受支持的集群管理器,因此您无需特别为每个应用程序配置应用程序。

据我了解,使用subscriptionName : Sub1 instanceName : VM1 usageStart : 2020-01-27T00:00:00Z usageEnd : 2020-01-27T23:59:59Z pretaxCost : 3.194 Classification : ABC Zone : 123 Field : qaz Org : CAL Owner : Bob@dev subscriptionName : Sub1 instanceName : VM2 usageStart : 2020-01-27T00:00:00Z usageEnd : 2020-01-27T23:59:59Z pretaxCost : 2.1 Classification : ABC Zone : 222 Field : BIZ Org : NZ Owner : John@dev 无法在集群上启动应用程序,或者这样做更加困难。