在BigQuery视图上需要分区过滤器

时间:2018-09-11 09:08:35

标签: google-cloud-platform google-bigquery

在针对各个团队的大型查询中,我们目前有几个授权视图

当前,我们在查询中使用partition_date列以减少处理的数据量(reference

#standardSQL
SELECT
  <required_fields,...>, 
  EXTRACT(DATE FROM _PARTITIONTIME) AS partition_date
FROM
  `<project-name>.<dataset-name>.<table-name>`
WHERE
  _PARTITIONTIME >= TIMESTAMP("2018-05-01")
  AND _PARTITIONTIME <= CURRENT_TIMESTAMP()
  AND <Blah-Blah-Blah>

但是,由于我们拥有的用户和数据数量,很难维护大型查询脚本的质量,从而导致随着用户数量的增加而导致查询成本增加。

我看到创建--require_partition_filter时可以使用TABLEsreference)。所以,有人可以帮我解决以下问题吗?

  • 当我使用上述过滤器创建表时,由于在表级别启用了分区过滤器,因此引用的视图是否也会期望分区条件?
  • 由于连接到表的授权视图数量众多,因此需要做出很大的努力才能将其更改为实体化视图(表)。有没有其他方法可以在视图级别应用类似{/ {1}}的类似/用法?

仅供参考,对于要使用上述过滤器更新当前表的人,我看到我们可以使用我打算用于现有分区表的--require_partition_filter命令(reference)。

1 个答案:

答案 0 :(得分:1)

  1. 是的,对通过视图查询的表也有相同的限制。
  2. 没有。