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

Nar*_*rek 8 google-cloud-storage google-cloud-dataflow

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

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

Nic*_*ick 1

为了指定文件名和路径,请参阅TextIO 文档。您将向输出编写器提供文件名/路径等。

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