运行 花样本预处理时的数据流错误

Dataflow Error when running flowers-sample preprocessing

我正在尝试使用 flowers-sample 中包含的预处理脚本(我看到它今天已经被修改并且不再被弃用)。 但是,安装所需的包后,管道失败并输出这些错误日志

(caeb3b0a930d0a6): Workflow failed. Causes: (caeb3b0a930d587): S01:Save to disk/Write/WriteImpl/InitializeWrite failed.

(d50acb0dd46c44c6): Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/dataflow_worker/batchworker.py", line 666, in run
    self._load_main_session(self.local_staging_directory)
  File "/usr/local/lib/python2.7/dist-packages/dataflow_worker/batchworker.py", line 411, in _load_main_session
    pickler.load_session(session_file)
  File "/usr/local/lib/python2.7/dist-packages/apache_beam/internal/pickler.py", line 230, in load_session
    return dill.load_session(file_path)
  File "/usr/local/lib/python2.7/dist-packages/dill/dill.py", line 363, in load_session
    module = unpickler.load()
  File "/usr/lib/python2.7/pickle.py", line 858, in load
    dispatch[key](self)
  File "/usr/lib/python2.7/pickle.py", line 1090, in load_global
    klass = self.find_class(module, name)
  File "/usr/local/lib/python2.7/dist-packages/dill/dill.py", line 423, in find_class
    return StockUnpickler.find_class(self, module, name)
  File "/usr/lib/python2.7/pickle.py", line 1124, in find_class
    __import__(module)
ImportError: No module named util

我从两个不同的 Google 计算引擎得到相同的错误 运行 我安装了 requirements.txt.

中列出的软件包的过程

它是指 trainer 目录中的 util.py 文件,还是我应该安装其他软件包以避免此错误?

我找到了一个解决方法:在 preprocess.py 中,我用 util.py 中包含的 get_cloud_project() 的定义替换了 util 包的导入。

我不知道问题是否是由数据流上使用的本地包引起的。我不认为是这种情况,因为在管道定义中没有调用 get_cloud_project(),但这是我第一次使用数据流。

如果其他人知道是否可以在不修改代码的情况下使代码工作,请告诉我!