首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何截断临时表?

问如何截断临时表?
EN

Stack Overflow用户
提问于 2018-07-22 07:50:50
回答 1查看 633关注 0票数 1

为了保持列的唯一性,我的几个客户将数据流式传输到BQ中的临时表(如果不存在于主表中,则重试2次,间隔10分钟),并使用另一个cron作业每隔几分钟将临时表合并到一个列分区表中。

如果临时表被合并到主表中,我需要截断它,但似乎我的客户端一直都在流式传输数据。这里有什么推荐吗?

EN

回答 1

Stack Overflow用户

发布于 2018-07-22 09:32:24

警报:不要截断正在接收流结果的表的。

请参阅https://cloud.google.com/bigquery/troubleshooting-errors#streaming

删除和/或重新创建表可以创建一段时间,其中流式插入被有效地递送到旧表,并且将不会出现在新创建的表中。

截断表的数据(例如,通过使用WRITE_TRUNCATE的writeDisposition的查询作业)可能会类似地导致一致性期间的后续插入被删除。

有关流式处理到BigQuery时的替代最佳做法,请参见:

在这种情况下-为什么不让您的几个客户端写入Pub/Sub呢?然后,您可以使用Dataflow将此数据移动到永久表中。

额外的好处:发布/订阅+数据流+ BigQuery可以保证“恰好一次”交付。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51460947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档