【发布时间】:2021-05-08 06:42:33
【问题描述】:
我在 Jupyter 笔记本中设置了一个相当简单的 Python Apache Beam 管道,并希望部署到 Dataflow 运行器。我对这三个都很陌生!我正在使用 Python 3 和 Apache Beam 2.27.0 内核。
我的管道选项如下所示:
options.view_as(GoogleCloudOptions).project = 'inspired-studio-11111'
options.view_as(GoogleCloudOptions).job_name = 'Dataflow Test Job2' + jobid
options.view_as(GoogleCloudOptions).region = 'us-central1'
options.view_as(GoogleCloudOptions).staging_location = 'gs://bucket/staging'
options.view_as(GoogleCloudOptions).temp_location = 'gs://bucket/temp'
options.view_as(SetupOptions).save_main_session = True
管道在笔记本中运行良好,并与 GCP 存储交互。当我将其设置为在 GCP 数据流运行器上运行并运行它时,我始终收到以下异常:
来自工作人员的错误消息:回溯(最近一次调用最后一次):文件“/usr/local/lib/python3.7/site-packages/dataflow_worker/batchworker.py”,第 771 行,运行 self._load_main_session(self .local_staging_directory) 文件“/usr/local/lib/python3.7/site-packages/dataflow_worker/batchworker.py”,第 512 行,_load_main_session pickler.load_session(session_file) 文件“/usr/local/lib/python3.7 /site-packages/apache_beam/internal/pickler.py”,第 318 行,在 load_session 中返回 dill.load_session(file_path) 文件“/usr/local/lib/python3.7/site-packages/dill/_dill.py”,第 368 行,在 load_session 模块 = unpickler.load() 文件中 "/usr/local/lib/python3.7/site-packages/dill/_dill.py",第 472 行,在加载 obj = StockUnpickler.load(self) 文件中“/usr/local/lib/python3.7/site-packages/dill/_dill.py”,第 462 行,在 find_class 返回 StockUnpickler.find_class(self, module, name) ModuleNotFoundError: No module named 'IPython'
在我的笔记本中安装和导入 ipython 没有帮助。这需要在 GCP 虚拟机的某个地方进行配置吗?
【问题讨论】:
标签: python google-cloud-platform google-cloud-dataflow apache-beam