BigQuery允许您创建日期分区表: https://cloud.google.com/bigquery/docs/creating-partitioned-tables
我希望能够在日期分区表之上创建视图,理想情况下仍然可以获得性能优势。我读过的所有内容都表明这是不可能的?
否则有人有运气吗?
答案 0 :(得分:12)
定义视图以公开分区伪列,如下所示:
SELECT *, EXTRACT(DATE FROM _PARTITIONTIME) AS date
FROM Date partitioned table;
现在,如果您使用date
上的过滤器查询视图,它将限制读取的分区。
答案 1 :(得分:2)
对于尝试使用通配符分区日期表(例如Firebase或Google Analytics(分析))的任何人:
create view some.view as (
select *, _TABLE_SUFFIX as suffix from
`firebase-public-project.analytics_153293282.events_*`
)
select * from some.view WHERE suffix = '20180814'