数据流 - 将 avro 对象存储到未知的 GCS 文件夹

Posted

技术标签:

【中文标题】数据流 - 将 avro 对象存储到未知的 GCS 文件夹【英文标题】:Dataflow - Store avro objects to unknown GCS folders 【发布时间】:2020-06-04 23:53:18 【问题描述】:

我有一个 DataFlow 管道,它使用来自 Cloud Pub/Sub 的 JSON 消息,将它们转换为 Avro 并将它们存储到 Google Cloud Storage。

有没有办法让 DataFlow 根据某个 JSON 字段将每个 Avro 对象存储到 GCS 中的不同文件夹中,如果它的值实际上可以是任何值?

此文件夹结构的目标是使用 PubSub 通知和 Cloud Functions 将每个结果文件加载到不同的 BigQuery 表中。

【问题讨论】:

你是什么JSON字段? 例如,一个名为:“type”的字段,带有一个字符串值。 【参考方案1】:

writeDynamic() 函数here 是否满足您的需求?似乎该页面上的“示例:将 CSV 文件写入不同的目录和不同的标题”与您想要做的类似。

【讨论】:

以上是关于数据流 - 将 avro 对象存储到未知的 GCS 文件夹的主要内容,如果未能解决你的问题,请参考以下文章

从 pubsub->bigquery 移动到 pubsub->gcs (avro)->bigquery

性能:Google Dataflow 将 avro 文件写入 GCS

使用自定义列名将 Avro 文件加载到具有嵌套记录的 GCS

Apache Camel Kafka 连接器:以 Avro 格式写入 GCS

分区 BigQuery 表,从 AVRO 加载

GenericRecord 的 Avro 架构:能够保留空白字段