flink 相关

计算flink的时候可以有一个旁流的概念
 
 使用底层的process算子,就可以获取到一个ctx 的,可以在map的时候往里写东西
 
 在 main stream上面可以通过 getSideOutput 来获取到这个流,对他进行流的处理
 
 ===============================
 tumbling timeWindow
 timeWindow(Time.minutes(1))       每一分钟算一次
 
 Sliding timeWindow
 timeWindow(Time.minutes(1), Time.seconds(30))        每30秒一次,追溯前1分钟
 
 
 session window就是说有多少时间没有消息来了,就算断开了
 
 窗口就是说不满足窗口条件的就剔除了
 
 有三种时间,process time, ingestion time,event time ,分别对应于   flink处理得时间,  进入系统得时间,   时间产生得时间
 如果想用event时间有两种办法,在source当中定义且发出watermark
 或者定义专门得watermarker
 
 
 trigger就是看满足什么样条件的时候进行一次计算, evict就是说在trigger后计算之前, 怎么把无效的数据删除
 这边的例子就是,车子每开出50,就算一下1秒内的最快速度
 
 watermark其实就相当于在一群不保序得时间当中插入一些间隔
 
 
 return grades.join(salaries)
    .where(new NameKeySelector())
    .equalTo(new NameKeySelector())

    .window(TumblingEventTimeWindows.of(Time.milliseconds(windowSize)))

    .apply(new JoinFunction<Tuple2<String, Integer>, Tuple2<String, Integer>, Tuple3<String, Integer, Integer>>() {

        @Override
        public Tuple3<String, Integer, Integer> join(
                        Tuple2<String, Integer> first,
                        Tuple2<String, Integer> second) {
            return new Tuple3<String, Integer, Integer>(first.f0, first.f1, second.f1);
        }
    });
这个可以进行一些拼接的操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值