创建实时聚合投影
您可以使用以下语法定义一个实时聚合投影:
=> CREATE PROJECTION proj-name AS
SELECT select-expression FROM table
GROUP BY group-expression;
有关完整的语法选项,请参阅CREATE PROJECTION。
例如:
=> CREATE PROJECTION clicks_agg AS
SELECT page_id, click_time::DATE click_date, COUNT(*) num_clicks FROM clicks
GROUP BY page_id, click_time::DATE KSAFE 1;
有关详细讨论,请参阅实时聚合投影示例。
要求
以下要求适用于实时聚合投影:
限制
以下限制适用于实时聚合投影:
-
如果在具有实时聚合投影的目标表上执行 MERGE 操作,则这些操作必须优化。
-
实时聚合投影只能引用一个表。
-
Vertica 不会将实时聚合投影视为超投影,即使是包含所有表格列的投影也是如此。
-
您不能修改实时聚合投影中包含的列的锚表元数据,例如列的数据类型或默认值。您也不能删除这些列。要进行这些更改,首先删除与表关联的所有实时聚合和 Top-K 投影。
注意
一个例外情况是:您可以在实时聚合投影包含的列中设置和删除 NOT NULL。