You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在BigQuery中采用嵌套时间序列是否合适?多品类商品时序分析场景

两种表结构在Looker时序可视化场景下的对比

方案一:带时间分区、以category+product为聚类键的普通表

  • 适配Looker常规操作:Looker对扁平化表结构支持最好,直接把time、category、product、sales拖进可视化面板,就能自动生成所有商品×品类的时序线,无需额外处理嵌套数据
  • 查询性能更优:时间分区能让按时间范围筛选的查询只扫描对应分区的数据,category+product作为聚类键,可减少筛选特定品类/商品时的数据扫描量,在Looker里频繁切换筛选条件时响应更快
  • 维护成本低:增量数据直接追加到对应分区即可,无需重新聚合计算,日常更新更省心
  • 小缺点:category和product字段会随每条时间记录重复存储,但当前数据仓库存储成本极低,基本可忽略

方案二:嵌套结构表(通过ARRAY_AGG生成时序数组)

  • 存储更紧凑:每个category+product组合仅存一条记录,时序数据嵌套在数组里,减少了重复字段的存储量
  • 劣势更突出:
    • Looker对嵌套数组支持有限,要做时序图必须先把数组展开为单条记录,需在LookML中编写自定义逻辑或SQL处理,增加了模型复杂度
    • 交互式查询效率低:在Looker中筛选特定时间范围时,必须先展开整个数组再过滤,无法利用分区表优势,查询速度会变慢
    • 更新麻烦:有增量数据时,要么全量重新聚合生成数组,要么编写复杂逻辑合并新旧数组,日常维护成本高

总结下来,优先选择方案一的普通分区聚类表。它完全贴合Looker的可视化工作流,能快速实现多品类多商品时序趋势查看需求,查询和维护都更省心。除非数据更新极少且对存储成本极其敏感,否则不建议选方案二。

内容的提问来源于stack exchange,提问作者Khanetor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 18:32:19