运行 Spark 作业:Python 与 Spark.submit

Min*_*int 5 python apache-spark pyspark spark-submit

运行 Spark 作业的常见方法似乎是使用 Spark-submit,如下所示(来源):

spark-submit --py-files pyfile.py,zipfile.zip main.py --arg1 val1
Run Code Online (Sandbox Code Playgroud)

作为 Spark 的新手,我想知道为什么第一种方法比从 python 运行它更受欢迎(示例):

python pyfile-that-uses-pyspark.py
Run Code Online (Sandbox Code Playgroud)

前一种方法在谷歌搜索该主题时会产生更多示例,但没有明确说明其原因。事实上,这是另一个堆栈溢出问题,其中一个答案(在下面重复)明确告诉OP不要使用python方法,但没有给出原因。

不要将 py 文件运行为: python filename.py 而是使用:spark-submit filename.py

有人可以提供见解吗?

RNH*_*TTR 1

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

\n\n
\n

Spark\xe2\x80\x99s bin目录中的spark-submit脚本用于在集群上启动应用程序。它可以通过统一的接口使用所有 Spark\xe2\x80\x99s 支持的集群管理器,因此您不必\xe2\x80\x99 专门为每个集群管理器配置应用程序。

\n
\n\n

据我了解,使用python pyfile-that-uses-pyspark.py无法在集群上启动应用程序,或者至少更难这样做。

\n