在python zip中添加库时,sparkauncher和spark submit之间的行为不同

mgdq6dx1  于 2021-05-22  发布在  Spark
关注(0)|答案(0)|浏览(287)

我正在启动一个pyspark应用程序,它使用一个通过 --py-files .
拉链的结构如下:

mypackage.zip
└── mypackage
    ├── file1.py
    └── file2.py

要从shell启动,我使用:

spark-submit --py-files mypackage.zip main.py

要以编程方式启动,我使用:

new SparkLauncher()
.addPyFile(zipFile.toString())
.setAppResource(mainFile.toString())

当我使用 spark-submit 它工作正常,意味着它可以导入包并使用它。
当我使用 SparkLauncher 类,它似乎使用的是较旧版本的zip。我想是这样的,因为旧的拉链 __init__.py 一个印刷品,它是印刷品。此外,应用程序随后崩溃,因为包的名称在旧zip中是不同的。
但是这个应用程序和 spark-submit ,所以问题是两种发射方法之间的变化。
你怎么能 spark-submit 以及 SparkLauncher 表现不同?有什么奇怪的吗?我也尝试过添加 .setConf("spark.files.overwrite", "true") 没有效果。
编辑:不知何故,包被缓存在 /tmp/mypackage 在运行驱动程序的节点上。什么?这怎么可能?删除目录后,它可以正常工作。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题