微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在聚合列上对 BigQuery 物化视图进行分区

如何解决在聚合列上对 BigQuery 物化视图进行分区

我有一个包含这些列的日志表:

时间戳 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)。因此,数据的分区/分片将通过时间戳、最小值或最大值来完成,这不是目的!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。