将数据流管道的输出写入分区目标

时间:2016-01-14 23:32:00

标签: google-cloud-storage google-cloud-dataflow

我们有一个单独的流媒体事件源,每秒有数千个事件,这些事件都标有一个id,用于标识事件所属的数万个客户中的哪一个。我们希望使用此事件源来填充数据仓库(在流模式下),但是,我们的事件源不是持久性的,因此我们也希望将原始数据存档在GCS中,以便我们可以重放如果我们进行需要的更改,它将通过我们的数据仓库管道。由于数据保留要求,我们持久存储的任何原始数据都需要由客户进行分区,以便我们可以轻松删除它。

在Dataflow中解决此问题的最简单方法是什么?目前我们正在使用自定义接收器创建数据流作业,该接收器将数据写入GCS / BigQuery上的每个客户的文件,这是明智的吗?

1 个答案:

答案 0 :(得分:1)

要指定文件名和路径,请参阅TextIO documentation。您可以为输出编写器提供文件名/路径等。

对于多个输出文件的用例,您可以使用Partition函数从单个来源PCollections创建多个PCollection