繁体   English   中英

在什么情况下我必须使用spark-submit的py-files选项?

[英]Under what circumstances must I use py-files option of spark-submit?

只是四处寻找火花,我的印象是,如果我的应用程序对其他.py文件有依赖关系,那么我必须使用py-files选项分发它们(请参阅捆绑应用程序依赖关系 )。 我认为这意味着必须使用py-files声明任何文件,但以下方法可以正常工作...两个.py文件:

spark_submit_test_lib.py

def do_sum(sc) :
  data = [1, 2, 3, 4, 5]
  distData = sc.parallelize(data)
  return distData.sum()

spark_submit_test.py

from pyspark import SparkContext, SparkConf
from spark_submit_test_lib import do_sum
conf = SparkConf().setAppName('JT_test')
sc = SparkContext(conf=conf)
print do_sum(sc)

提交使用:

spark-submit --queue 'myqueue' spark_submit_test.py

一切都很好。 代码运行,产生正确的结果,spark-submit正常终止。
但是,我本以为阅读了必须要做的文档:

spark-submit --queue 'myqueue' --py-files spark_submit_test_lib.py spark_submit_test.py

当然那仍然有效。 我只是想知道为什么前者同样有效。 有什么建议么?

您必须在驱动程序和执行程序在同一台计算机上运行的本地环境中提交此文件,这就是它起作用的原因,但是如果在群集中进行部署并尝试从那里运行,则必须使用--pf-files选项。

请检查链接以获取更多详细信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM