google-cloud-platform - 要求 BigQuery 视图上的分区过滤器
问题描述
我们目前在各个团队的大查询中有几个授权视图
目前,我们partition_date
在查询中使用列来减少处理的数据量(参考)
#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
(参考TABLEs
) 。那么,有人可以帮我解决以下问题吗
- 当我使用上述过滤器创建表时,由于在表级别启用了分区过滤器,引用的视图是否也会预期分区条件?
- 由于与我们拥有的表相关联的授权视图的数量,需要付出巨大的努力才能将其更改为物化视图(表)。
--require_partition_filter
是否有另一种方法可以在视图级别应用类似/使用的东西?
仅供参考,对于想要使用上述过滤器更新当前表的人,我看到我们可以使用我计划用于现有分区表的bq update
命令(参考)。
解决方案
- 是的,对通过视图查询的表有同样的限制。
- 那没有。
推荐阅读
- python - Python:随着时间的推移将相同的对象分配给相同的标签
- .net - SQL Server Windows 身份验证不受信任域
- go - golang 中 init() 和 sync.Once 的区别
- mysql - 运行 SQL 脚本时错误使用空间/全文/哈希索引和显式索引顺序
- sql - 带有 dateadd 的 T-SQL 存储过程失败
- java - Integer.MIN_VALUE 除以 -1
- r - 如何使用 dplyr 连接两个数据框以聚合同一列的值?
- postgresql - Postgres 在 JSONB 日期时间字符串上创建索引,使用 to_timezone 格式
- barcode - 页脚中的 itext7 条码
- haskell - 为什么将具体类型传递给函数可以解决错误?