Google 合并 CSV 文件并写入 BigQuery 的 Cloud Dataflow 示例

Google Cloud Dataflow example of merging CSV files and writing to BigQuery

我正在尝试编写一个 ETL 作业,该作业将被安排从 Google 云存储中提取 CSV 文件,合并它们并写入 BigQuery。

我能够弄清楚 CSV 的读取部分,但由于 Dataflow 文档无助于理解合并选项,我一直坚持合并。

PCollection<String> File1 = p.apply(TextIO.Read.from("gs://**/DataFile1.csv"));
PCollection<String> File2 = p.apply(TextIO.Read.from("gs://**/DataFile2.csv"));

合并 file1 和 file2 内容并写入已定义的 BigQuery Table。

文件 1 示例:

Order,Status,Follow,substatus Order1, open, Yes, staged Order2, InProcess,No, withbackoffice

文件 2 示例:

Order,Status,Follow,substatus Order3, open, Yes, staged Order4, InProcess,No, withbackoffice BigQuery table 应该能够使用 columns

Order,Status,Follow,substatus - Order1, open, Yes, staged - Order2, InProcess,No, withbackoffice - Order3, open, Yes, staged - Order4, InProcess,No, withbackoffice

我知道如何与纯 Java 合并,但我无法找到帮助我在 Cloud Dataflow 中执行此操作的正确 PTransform。请帮忙!谢谢。

您似乎在问如何 "concatenate" 将两个 PCollections 合二为一。答案是 Flatten transform。然后您可以按照通常的方式将连接的集合写入 BigQuery。