Cloud Dataflow:即时更改 bigquery 目的地
Cloud Dataflow: change bigquery destination on the fly
我正在使用 DataFlow 管道将数据从物联网设备(通过 PubSub 订阅)流式传输到 BigQuery。我正在寻找一种方法,将数据从给定设备动态定向到我可以即时指定的 BigQuery 数据集中。这是一个典型的情况:用户决定 "I want to start streaming data from iot device A into BigQuery Dataset 5," 然后稍后决定 "Now I want to start streaming data from iot device A into BigQuery Dataset 7."
我正在寻找一种无需更新设备配置或重新启动数据流作业即可执行此操作的方法。这可能吗?如果没有,最好的方法是什么?
使用DynamicDestinations
应该可以。这使您能够决定每个元素应该存储在哪里。
如果您无法根据要存储的元素直接推断出 BigQuery 数据集,则可以将其与设备配置结合起来,或者在 DynamicDestinations
实现中创建一些查找机制。
请查看文档,其中还提供了示例。 https://beam.apache.org/releases/javadoc/2.13.0/org/apache/beam/sdk/io/gcp/bigquery/DynamicDestinations.html
我正在使用 DataFlow 管道将数据从物联网设备(通过 PubSub 订阅)流式传输到 BigQuery。我正在寻找一种方法,将数据从给定设备动态定向到我可以即时指定的 BigQuery 数据集中。这是一个典型的情况:用户决定 "I want to start streaming data from iot device A into BigQuery Dataset 5," 然后稍后决定 "Now I want to start streaming data from iot device A into BigQuery Dataset 7."
我正在寻找一种无需更新设备配置或重新启动数据流作业即可执行此操作的方法。这可能吗?如果没有,最好的方法是什么?
使用DynamicDestinations
应该可以。这使您能够决定每个元素应该存储在哪里。
如果您无法根据要存储的元素直接推断出 BigQuery 数据集,则可以将其与设备配置结合起来,或者在 DynamicDestinations
实现中创建一些查找机制。
请查看文档,其中还提供了示例。 https://beam.apache.org/releases/javadoc/2.13.0/org/apache/beam/sdk/io/gcp/bigquery/DynamicDestinations.html