2017-07-26 99 views
2

我无法弄清楚GCP Dataflow Python SDK中读写csv文件(或任何非txt文件)的精确函数。对于BigQuery,我已经计算出以下函数:谷歌云数据流(Python):读取和写入.csv文件的函数?

beam.io.Read(beam.io.BigQuerySource('%Table_ID%')) beam.io.Write(beam.io.BigQuerySink('%Table_ID %'))

对于读取文本文件,ReadFromText和WriteToText函数是我所知道的。

但是,我无法找到GCP Dataflow Python SDK的数据写入或读取csv文件的任何示例。请提供GCP Dataflow Python SDK函数来读取和写入csv文件,方法与我上面有关BigQuery的函数所做的相同。

回答

1

CSV文件是文本文件。最简单(虽然稍微不雅)的阅读方法是做一个ReadFromText,然后拆分在逗号上阅读的行(例如beam.Map(lambda x: x.split(',')))。

如需更优雅的选项,请查看this question,或者直接使用beam_utils pip存储库并使用beam_utils.sources.CsvFileSource源文件进行读取。

1

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

相关问题