Flink SQL 中的 Deduplication 是一种数据清洗方式,用于从数据流中去除重复的数据。Deduplication 可以提高数据的质量和准确性,也可以节省存储空间和提高性能。
SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (PARTITION BY key_col ORDER BY time_col) as row_num FROM source_table ) WHERE row_num = 1;
其中:
PARTITION BY:指定去重的维度,可以按照一个或多个字段或表达式进行分区ORDER BY:指定去重的顺序,必须是时间戳列(事件时间或处理时间)ROW_NUMBER:指定去重的策略,可以选择保留第一行或最后一行WHERE:指定去重的条件,只保留
row_num = 1 的数据
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70024433/viewspace-2965750/ ,如需转载,请注明出处,否则将追究法律责任。