Google bigquery BigQuery、日期分区表和decorator
我熟悉使用表装饰器来查询表,例如,一周前查询表或查询在特定日期范围内插入的数据 引入日期分区表后,显示了一个名为Google bigquery BigQuery、日期分区表和decorator,google-bigquery,decorator,Google Bigquery,Decorator,我熟悉使用表装饰器来查询表,例如,一周前查询表或查询在特定日期范围内插入的数据 引入日期分区表后,显示了一个名为\u PARTITIONTIME的伪列。使用日期装饰器语法,可以将记录添加到表中的某个分区 我想知道在幕后是否也使用了伪列\u PARTITIONTIME来支持表装饰器或类似的东西 如果是,是否可以访问/更改它,就像我们对分区表的伪列所做的那样 它叫\u PARTITIONTIME还是\u INSERTIONTIME?当然,两者都不起作用。:) 首先检查是否确实通过读取分区对表进行了分
\u PARTITIONTIME
的伪列。使用日期装饰器语法,可以将记录添加到表中的某个分区
我想知道在幕后是否也使用了伪列\u PARTITIONTIME
来支持表装饰器或类似的东西
如果是,是否可以访问/更改它,就像我们对分区表的伪列所做的那样
它叫
\u PARTITIONTIME
还是\u INSERTIONTIME
?当然,两者都不起作用。:) 首先检查是否确实通过读取分区对表进行了分区
SELECT TIMESTAMP(partition_id)
FROM [dataset.partitioned_table$__PARTITIONS_SUMMARY__]
如果不是,您将得到错误:无法从未分区的表中读取分区信息
然后是另一个重要步骤:要选择\u PARTITIONTIME
的值,必须使用别名
SELECT
_PARTITIONTIME AS pt,
field1
FROM
mydataset.table1
但当您在非强制的地方使用时,仅当它在select中时才使用
#legacySQL
SELECT
field1
FROM
mydataset.table1
WHERE
_PARTITIONTIME > DATE_ADD(TIMESTAMP('2016-04-15'), -5, "DAY")
您可以使用decorator始终引用一个分区表:
mydataset.table$20160519
谢谢。您描述了分区表中_PARTITIONTIME的主要用法。我想问一下表装饰器的等价物,它允许我们根据记录的插入时间来访问记录。它是否也围绕隐藏/伪列旋转?可以去吗?怎么用?谢谢没有为表装饰器记录任何实现细节,所以这个问题无法回答,但很可能他们没有使用您可以修改的列。