BigQuery 中 _PARTITIONDATE 与 _PARTITIONTIME 伪列的使用

2024-06-20

在官方的最佳实践中我found https://cloud.google.com/bigquery/docs/best-practices-costs:

按日期对表进行分区并查询相关分区;例如,WHERE _PARTITIONDATE="2017-01-01" 仅扫描 2017 年 1 月 1 日分区

我开始使用_PARTITIONDATE伪列相当多,因为我发现以这种方式编写查询更容易,与_PARTITIONTIME列并应用TIMESTAMP()函数到我的日期,如下所示example https://cloud.google.com/bigquery/docs/querying-partitioned-tables:

WHERE _PARTITIONTIME = TIMESTAMP('2016-03-28')

我想知道我是否应该继续使用_PARTITIONDATE- 因为我无法找到更多有关它的文档。另外,与_PARTITIONTIME它不会在基于网络的 BigQuery SQL 编辑器中突出显示语法。

是官方的青睐方式_PARTITIONTIME over _PARTTIONDATE?


_PARTITIONDATE未记录,因为它与已发布的功能不对应。你应该使用_PARTITIONTIME除非我们宣布一项新功能发行说明 https://cloud.google.com/bigquery/docs/release-notes.

WHERE _PARTITIONTIME = TIMESTAMP('2016-03-28')

完全一样

WHERE _PARTITIONTIME = '2016-03-28'

The _PARTITIONTIME列是时间戳,因此后一个示例右侧的字符串文字被强制为时间戳。在语法突出显示方面,当前的 UI 在识别内置函数方面存在一些限制,但即将推出的 UI 刷新有望解决该问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BigQuery 中 _PARTITIONDATE 与 _PARTITIONTIME 伪列的使用 的相关文章

随机推荐