如何从 BigQuery 作为流读取
Posted
技术标签:
【中文标题】如何从 BigQuery 作为流读取【英文标题】:How to read from BigQuery as a stream 【发布时间】:2017-07-20 13:03:03 【问题描述】:我正在使用 Java + Apache Beam SDK for Java 2.0.1-SNAPSHOT
场景:
从 BigQuery(BQ) 中读取数据 -> 数据流中的 ETL 过程 -> 将数据写入 BQ 表中
问题是管道在 BQ 中执行插入之前尝试处理所有数据。
在这种情况下有没有办法执行流插入?我已经尝试在从 BQ 提取时为元素设置 时间戳,但它没有没用。
或者是否可以设置 BatchLoads 使其不时插入大量数据?
【问题讨论】:
你能解释一下你为什么要这样做吗?是否只是通过让一些处理与一些写入同时运行来使管道更快地完成,还是有其他原因? 【参考方案1】:我会看看this link to Googles Solution。话虽如此,BigQuery 听起来像是被视为有界源,但这不应该成为将数据下沉到数据流中的问题,请参阅here。
【讨论】:
以上是关于如何从 BigQuery 作为流读取的主要内容,如果未能解决你的问题,请参考以下文章
Dataproc + BigQuery 示例 - 有可用的吗?
使用 Apache Beam 向 BigQuery 传播插入时如何指定 insertId
Google Cloud Dataproc 删除 BigQuery 表不起作用