假设我们有一张桌子
CREATE TABLE
dataset.user_activity_log
(
partition_time DATE
, user_id STRING
, description STRING
, activity_id int64
)
PARTITION BY partition_time
OPTIONS(
description="partitioned by partition_time"
)
;
我进行了设置,以便我每天都在其中插入数据,
按活动ID进行排序。
稍后,我想根据partition_time
字段在一定时间范围内创建报告,并根据活动ID进行分组,将activity_id字段归类为帮助(可能不会用完)的内存)?
答案 0 :(得分:3)
这称为"Clustered Tables"和creating using DDL
摘要
PARTITION BY partition_time
CLUSTER BY
activity_id
OPTIONS (
也请阅读:Optimizing BigQuery: Cluster your tables
您需要通过activity_id对表进行进一步的聚类。如果遇到内存错误,请在新问题中发布架构,表大小,查询和查询计划,您将获得优化提示。