我无法弄清楚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相关的函数相同?
答案 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中使用此来源的更多信息。希望有所帮助!