我们正在尝试使用 BigQuery 来分析我们的软件应用程序生成的用户数据。
我们的工作表包含数亿行,每行代表一个唯一的用户“会话”。每个都包含时间戳、UUID 和其他字段,用于描述用户在该会话期间与我们产品的交互。我们目前每天生成大约 2GB 的数据(约 1000 万行)。
每隔一段时间,我们可能会针对整个数据集运行查询(现在大约需要 2 个月,并且还在增长),但是典型的查询只会跨越一天、一周或一个月。我们发现随着表的增长,我们的单日查询变得越来越昂贵(正如我们在 BigQuery 架构中所期望的那样)
更有效地查询数据子集的最佳方法是什么?我能想到的一种方法是按天(或周、月等)将数据“分区”到单独的表中,然后在一个联合中一起查询它们:
SELECT foo from
mytable_2012-09-01,
mytable_2012-09-02,
mytable_2012-09-03;
有没有比这更好的方法???