微毂 2022-01-26 14:44 采纳率: 0%
浏览 15

flink SQL over+win

flink sql 怎么求每小时开窗内数据多分组的占比,或者不用SQL也行

img

  • 写回答

1条回答 默认 最新

  • IT阿沈 2022-01-26 15:31
    关注

    使用TUMBLE进行每小时的数据固定开窗,然后select 中进行具体的计算就可以了,具体的代码可以参考下面的:

    select 
    ename
    ,sal
    ,deptno
    ,sal/(sum(sal) over(partition by deptno)) --个人业绩占比
    ,sum(sal) over(partition by deptno) salsum --部门总业绩
    ,DATE_FORMAT(TUMBLE_START(rowtime, INTERVAL '1' HOUR),'yyyy-MM-dd HH:mm:ss') as start_time --开窗的开始时间
    ,DATE_FORMAT(TUMBLE_END(rowtime, INTERVAL '1' HOUR),'yyyy-MM-dd HH:mm:ss') as end_time  --开窗的结束时间
    from emp
    group by 
    TUMBLE(rowtime, INTERVAL '1' HOUR)
    
    评论

报告相同问题?

问题事件

  • 创建了问题 1月26日