kpa*_*pax 5 python google-cloud-dataflow apache-beam
有人可以澄清在使用save_main_session和自定义模块时的预期行为吗__main__?我的 DataFlow 管道导入 2 个非标准模块 - 一个通过requirements.txt,另一个通过setup_file。除非我将导入移动到使用它们的函数中,否则我会不断收到导入/酸洗错误。示例错误如下。从文档中,我认为设置save_main_session将有助于解决此问题,但事实并非如此(请参阅下面的错误)。所以我想知道我是否错过了什么,或者这种行为是故意的。放入函数时,相同的导入工作正常。
错误:
find_class 中的文件“/usr/lib/python2.7/pickle.py”,第 1130 行
__import__(模块)
导入错误:没有名为 jmespath 的模块
https://cloud.google.com/dataflow/faq#how-do-i-handle-nameerrors https://beam.apache.org/documentation/sdks/python-pipeline-dependencies/
何时使用--save_main_session:
您可以将
--save_main_session管道选项设置为True. 这将导致全局命名空间的状态被腌制并加载到 Cloud Dataflow 工作线程上
最适合我的设置是dataflow_launcher.py与您的setup.py. 它唯一能做的就是导入您的管道文件并启动它。使用setup.py来处理所有的依赖关系。这是迄今为止我发现的最好的例子。
https://github.com/apache/beam/tree/master/sdks/python/apache_beam/examples/complete/juliaset
| 归档时间: |
|
| 查看次数: |
4456 次 |
| 最近记录: |