将谷歌数据流管道的结果写入多个汇点

sag*_*sag 3 google-cloud-dataflow

我想将Google数据流管道结果写入多个接收器.

比如,我想使用TextIO将结果写入Google Cloud Storage,并将结果写为BigQuery中的表格.我怎样才能做到这一点?

jkf*_*kff 6

Cloud Dataflow管道的结构是DAG(有向非循环图),允许将多个转换应用于同一PCollection - 写转换也不例外.您可以将多个写入变换应用于结果的PCollection,例如:

PCollection<Foo> results = p.apply(TextIO.Read.named("ReadFromGCS").from("gs://..."))
                         .apply(...the rest of your pipeline...);
results.apply(TextIO.Write.named("WriteToGCS").to("gs://..."));
results.apply(BigQueryIO.Write.named("WriteToBigQuery").to(...)...);
Run Code Online (Sandbox Code Playgroud)