【问题标题】:Apache Beam Error: Unable to get file system for GCSApache Beam 错误:无法获取 GCS 的文件系统
【发布时间】:2019-08-31 13:26:57
【问题描述】:

我正在尝试通过 Beam(和 TF 变换)写入 GCS 存储桶。但我不断收到以下错误:

ValueError: 无法获取路径 [...] 的文件系统

答案here 和其他一些来源表明我需要pip install aache-beam[gcp] 才能获得与 GCP 一起使用的 Apache Beam 的不同变体。

所以,我尝试将我的培训包的setup.py 更改为:

REQUIRED_PACKAGES = ['apache_beam[gcp]==2.14.0', 'tensorflow-ranking', 'tensorflow_transform==0.14.0']

这没有帮助。我还尝试将以下内容添加到代码的开头:

subprocess.check_call('pip uninstall apache-beam'.split())
subprocess.check_call('pip install apache-beam[gcp]'.split())

这也没用。

失败的 GCP 作业的日志是 here。回溯和错误消息出现在第 276 行。

我应该提到,使用 Beam 的 DirectRunner 运行相同的代码并将输出写入本地磁盘运行良好。但我现在正在尝试切换到 DataflowRunner。

谢谢。

【问题讨论】:

    标签: python google-cloud-platform apache-beam


    【解决方案1】:

    事实证明,除了使用gcp 选项安装apache-beam 之外,您还需要卸载google-cloud-dataflow。我猜这是因为google-cloud-dataflow 默认安装在 GCP 实例上。不确定在 AWS 等其他平台上是否也是如此。但无论如何,这是我使用的命令:

    pip uninstall -y google-cloud-dataflow
    pip install apache-beam[gcp]
    

    我在 [this notebook] (https://github.com/GoogleCloudPlatform/training-data-analyst/blob/master/courses/machine_learning/deepdive/10_recommend/wals_tft.ipynb) 的第一个单元格中注意到了这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-21
      • 1970-01-01
      • 2018-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-09
      • 2021-08-03
      相关资源
      最近更新 更多