创建实时聚合投影

您可以使用以下语法定义一个实时聚合投影:


=> 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;

有关详细讨论,请参阅实时聚合投影示例

要求

以下要求适用于实时聚合投影:

  • 投影不能未分段。

  • SELECTGROUP BY 列的顺序必须相同。GROUP BY 表达式必须在 SELECT 列表的开头。

限制

以下限制适用于实时聚合投影:

  • 如果在具有实时聚合投影的目标表上执行 MERGE 操作,则这些操作必须优化

  • 实时聚合投影只能引用一个表。

  • Vertica 不会将实时聚合投影视为超投影,即使是包含所有表格列的投影也是如此。

  • 您不能修改实时聚合投影中包含的列的锚表元数据,例如列的数据类型或默认值。您也不能删除这些列。要进行这些更改,首先删除与表关联的所有实时聚合和 Top-K 投影。