【发布时间】:2021-01-13 19:00:34
【问题描述】:
我们正在尝试使用 ARRAY_AGG 作为 MATERIALIZED 视图的模式,以获取给定 productId 的“最新”产品事件。
下面的 SQL 是一种标准模式(本网站上有详细记录)并且可以自行运行,但在 BigQuery MV 的上下文中,会失败并出现附加错误。
我们本质上想在物化视图上使用这种类型的 SQL,其中“最新”由 BQ MV 增量更新,而不是替代计划查询来重新处理 product_events 中的所有事件?
CREATE MATERIALIZED VIEW `project.product_events_latest`
AS
SELECT
ARRAY_AGG(
e ORDER BY PARSE_TIMESTAMP("%Y-%m-%dT%H:%M:%E*S%Ez", event.eventOccurredTime) DESC LIMIT 1
)[OFFSET(0)].*
FROM
`project.product_events` e
GROUP BY
e.productEvent.product.id
我不确定不支持的功能是什么,是否有办法重新编写以使其以不同的方式工作,或者还不可能?任何帮助表示赞赏!
【问题讨论】:
标签: google-bigquery