Apache Beam错误:无法获取GCS的文件系统

时间:2019-08-31 13:26:57

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

我正在尝试通过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。

谢谢。

1 个答案:

答案 0 :(得分:0)

事实证明,除了使用<tr *ngFor="let x of response"> <td> <img [src]="x.productPrimaryImage"> </td> </tr> 选项安装readUrl(event) { this.productPrimaryImage = event.target.value; } 之外,还需要卸载google-cloud-dataflow。我猜是因为默认情况下apache-beam已安装在GCP实例上。不知道在其他平台(例如AWS)上是否同样如此。但是无论如何,这是我使用的命令:

gcp

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