什么是Flink 的侧输出

flink处理数据流时,经常会遇到这样的情况:处理一个数据源时,往往需要将该源中的不同类型的数据做分割(分流)处理,假如使用 filter算子对数据源进行筛选分割的话,势必会造成数据流的多次复制,造成不必要的性能浪费;

flink中的侧输出,就是将数据流进行分割,而不对流进行复制的一种分流机制。flink的侧输出的另一个作用就是对延时迟到的数据进行处理,这样就可以不必丢弃迟到的数据;

简单理解就是,根据业务上的一定规则,将一个源中的数据拆分成不同的流,即主流和侧输出流;

举例来说,源数据流中有一批监控某流水线传感器温度的数据,我们需要将这批数据按照30为一个基准进行拆分,业务上更加关注的是超过30度的数据,因此可以作为主流输出,而低于30度的数据并不想丢弃,因此作为侧输出流,在侧输出流中做后续的处理,下面来看具体的代码演示,

import com.congge.source.SensorReading;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.api.functions.ProcessFunct

Flink 侧输出流使用相关推荐

  1. 大数据(9e)Flink侧输出流

    文章目录 概述 环境 OutputTag介绍 实现分流 处理迟到数据 处理关窗之后到达的数据 概述 窗口允许迟到的数据,但仍有数据在关窗后到达 Flink提供了侧输出流(sideOutput)来处理关 ...

  2. Flink——Side Output侧输出流

    主要内容: 结合应用场景,介绍Flink侧输出流的使用流程和原理 在处理数据的时候,有时候想对不同情况的数据进行不同的处理,那么就需要把数据流进行分流.可以在主数据流上产生出任意数量额外的侧输出流. ...

  3. flink 处理迟到数据(Trigger、设置水位线延迟时间、允许窗口处理迟到数据、将迟到数据放入侧输出流、代码示例、迟到数据触发窗口计算重复结果处理)

    文章目录 前言 1.Trigger 2.处理迟到数据 2.1 设置水位线延迟时间 2.2 允许窗口处理迟到数据 2.3 将迟到数据放入侧输出流 3.实操 3.1 代码示例 3.2 中间遇到的异常 3. ...

  4. Flink之乱序处理,时间语义,WaterMark,允许迟到数据,侧输出流

    一.理解Flink的乱序问题 理解Flink的乱序问题,的先理解Flink的时间语义. Flink有3中时间语义:Event Time:事件创建的时间Ingestion Time:数据进入Flink的 ...

  5. 侧输出流简单应用-打印的完整流程

    1.添加运行环境和设置时间语义 如果是迟到数据处理就只能在事件时间语义下使用,如果是一般数据使用侧输出流就看业务需求是按什么条件进行分流eg:如果按照数据中的温度进行划分高温流和低温流,可以直接使用处 ...

  6. 进阶大数据架构师学习路线

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/25b820fe1d054f53bab70310694faffe.jpeg#pic_center 文末有惊喜 大数据架 ...

  7. Flink迟到数据输出到测输出流

    一.迟到的数据如何处理? Event Time语义下我们使用Watermark来判断数据是否迟到.一个迟到元素是指元素到达窗口算子时,该元素本该被分配到某个窗口,但由于延迟,窗口已经触发计算.目前Fl ...

  8. flink 自定义 窗口_Flink入门实战 (下)

    一. 时间语义与 Wartermark 1. Flink 中的时间语义 在 Flink 的流式处理中,会涉及到时间的不同概念,如下图所示: Event Time:是事件创建的时间.它通常由事件中的时间 ...

  9. 腾讯基于 Flink SQL 的功能扩展与深度优化实践

    简介:本文由腾讯高级工程师杜立分享,主要介绍腾讯实时计算平台针对 Flink SQL 所做的优化. 整理:戴季国(Flink 社区志愿者) 校对:苗文婷(Flink 社区志愿者) 摘要:本文由腾讯高级 ...

最新文章

  1. Java初学者习题20道(转)
  2. 使用ArcGIS JavaScript API 3.18 加载天地图
  3. mysql f_MySQL
  4. windows多用户 文件夹不共享_手把手教你如何使用Tekla多用户
  5. 百度SEO站群裕网云综合导航网html源码
  6. Spring自学日志02(对象的创建,依赖注入)
  7. 计算机组成原理—地址码
  8. yii2GridView的简单使用
  9. 基于 MVP+RxJava2+Retrofit2 的应用—熊猫眼
  10. 基于模拟退火算法求解TSP问题(JAVA)
  11. RSAC2020的PPT下载
  12. qt.qpa.plugin: Could not find the Qt platform plugin “xcb“ i
  13. 一款好用、易扩展的文件解析引擎,是怎么演变而来的
  14. 自恋的人脑袋有啥不一样?| 自恋型人格特质和前额脑结构
  15. 方法finalize()的应用
  16. 异常解决:cococaption包出现找不到edu.stanford.nlp.semgraph.semgrex.SemgrexPattern错误
  17. 2019该怎么学unity3D游戏开发?
  18. [Swift]LeetCode16. 最接近的三数之和 | 3Sum Closest
  19. 译码器设计——Verilog HDL语言
  20. Rainbow的站点流量统计分析

热门文章

  1. IPVS的OPS调度
  2. Esper学习之一:Esper介绍
  3. python定义函数后怎么输出_python中如何定义函数返回值
  4. 视频教程-2020年软考信息系统项目管理师考试基础知识(下)新考纲视频培训课程-软考
  5. mac切换jdk版本
  6. 排序算法(Learn to rank)的一些看法
  7. mysql浮标_vue 实现微信浮标效果
  8. python实现自动点赞——实践_2022-01-02
  9. 阿里云云主机:ECS/轻量/虚拟主机/GPU/云电脑详解
  10. 360浏览器人机交互