【问题标题】:BigQuery, Wildcard table over non partitioning tables and field based partitioning tables is not yet supported尚不支持 BigQuery、非分区表上的通配符表和基于字段的分区表
【发布时间】: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。'

我尝试了不同类型的选择和聚合,但错误无法修复。我只想查询该时间范围内的所有表。

【问题讨论】:

    标签: google-bigquery


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-20
      • 1970-01-01
      • 2018-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多