我想将原始表与来自BQ中Firebase的事件的原始数据进行聚类,但不重新处理/创建另一个表(将成本保持在最低水平)。 主要思想是找到一种从日间表创建表时对其进行聚类的方法。
我尝试创建具有预定义架构的空表(与以前的事件表相同),但是按_partition_time
列进行分区(NULL分区),并按event_name
列进行群集。
Firebase插入了日内表中的所有数据后,列event_name
作为簇字段保留在表的“详细信息”选项卡中,但查询后不会减少费用。
还有什么其他解决方案或方法可以使其起作用?
谢谢。
/编辑: 我们的表的详细信息标签为: detail tab of table
运行此查询后:
SELECT * FROM 'ooooooo.ooooooo_ooooo.events_20181222'
WHERE event_name = 'screen_view'
结果是: how query processed whole table
因此不会降低成本。
但是,如果我尝试通过以下方式手动创建由event_name聚集的同一表:
Create TABLE 'aaaa.aaaa.events_20181222'
partition by DATE(event_timestamp)
cluster by event_name
AS
Select * from ooooooo.ooooooo_ooooo.events_20181222
然后,来自第一个IMG的相同查询仅应用于创建的表进程5mb-因此群集确实有效。