首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >关于更改动态BigQuery表的分区字段的建议

关于更改动态BigQuery表的分区字段的建议
EN

Stack Overflow用户
提问于 2022-07-21 05:18:42
回答 1查看 70关注 0票数 0

我正在处理以下问题:我有许多表通过AirByte从外部源导入到AirByte中,_airbyte_emitted_at是分区字段的默认设置。

由于分区字段的这一默认选择并不是很有利可图,因此更改分区字段的需求自然会出现。我知道可以通过CREATE TABLE FROM SELECT *语句更改现有表的分区的方法,但是这样创建的新表--基本上是原始表的副本,带有修改的分区字段--将仅仅是静态快照,不再动态更新,因为每次在外部源中记录新数据时,原始表都会这样做。

在这种情况下,本论坛经验丰富的成员将提出什么解决问题的建议?

由于我是这方面的一个相对初学者,我事先为任何潜在的不明确表示歉意。我期待着提高清晰度,如果有任何建议,从感兴趣的读者和用户本论坛。

EN

回答 1

Stack Overflow用户

发布于 2022-07-21 10:14:53

我可以想出两种方法来克服这个问题。

方法1:

您可以使用Scheduled queries将新插入的行复制到第二个表中。您必须以这样的方式编写查询:它将始终从主表中选择最新的行,一旦有了,就可以使用Insert Into语句在第二个表中追加行。

由于Schedule queries在特定的时间运行,唯一的缺点是第二个表不会在主表中有新行时立即更新,所以每当计划的查询运行时,它都会得到最新的数据。

如果您不希望总是在第二个表中拥有最新的数据,那么这种方法是更容易实现的。

办法2:

您可以触发Cloud Actions for BigQuery events,如Insert、delete、update等。每当在主表中插入新行时,使用Cloud ,您可以将新数据插入到第二个表中。您可以遵循这个文章,这里给出了一个详细的解决方案。

如果您希望将最新的数据始终放在您的第二个表中,那么这将是一个很好的方法。

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

https://stackoverflow.com/questions/73061037

复制
相关文章

相似问题

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