问题描述
时间戳 sessionID elementID 值
logs 表在 timestamp 列上分区。
我用它创建了一个物化视图:
create materialized view X
partition by date(new_timestamp)
as
select min(timestamp) as new_timestamp,sessionID,elementID,sum(value) as sumvalue
from logs
group by sessionID,elementID
我收到错误“物化视图的分区列必须与基表的分区列或伪列匹配,或者是它的 TIMESTAMP_Trunc。”
BigQuery doc 说对物化视图进行分区的唯一方法是使用与主表完全相同的分区列,甚至不接受列上的 min() 运算符。尽管有这个限制,你知道我如何才能达到我想要的结果吗?
解决方法
重新审视您的问题给了我一个简单的答案:直接使用 timestamp
!
实际上,您将仅在物化视图中存储 min(timestamp)
。因此,数据的分区/分片将通过时间戳、最小值或最大值来完成,这不是目的!