使用 Apache Beam 的 GCP DataflowRunner 上没有名为 'IPython' 的模块
No module named 'IPython' on GCP DataflowRunner with Apache Beam
我在 Python 中有一个相当简单的 Apache Beam 管道,我已经在 Jupyter notebook 中设置并想部署到 Dataflow 运行ner。我对这三个都是新手!我正在使用 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
流水线 运行 在 notebook 中运行良好并与 GCP 存储交互。当我在 GCP 数据流 运行ner 上将其设置为 运行 和 运行 时,我始终收到以下异常:
来自工作人员的错误消息:追溯(最近一次调用最后一次):文件“/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 return 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 return StockUnpickler.find_class(self, module, name) ModuleNotFoundError: 没有名为 'IPython'
的模块
在我的笔记本中安装和导入 ipython 没有帮助。这是否需要在 GCP VM 的某处配置?
该错误通常是由使用 save_main_session=True 选项引起的。请参阅 以了解有关确保工作人员在运行时拥有正确代码的其他方法的讨论。
我在 Python 中有一个相当简单的 Apache Beam 管道,我已经在 Jupyter notebook 中设置并想部署到 Dataflow 运行ner。我对这三个都是新手!我正在使用 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
流水线 运行 在 notebook 中运行良好并与 GCP 存储交互。当我在 GCP 数据流 运行ner 上将其设置为 运行 和 运行 时,我始终收到以下异常:
来自工作人员的错误消息:追溯(最近一次调用最后一次):文件“/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 return 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 return StockUnpickler.find_class(self, module, name) ModuleNotFoundError: 没有名为 'IPython'
的模块在我的笔记本中安装和导入 ipython 没有帮助。这是否需要在 GCP VM 的某处配置?
该错误通常是由使用 save_main_session=True 选项引起的。请参阅