是否可以使用' $'来访问标准SQL中的BigQuery分区。设计师吗?

时间:2016-11-16 17:31:10

标签: google-bigquery

在Google BigQuery中,我在使用标准SQL查询分区表时尝试使用$装饰器。我认为这应该允许我像在传统SQL中那样访问分区和表元数据,但它似乎不能在标准SQL中工作。

以下两个查询都返回Error: Table "dataset.partitioned_table$___" cannot include decorator

1)直接访问分区:

#StandardSQL
SELECT a, b, c
FROM `mydataset.partitioned_table$20161115`

2)访问表格元数据:

#StandardSQL
SELECT partition_id
FROM `mydataset.partitioned_table$__PARTITIONS_SUMMARY__`;

第一个查询的明显解决方法是使用_PARTITIONTIME伪列:

#StandardSQL
SELECT a, b, c
FROM mydataset.partitioned_table
WHERE _PARTITIONTIME = '2016-11-15'

但是,我还没有能够找到第二个查询的解决方法,这对于检索最新的分区很有用(尽管使用该信息实际查询最新的分区似乎也被破坏了。请参阅:{ {3}})

1 个答案:

答案 0 :(得分:2)

StandardSQL目前不支持使用装饰器获取分区摘要。我们正计划在这个领域开展一些工作,但是当可能的时候我们还没有ETA。现在最快的选择是使用旧SQL在T$__PARTITIONS_SUMMARY__上运行查询。