Google Cloud Dataflow(Python):读取和写入.csv文件的功能?

时间:2017-07-26 09:43:28

标签: google-cloud-platform google-cloud-dataflow

我无法弄清楚GCP Dataflow Python SDK中读取和写入csv文件(或任何非txt文件)的精确功能。对于BigQuery,我已经找到了以下函数:

beam.io.Read(beam.io.BigQuerySource( '%表ID%')) beam.io.Write(beam.io.BigQuerySink( '%表ID%'))

对于阅读文本文件,我知道ReadFromText和WriteToText函数。

但是,我无法找到GCP Dataflow Python SDK的任何示例,其中将数据写入csv文件或从csv文件读取数据。请问您能否提供GCP Dataflow Python SDK函数来读取和写入csv文件,其方式与我上面与BigQuery相关的函数相同?

2 个答案:

答案 0 :(得分:1)

CSV文件是文本文件。阅读它们的最简单(虽然有点不优雅)的方法是做ReadFromText,然后将逗号上的行分开(例如beam.Map(lambda x: x.split(',')))。

要获得更优雅的选项,请查看this question,或者只使用beam_utils点资源库并使用beam_utils.sources.CsvFileSource来源进行阅读。

答案 1 :(得分:1)

CsvFileSource PiPy包中有一个beam_utils,它读取.csv文件,处理文件头,并可以设置自定义分隔符。有关如何在this answer中使用此来源的更多信息。希望有所帮助!