从 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(使用前将#替换为@)