我正在尝试在 GCP 存储库上的数据科学中运行代码,并在 Beam 代码中不断出现错误。
这是给出错误的行: beam.Read(beam.io.TextFileSource('airports.csv.gz')
这是我得到的错误: AttributeError: 'module' object has no attribute 'TextFileSource'
有谁知道如何让这个工作,或者我错过了什么?
我正在尝试在 GCP 存储库上的数据科学中运行代码,并在 Beam 代码中不断出现错误。
这是给出错误的行: beam.Read(beam.io.TextFileSource('airports.csv.gz')
这是我得到的错误: AttributeError: 'module' object has no attribute 'TextFileSource'
有谁知道如何让这个工作,或者我错过了什么?
Google Dataflow 正在迁移到 Apache Beam 标准,这意味着您应该使用apache_beam.io.textio.ReadFromText。该标准仍在不断发展,因此最好在升级软件包时查阅发行说明。
看来您使用的是旧版本的 apache-beam/cloud-dataflow。
做:
pip freeze | grep dataflow
当我这样做时,我得到:
google-cloud-dataflow==0.4.3
如果您获得的版本较旧,请尝试:
pip install google-cloud-dataflow
并重复 pip freeze 命令。如果您不断获得旧版本,那么您将陷入 Python 库地狱,我建议使用 virtualenv 以确保您使用的是所有软件包的最新版本...