Dataproc 不导入存储在 Google Cloud Storage 存储桶中的 Python 模块

Dataproc doesn't import Python module stored in Google Cloud Storage bucket

我在 Google 云存储 (GCS) 存储桶上有以下结构:

gs://my_bucket/py_scripts/
    wrapper.py
    mymodule.py
    _init__.py

我 运行 wrapper.py 通过 Dataproc 作为 pyspark 作业,它在开始时使用 import mymodule 导入 mymodule 但作业返回错误 no module named mymodule 即使它们在同一条路径上。然而,这在 Unix 环境中工作正常。

请注意 _init__.py 为空。还测试了 from mymodule import myfunc 但 returns 同样的错误。

你能提供你的pyspark作业提交命令吗? 我怀疑您没有传递“--py-files”参数来为工作提供其他 python 文件。检查参考 https://cloud.google.com/sdk/gcloud/reference/dataproc/jobs/submit/pyspark 。 Dataproc 不会将同一 GS 存储桶中的文件假定为作业的输入。