尚不支持 BigQuery、非分区表上的通配符表和基于字段的分区表
Posted
技术标签:
【中文标题】尚不支持 BigQuery、非分区表上的通配符表和基于字段的分区表【英文标题】:BigQuery, Wildcard table over non partitioning tables and field based partitioning tables is not yet supported 【发布时间】:2021-04-07 14:24:54 【问题描述】:我正在尝试在 Bigquery 上使用标准 SQL 运行带有通配符表的简单查询。代码如下:
#standardSQL
SELECT dataset_id, SUM(totals.visits) AS sessions
FROM `dataset_*`
WHERE _TABLE_SUFFIX BETWEEN '20150518' AND '20210406'
GROUP BY 1
自 2015 年 5 月 18 日以来,我的分片数据集每天都包含一个表。所以今天的表格将是“dataset_20150518”。
错误是:'不支持非分区表和基于字段的分区表上的通配符表,第一个普通表 dataset_test,第一个列表 dataset_20150518。'
我尝试了不同类型的选择和聚合,但错误无法修复。我只想查询该时间范围内的所有表。
【问题讨论】:
【参考方案1】:这是因为在通配符中,您必须让所有表都具有相同的架构。在您的情况下,您还添加了 dataset_test
与其他架构不同的架构(dataset_test
是分区表?)
您应该能够通过删除 _test 和其他具有不同架构的表或运行此查询来解决此限制:
#standardSQL
SELECT dataset_id, SUM(totals.visits) AS sessions
FROM `dataset_20*`
WHERE _TABLE_SUFFIX BETWEEN '150518' AND '210406'
GROUP BY 1
Official documentation
【讨论】:
以上是关于尚不支持 BigQuery、非分区表上的通配符表和基于字段的分区表的主要内容,如果未能解决你的问题,请参考以下文章