我正在使用DataFlow管道将来自物联网设备的数据(通过PubSub订阅)传输到BigQuery。我正在寻找一种方法,可以将给定设备中的数据动态地定向到我可以动态指定的BigQuery数据集中。这是一个典型的情况:用户决定“我想要开始将数据从物联网设备A流式传输到BigQuery数据集5”,然后再决定,“现在我要开始将数据从物联网设备A流式传输到BigQuery数据集7。”
我正在寻找一种无需更新设备配置或重新启动数据流作业即可完成此任务的方法。这个是可能的吗?如果不是,那么最好的方法是什么?
发布于 2019-07-01 21:02:41
使用DynamicDestinations
应该可以做到这一点。这使您能够决定每个元素应将其存储在何处。如果不能根据要存储的元素直接推断BigQuery数据集,则可以将其与设备配置连接,或者在DynamicDestinations
实现中创建某种查找机制。
请看一下文档,其中还提供了一个示例。https://beam.apache.org/releases/javadoc/2.13.0/org/apache/beam/sdk/io/gcp/bigquery/DynamicDestinations.html
https://stackoverflow.com/questions/56820646
复制相似问题