【发布时间】:2013-09-04 08:38:56
【问题描述】:
我们是一家将事件(每天最多 1 个千兆事件)存储到 bigquery 的游戏公司。事件按月和应用程序进行分片,以降低查询成本。
现在我们的问题。
我们当前的解决方案支持添加新类型的事件,从而产生新版本的表架构。此版本也已添加到表格中。
即events_app1_v2_201308 和 events_app1_v2_201308
如果我们在 9 月添加具有新列类型的事件,我们还将获得 events_app1_v3_201309
我们编写了代码来找出涉及的表(对于一个日期范围),并将它们合并为一个 bigquery 的逗号分隔的 FROM 子句。
但我刚刚意识到,当我们对不同版本的事件表进行联合时,这将不起作用。
任何人都知道如何处理这个问题!?
现在我们正在研究 JSON 结构是否可以帮助我们。当前的解决方案只是平柱。 [时间戳,eventId,值,值,值,...]
来自https://developers.google.com/bigquery/query-reference#from
注意:与许多其他基于 SQL 的系统不同,BigQuery 使用逗号语法来表示表联合,而不是联合。这意味着您可以使用兼容的 !? 架构对多个表运行查询,如下所示:
【问题讨论】:
标签: google-bigquery