【发布时间】:2019-02-15 18:06:24
【问题描述】:
我们目前在各个团队的大查询中有几个授权视图
目前,我们在查询中使用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>
但是,由于我们拥有的用户和数据的数量,很难保持大型查询脚本的质量,导致我们随着用户数量的相对增加而增加了查询成本。
我知道我们可以在创建TABLEs 时使用--require_partition_filter (reference)。那么,有人可以帮我解决以下问题
- 当我使用上述过滤器创建表时,由于在表级别启用了分区过滤器,引用的视图是否也会预期分区条件?
- 由于与我们拥有的表相关联的授权视图的数量,需要付出巨大的努力才能将其更改为物化视图(表)。是否有另一种方法可以在视图级别应用类似/使用类似
--require_partition_filter的东西?
仅供参考,对于想要使用上述过滤器更新当前表的人,我看到我们可以使用我计划用于现有分区表的bq update 命令 (reference)。
【问题讨论】:
标签: google-cloud-platform google-bigquery