【发布时间】:2017-10-11 03:00:23
【问题描述】:
我们在 bigquery 中有两个表:一个很大(几十亿行),以“每天一个表”为基础,另一个是日期分区的,具有完全相同的架构,但只有一小部分行(约 1 亿行)。
我想在小型分区数据集上运行一个(标准 SQL)查询,其中包含一个连接形式的子选择(当子选择位于 where 子句中时也是如此)。我无法运行它,因为超过了第 1 层。 如果我在大数据集(包含我需要的数据和许多其他数据)上运行相同的查询,它运行良好。 我不明白这是为什么。 是不是因为:
- 分区表需要更多资源来查询
- Bigquery 有一些内部规则,即处理的数据与所需资源的比率必须达到某个阈值,即在我需要的资源量的情况下查询小数据集时我支付的费用不够。
如果 1. 为真,我们可以简单地使小数据集也以“每天表”为基础,以解决问题。但在我们这样做之前,虽然我们想知道它是否真的能解决我们的问题。
查询详情:
- 大数据集
查询 11 GB,运行 50 秒,作业 ID remilon-study:bquijob_2adced71_15bf9a59b0a
- 小数据集
工作 ID remilon-study:bquijob_5b09f646_15bf9acd941
【问题讨论】:
标签: google-bigquery