我正在使用 DataFlow 管道将数据从物联网设备(通过 PubSub 订阅)流式传输到 BigQuery。我正在寻找一种方法,将数据从给定设备动态定向到我可以即时指定的 BigQuery 数据集。这是一种典型情况:用户决定“我想开始将数据从物联网设备 A 流式传输到 BigQuery 数据集 5”,然后又决定“现在我想开始将数据从物联网设备 A 流式传输到 BigQuery 数据集 7”。
我正在寻找一种无需更新设备配置或重新启动数据流作业即可完成此操作的方法。这可能吗?如果没有,最好的方法是什么?
最佳答案
使用DynamicDestinations
应该可以实现。这使您能够决定每个元素应存储在哪里。
如果您无法根据要存储的元素直接推导 BigQuery 数据集,则可以将其与设备配置结合起来,或者在 DynamicDestinations
实现中创建一些查找机制。
请查看文档,其中还提供了示例。 https://beam.apache.org/releases/javadoc/2.13.0/org/apache/beam/sdk/io/gcp/bigquery/DynamicDestinations.html
关于java - 云数据流: change bigquery destination on the fly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56820646/