BigQuery - 列出日期分区表的分区?
Posted
技术标签:
【中文标题】BigQuery - 列出日期分区表的分区?【英文标题】:BigQuery - Listing partitions of the date partitioned table? 【发布时间】:2016-10-04 05:00:16 【问题描述】:查询 -- SELECT partition_id from Mydataset.Table$__PARTITIONS_SUMMARY__
;
给出以下错误——表“Mydataset.Table$PARTITIONS_SUMMARY”不能包含装饰器`
【问题讨论】:
【参考方案1】:在旧版 SQL 中尝试以下操作
SELECT project_id,
dataset_id,
table_id,
partition_id,
TIMESTAMP(creation_time/1000) AS creation_time
FROM [Mydataset.Table$__PARTITIONS_SUMMARY__]
标准 SQL 及以下
SELECT _PARTITIONTIME as pt
FROM `Mydataset.Table`
GROUP BY 1
这也适用于旧版 SQL
SELECT _PARTITIONTIME as pt
FROM [Mydataset.Table]
GROUP BY 1
【讨论】:
谢谢,它有效。 Big Query 文档说 partition_id 应该可以工作,但不知道为什么会出现该错误,我注意到从日期分区中选择查询的相同错误。 我认为这只适用于摄取时间分区的表。 OP 在询问日期分区 @SteveFaiwiszewski - 在投反对票之前 - 检查提出问题的年份以及该问题被社区接受和相当赞成的事实 今天的答案仍然有效吗?我不这么认为。因此,今天的答案相当具有误导性。如果它在某个时候是正确的,那就无关紧要了。如果您想更新它以声明这不再适用,我将删除我的反对票。 @SteveFaiwiszewski - 不用担心。从只有 12 个答案的人的角度来看,您可能是对的。但对于回答超过 3600 个的人来说,这是不可行的 :o) 我建议您添加自己的答案来解决您在此处看到的相关性问题【参考方案2】:老问题,但有新答案
select partition_id
from `Mydataset.INFORMATION_SCHEMA.PARTITIONS`
where table_name = 'Table'
这是标准 sql,与使用 group by
相比,您的账单会少得多
【讨论】:
以上是关于BigQuery - 列出日期分区表的分区?的主要内容,如果未能解决你的问题,请参考以下文章