【问题标题】:Google Cloud Dataflow (Python): function to read from and write to a .csv file?Google Cloud Dataflow (Python):读取和写入 .csv 文件的函数?
【发布时间】:2018-01-01 13:19:54
【问题描述】:

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

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

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

但是,我找不到任何 GCP Dataflow Python SDK 示例,其中数据写入 csv 文件或从 csv 文件读取数据。请您提供用于读取和写入 csv 文件的 GCP Dataflow Python SDK 函数,其方式与我为上述与 BigQuery 相关的函数所做的方式相同吗?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 警告,beam_utils 已过期
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 2022-01-23
      相关资源
      最近更新 更多