从 Dataflow 进行流式传输时从 BigQuery 删除数据

2024-04-11

从 Apache Beam 管道加载数据时是否可以从 BigQuery 表中删除数据。

我们的用例是这样的,我们需要根据时间戳字段(Dataflow 从 Pubsub 主题提取消息的时间)从表中删除 3 天前的数据。

是否建议这样做?如果是,有什么办法可以实现这一目标吗?

谢谢。


我认为最好的方法是将表设置为分区表(基于摄取时间)https://cloud.google.com/bigquery/docs/partitioned-tables https://cloud.google.com/bigquery/docs/partitioned-tables您可以手动删除旧分区

bq rm 'mydataset.mytable$20160301'

还可以设置过期时间

bq update --time_partitioning_expiration [INTEGER] [PROJECT_ID]:[DATASET].[TABLE]

如果摄入时间不适合您,您可以查看https://cloud.google.com/bigquery/docs/creating-column-partitions https://cloud.google.com/bigquery/docs/creating-column-partitions- 但它处于测试阶段 - 工作可靠,但这是你的决定

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Dataflow 进行流式传输时从 BigQuery 删除数据 的相关文章

随机推荐