【发布时间】:2021-11-03 11:11:43
【问题描述】:
我正在尝试在独立集群上提交 spark 作业,我已将 virtualenv 压缩为 venv.zip,并将作业作为 shell 脚本提交
#!/bin/sh
PYSPARK_PYTHON=./venv/bin/python \
PYSPARK_DRIVER_PYTHON=./venv/bin/python
spark-submit \
--jars ojdbc6.jar \
--master spark://HOST:7077 \
--archives venv.zip#venv \
job.py
但我不断收到模块找不到,即使它存在于 venv 中并且在本地模式下运行良好。
我也尝试登录worker节点并尝试运行venv,手动激活virtualenv后,可以找到模块,脚本似乎使用系统范围的python,我该如何解决这个问题?
【问题讨论】:
-
您找到解决方案了吗?
-
@Ryan,是的,已更新
-
感谢您的更新!希望为在 CI 管道上运行单元测试的本地集群实现此设置。你在做类似的事情吗?
-
正如我所提到的,概念是一样的,所有节点都需要访问相同的“路径”,要么是共享路径,要么是每个节点上的复制路径
标签: apache-spark pyspark virtualenv