我想将Google数据流管道结果写入多个接收器。
就像,我想使用TextIO将结果写入Google Cloud Storage,并将结果写为BigQuery中的表格。我怎么能这样做?
答案 0 :(得分: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(...)...);