You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by 李乐 <ll...@163.com> on 2022/09/11 15:16:50 UTC

partition

最近在使用flink1.12 的sql方式时,发现ROW_NUMBER去重的结果不符合预期。具体表现为:当在第二天有新的optime出现时,下发的时间却还是昨天日志中的optime,看到官方文档中说该去重函数只支持单个的时间属性 排序/降序,所以不知是否我自己的sql中使用了两个字段排序造成的?代码如下,大佬帮忙看看:




SELECT
                    pk_id, 
                    optime_timestamp,
                    process_time
                FROM (
                    SELECT
                        pk_id,
                        process_time,
                        CAST(optime / 1000 AS BIGINT) AS optime_timestamp,
                        ROW_NUMBER() OVER(PARTITION BY pk_id ORDER BY FROM_UNIXTIME(CAST(optime / 1000 AS BIGINT), 'yyyyMMdd') DESC, optime) AS rn
                    FROM 
                        tabke_a
                ) t
                WHERE                  

  rn = 1