KSQL如何更新table的记录?

How does KSQL update table's records?

我读了这篇文章https://docs.confluent.io/current/ksql/docs/developer-guide/aggregate-streaming-data.html。似乎我不明白一件事。

在 COUNT 示例中,当新消息到达时,KSQL 会更新记录。这意味着 KSQL 知道如何找到特定的记录并更新它。有一个查询:

CREATE TABLE pageviews_per_region AS
  SELECT regionid,
         COUNT(*)
  FROM pageviews
  GROUP BY regionid
  EMIT CHANGES;

GROUP BY子句中的那个列名是帮助KSQL找到某条记录的吗?

That means that KSQL knows how to find the certain record so as to update it

是的,因为所有的流和表都有一个固有的模式,所以它们的字段被命名。

GROUP BY 子句与任何类似的 SQL 查询的操作相同,因为它定义了聚合投影,而 COUNT 是投影上的聚合函数