我正在尝试通过Google DataProc批处理作业运行一个pyspark脚本。
我的脚本应该连接到Firestore以从那里收集一些数据,因此我需要访问库firebase-admin
。当我通过以下命令在Google Cloud上运行该脚本时:
gcloud dataproc batches submit
--project {PROJECT}
--region europe-west1
--subnet {SUBNET}
pyspark spark_image_matching/main.py
--jars=gs://spark-lib/bigquery/spark-bigquery-latest_2.12.jar
--deps-bucket={DEPS_BUCKET}
我收到以下错误:
Traceback (most recent call last):
File "/tmp/srvls-batch-0127aaf6-a438-4439-af56-beb1a66f45ed/main.py", line 4, in <module>
import firebase_admin
ModuleNotFoundError: No module named 'firebase_admin'
我已经尝试创建一个setup.py
文件来生成一个指定依赖项和--py-files
标志的.egg文件。这个想法受到了回购的高度启发:
1条答案
按热度按时间iklwldmw1#
要为Spark执行环境定制DataProc Serverless,建议使用定制容器镜像:https://cloud.google.com/dataproc-serverless/docs/guides/custom-containers
作为替代方案,您可以查看Spark支持的管理Python依赖项的方法:https://spark.apache.org/docs/latest/api/python/user_guide/python_packaging.html