BigQuery:查询时间每个分区的分区表行计数为0字节(免费)

时间:2019-04-25 00:12:06

标签: google-bigquery

使用摄取时间分区表,可以免费查询每个分区的行数。字节计费为0。

SELECT DATE(_PARTITIONTME) AS dd, COUNT(*) FROM ds.ingestion_time_partitioned GROUP BY dd
# free

对于基于列的时间分区表,等效查询的费用与我希望在该列中读取的费用相同(不是免费的)。

SELECT DATE(_timestamp) AS dd, COUNT(*) FROM ds.column_time_partitioned GROUP BY dd
# not free

有没有办法运行第二个查询,所以它是免费的?我有点假设这两个表的结构相似,因此无论什么元数据允许第一个查询都是免费的,

1 个答案:

答案 0 :(得分:3)

这对于基于列的分区表是不可能的。在第一个查询中,您选择的是伪列_PARTITIONTIME(而不是表中包含数据的任何列),而在第二个查询中,您选择的是名为_timestamp的分区列,这会因为读取数据而产生费用。

https://cloud.google.com/bigquery/docs/querying-partitioned-tables