我正在尝试编写一份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中执行此操作。请帮忙!感谢。
答案 0 :(得分:1)
好像你正在问如何连接&#34;两个PCollections合二为一。答案是Flatten transform。然后你可以按常规方式将连接集合写入BigQuery。