各位大佬:

  我看文档上建议使用的去重方式是用窗口函数
<https://ci.apache.org/projects/flink/flink-docs-master/dev/table/sql/queries.html#deduplication>

SELECT [column_list]FROM (
   SELECT [column_list],
     ROW_NUMBER() OVER ([PARTITION BY col1[, col2...]]
       ORDER BY col1 [asc|desc][, col2 [asc|desc]...]) AS rownum
   FROM table_name)WHERE rownum <= N [AND conditions]


但是我看 Flink SQL 里还有个 first_value, laste_value,也能实现同样的目标。
请问这两者有什么区别吗,尤其是在 watermark  以及状态管理上?

Reply via email to