能否将含STRING_AGG的BigQuery查询转为MATERIALIZED VIEW?
问题解答
不能直接基于包含STRING_AGG的查询创建BigQuery物化视图——BigQuery的物化视图目前确实不支持STRING_AGG这类字符串聚合函数,这是官方明确的功能限制。
不用非得在数据导入BigQuery前做聚合处理,给你两个可行的替代方案:
用调度查询生成实体表
写一个定时执行的查询,把原SQL的结果写入普通表,同事直接在Looker里用这个表做报表就行。示例SQL如下:CREATE OR REPLACE TABLE `<your-project>.your_dataset.movie_actors_agg` AS SELECT a.MovieId, STRING_AGG(FullName) AS Actors FROM `<snip>.movies` a INNER JOIN `<snip>.movie_actors` b ON a.movieId = b.movieId GROUP BY a.movieId你可以在BigQuery控制台设置这个查询的调度频率(比如每天凌晨执行一次),保证数据定期更新。
如果数据更新频率极低
可以手动执行一次上述SQL生成表,之后只在数据有更新时重新运行即可,适合数据很少变动的场景。
内容的提问来源于stack exchange,提问作者Pure.Krome
相关产品推荐
相关产品推荐

