如何通过模块来引发UDF中使用的提交

问题描述 投票:0回答:1

我有一个UDF使用dill的源代码。我的源代码中使用了其他软件包,所有软件包都列在requirements.txt中。因此,我正在执行以下操作,但对于“莳萝”说“找不到模块”

pip install -r requirements.txt --target ./dependencies
cd dependencies
zip dependencies.zip .
cd ..

spark-submit --master yarn --jars example.jar --conf spark.executor.instances=10 --pyfiles dependencies.zip --name example_job example.py arg1 arg2

这将出现以下错误

No module named "dill"

[我看到我们需要在--pyfiles参数中显式传递鸡蛋文件,但是在哪里获取莳萝的鸡蛋文件?

python pyspark spark-submit
1个回答
0
投票

我自己通过下载源代码并从中生成egg文件来做到这一点

pip download dill==0.3.1.1
tar -zxvf dill-0.3.1.1.tar.gz
cd dill-0.3.1.1
python setup.py bdist_egg
cp dist/*.egg ../

欢迎对上述过程进行任何改进

© www.soinside.com 2019 - 2024. All rights reserved.