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

时间:2016-12-08 19:00:08

标签: java cloud google-cloud-dataflow

我正在尝试编写一份ETL作业,计划从Google云端存储中提取CSV文件,合并它们并写入BigQuery。

我能够找出CSV的Read部分,而且由于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表应该具有列

的能力

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

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

1 个答案:

答案 0 :(得分:1)

好像你正在问如何连接&#34;两个PCollections合二为一。答案是Flatten transform。然后你可以按常规方式将连接集合写入BigQuery。