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。
我正在尝试编写一个 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。