1

在传统的数据建模中,我创建每小时和每天的汇总表来减少数据存储并提高查询响应时间。但是,尝试创建类似的汇总表很容易遇到“响应太大而无法返回”错误。使用 BigQuery 创建汇总表的推荐方法是什么?我需要减少数据以降低存储和查询的成本。

谢谢!

4

2 回答 2

1

最近宣布的 BigQuery 功能可提供大量结果!

现在您可以指定一个标志和一个目标表。任意大小的结果将存储在指定的表中。

https://developers.google.com/bigquery/docs/queries#largequeryresults

于 2013-06-12T02:06:08.197 回答
0

听起来您将所有数据附加到一个表中,然后想要创建较小的表来查询......对吗?

一种选择是将数据加载到每小时切片中,然后通过使用 write_disposition=WRITE_APPEND 执行表复制操作来创建每日表和“所有”表。或者,您可以在查询中使用多个表。例如select foo from table20130101,table20130102,table20130102. (请注意,这不执行连接,它执行 UNION ALL。这是 bigquery 查询语法的一个怪癖)。

如果很难更改表的布局,则目前不支持更大的查询结果大小,但这是我们最需要的功能之一,我们将其列为高优先级。

此外,创建较小的表不一定会提高查​​询性能,因为 bigquery 会尽可能并行处理查询。它不会降低存储成本,除非您只存储表的一部分。当然,它会降低查询的成本,因为对更大的表运行查询会更昂贵。

如果您更多地描述您的场景,我可能会提供更具体的建议。

于 2013-05-01T20:12:59.147 回答