相关疑难解决方法(0)

如何在BigQuery表中选择最新的分区?

我试图从日期分区的BigQuery表中的最新分区中选择数据,但查询仍然从整个表中读取数据.

我试过(据我所知,BigQuery不支持QUALIFY):

SELECT col FROM table WHERE _PARTITIONTIME = (
  SELECT pt FROM (
    SELECT pt, RANK() OVER(ORDER by pt DESC) as rnk FROM (
      SELECT _PARTITIONTIME AS pt FROM table GROUP BY 1)
    )
  )
  WHERE rnk = 1
);
Run Code Online (Sandbox Code Playgroud)

但这不起作用并读取所有行.

SELECT col from table WHERE _PARTITIONTIME = TIMESTAMP('YYYY-MM-DD')
Run Code Online (Sandbox Code Playgroud)

'YYYY-MM-DD'特定日期在哪里工作.

但是,我需要在将来运行此脚本,但表更新(和_PARTITIONTIME)是不规则的.有没有办法只从BigQuery的最新分区中提取数据?

google-bigquery

7
推荐指数
4
解决办法
6025
查看次数

标签 统计

google-bigquery ×1