在spark-submit命令中通过--archive传递的pySpark 1.6应用程序中如何使用利用压缩文件

时间:2019-04-03 05:57:06

标签: python-2.7 apache-spark pyspark spark-submit

我已经创建了pyFiles.zip和sql.zip,并且具有以下目录结构。

pyFiles.zip
- module1
  - module1.py
- main.py

sql.zip
- module1
  - module1.sql

我的spark-submit命令如下:

spark-submit --master yarn-client  --driver-memory 4g --py-files /home/valli/pyFiles.zip --archives /home/valli/sql.zip /home/valli/pyFiles.zip/main.py --sqls-path /home/valli/sql.zip

当我运行上面的命令时,我得到了错误提示。

can't find '__main__' module in '/home/valli/pyFiles.zip/main.py'

但是当我在如下所示的zip文件夹之外使用main.py时,我可以触发module1。

spark-submit --master yarn-client  --driver-memory 4g --py-files /home/valli/pyFiles.zip --archives /home/valli/sql.zip /home/valli/main.py --sqls-path /home/valli/sql.zip 

在上述情况下,module1.py将触发并且正在尝试读取SQL文件,但是我却发现SQL文件未找到异常,如下所示。

File not found: 'home/valli/sql.zip/module1/module1.sql'

任何人都可以在spark-submit命令中建议如何使用压缩的.py和.sql文件。

编辑

当我运行第二个spark-submit命令时,zip文件存储在暂存目录下。我可以从sparkContext获取applicationID。但是我没有完整的登台目录URL。

请建议我如何获取暂存目录路径,以访问通过spark-submit命令中的--archive传递的压缩文件

谢谢。

0 个答案:

没有答案