flink的侧输出(sideoutput)和OutputTag

2023-05-16

背景

    用flink做数据处理的时候,我们经常会想要将数据分成几类处理,或者有一批特殊数据需要单独处理。但是我们又想复用同一个流式任务,避免重复处理数据。

    这种需求,使用sideoutput完美解决。建议直接看官方文档就好了:https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/side_output.html

    官方github示例:https://github.com/apache/flink/blob/master/flink-examples/flink-examples-streaming/src/main/java/org/apache/flink/streaming/examples/sideoutput/SideOutputExample.java

小细节

    我们会发现OutputTag在实例化的时候是使用了匿名内部类。这个时候很容易一脸问号,为什么要用匿名内部类?后边加了两个大括号,啥都没干。。。

private static final OutputTag<String> rejectedWordsTag = new OutputTag<String>("rejected") {};

    其实这个是有用的,OutputTag有两个构造函数,当前用的这个构造函数只有一个参数,传入一个string,用来标识分流的数据是什么含义;另一个构造函数还可以传入一个TypeInformation对象,这个是用来说明分流的数据是什么类型的。

    使用单参数的构造函数,flink会自动推测TypeInformation,但是OutputTag带了泛型,在编译的时候会丢失这个信息,所以只能生成匿名内部类把泛型里的信息带上(推测,未验证)

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

flink的侧输出(sideoutput)和OutputTag 的相关文章

  • 关于Flink Time中的Watermaker案例的详解

    需求 自定义数据源 产出交易订单数据 设置基于事件时间窗口统计 1 交易订单数据 import lombok AllArgsConstructor import lombok Data import lombok NoArgsConstru
  • flink kafka 消费以及生产并行度设置

    相同点都是 前面并行度 后面并行度 也就是要求前面并行度 gt 后面并行度 1 flink consumer kafka数据 mod kafka partiton flink 并行度 1 1 kafka flink 并行度 一对一的关系 1
  • Flink CDC问题

    这里会列举出一些关键配置和遇到的问题 一直补充 Oracle CDC 1 SUPPLEMENTAL LOG在库和表上都需要执行 不是只有表上 ALTER TABLE inventory customers ADD SUPPLEMENTAL
  • 【大数据】Flink 详解(六):源码篇 Ⅰ

    本系列包含 大数据 Flink 详解 一 基础篇 大数据 Flink 详解 二 核心篇 大数据 Flink 详解 三 核心篇 大数据 Flink 详解 四 核心篇 大数据 Flink 详解 五 核心篇 大数据 Flink 详解 六 源码篇
  • 【Flink系列1】flink与spark的区别

    Flink简介 spark基本架构 flink基本架构 Spark提出的最主要抽象概念是弹性分布式数据集 RDD flink支持增量迭代计算 基于流执行引擎 Flink提供了诸多更高抽象层的API以方便用户编写分布式任务 1 DataSet
  • Flink 1.17教程:基本合流操作

    基本合流操作 在实际应用中 我们经常会遇到来源不同的多条流 需要将它们的数据进行联合处理 所以Flink中合流的操作会更加普遍 对应的API也更加丰富 联合 Union 最简单的合流操作 就是直接将多条流合在一起 叫作流的 联合 union
  • Flink 1.17教程:聚合算子(Aggregation)之按键分区(keyBy)

    聚合算子 Aggregation 计算的结果不仅依赖当前数据 还跟之前的数据有关 相当于要把所有数据聚在一起进行汇总合并 这就是所谓的 聚合 Aggregation 类似于MapReduce中的reduce操作 按键分区 keyBy 对于F
  • flink源码解析

    一 启动流程解析 flink的启动从命令行提交开始 yooh hadoop101 bin pwd home yooh app flink 1 11 1 bin yooh hadoop101 bin cat flink 上边都是获取环境配置相
  • Flink-cdc 同步mysql数据

    下载地址 https github com ververica flink cdc connectors releases 这里下载2 2 0版本 https github com ververica flink cdc connector
  • flink中AggregateFunction 执行步骤以及含义全网详细解释

    package operator import org apache flink api common functions AggregateFunction import org apache flink api common funct
  • 深入理解Flink的水位线

    Apache Flink是一个流处理框架 它支持事件时间和处理时间的概念 在处理流数据时 Flink通过水位线 Watermark 来追踪事件时间的进度 从而支持事件时间的操作 水位线是一种特殊的事件 它表示在此时间戳之前的所有事件都已经到
  • Flink State 和 Fault Tolerance详解

    有状态操作或者操作算子在处理DataStream的元素或者事件的时候需要存储计算的中间状态 这就使得状态在整个Flink的精细化计算中有着非常重要的地位 记录数据从某一个过去时间点到当前时间的状态信息 以每分钟 小时 天汇总事件时 状态将保
  • 基于Canal与Flink实现数据实时增量同步(一)

    点击上方蓝色字体 关注我 canal是阿里巴巴旗下的一款开源项目 纯Java开发 基于数据库增量日志解析 提供增量数据订阅 消费 目前主要支持了MySQL 也支持mariaDB 准备 配置MySQL的binlog 常见的binlog命令 是
  • Flink学习27:驱逐器

    import org apache flink api common eventtime SerializableTimestampAssigner WatermarkStrategy import org apache flink api
  • flink学习44:基于行的操作分组和窗口的聚合

  • Flink on Zeppelin-2

    Flink Interpreter类型 首先介绍下Zeppelin中的Flink Interpreter类型 Zeppelin的Flink Interpreter支持Flink的所有API DataSet DataStream Table
  • flink学习之state

    state作用 保留当前key的历史状态 state用法 ListState
  • Apache Flink(十五):Flink任务提交模式

    个人主页 IT贫道 大数据OLAP体系技术栈 Apache Doris Clickhouse 技术 CSDN博客 私聊博主 加入大数据技术讨论群聊 获取更多大数据资料 博主个人B栈地址 豹哥教你大数据的个人空间 豹哥教你大数据个人主页 哔哩
  • 【flink番外篇】5、flink的window(介绍、分类、函数及Tumbling、Sliding、session窗口应用)介绍及示例(1)- 窗口介绍、分类、函数

    Flink 系列文章 一 Flink 专栏 Flink 专栏 系统介绍某一知识点 并辅以具体的示例进行说明 1 Flink 部署系列 本部分介绍Flink的部署 配置相关基础内容 2 Flink基础系列 本部分介绍Flink 的基础部分 比
  • 大数据毕设分享 flink大数据淘宝用户行为数据实时分析与可视化

    文章目录 0 前言 1 环境准备 1 1 flink 下载相关 jar 包 1 2 生成 kafka 数据 1 3 开发前的三个小 tip 2 flink sql 客户端编写运行 sql 2 1 创建 kafka 数据源表

随机推荐

  • 程序员常用网站

    1J2me 开发网 http www j2medev com bbs index asp 2J2me 社区 http www j2meforums com forum 3csdn http www csdn net 4Vc 知识库 http
  • MATLAB加速技巧

    1 向量化 目的 xff1a 减少for循环的使用 96 nonVecl m clear all tic A 61 0 0 000001 10 B 61 0 0 000001 10 Z 61 zeros size A y 61 0 for
  • Linux 开启VNCSERVER

    一般 xff0c 通过ssh来远程连接linux服务器 xff0c 进行命令操作 但是没有图形化界面确实有些不太方便 xff0c 因此可以通过ssh来启动vnc ssh和vncserver以及vnc软件的安装这里就不再介绍 首先 xff0c
  • 从输入URL到网页显示,期间发生了什么(详解)

    从输入URL到网页显示 xff0c 期间都发生了什么 解析URL操作系统协议栈TCP封装IP封装MAC封装 网卡交换机路由器到达服务器 Internet上的每一个网页都具有一个唯一的名称标识 xff0c 通常称之为URL xff08 Uni
  • KuberSphere安装harbor的配置文件解读

    span class token comment 这个配置文件 xff0c 其实就是上面部分是harbor配置 xff0c 下面都是自定义的配置需要的镜像配置 span span class token comment 综合下来 xff0c
  • SLAM综述阅读笔记六:基于图像语义的SLAM调研:移动机器人自主导航面向应用的解决方案 2020

    转自 论文阅读 A survey of image semantics based visual simultaneous localization and mapping 语义视觉SLAM综述 知乎 A survey of image s
  • keil5怎么打开keil4工程,以及keil5怎么打包成keil4工程

    如何用keil5打开keil4工程 在keil5的环境下 xff0c 打开keil4的工程文件 xff0c 会弹出下图所示窗口 xff1a 一般选择第二种方法 xff1a Install Legacy Support 下载keil4的支持包
  • window 下docker Desktop 安装更新wsl 2

    报错描述 我们安装Docker Desktop的时候 他会问我们是否需要使用WSL2 基于Windows的Linux子系统 如果我们不适用 就会使用Hyper v虚拟机运行 不过相比于虚拟机 子系统在性能方面更加出色 在我们选择使用WSL2
  • GNU sed 多行合并成一行

    只适用于GNU 的sed工具 xff08 linux版本 xff09 xff0c 其他版本的不兼容 mac下可以使用brew intsall gsed 安装gnu sed 比如 xff1a 每2行合并成一行 sed n 39 1h 1 H
  • centos7防火墙(firewalld、iptables)

    一 firewalld和iptables netfilter iptables是集成在linux2 4 x版本内核中的包过滤防火墙系统 该框架可以实现数据包过滤 xff0c 网络地址转换以及数据包管理功能 linux中的防火墙系统包括两个部
  • 51单片机-宏晶STC程序调试、烧录、硬仿真

    内容包括STC单片机内部硬件介绍 xff08 寄存器 xff09 与程序的调试 硬仿真 xff0c STC15F硬仿真及其错误处理 xff0c MCS 51仿真介绍 xff0c 全自动下载介绍等 紫色文字是超链接 xff0c 点击自动跳转至
  • 12864液晶显示原理(C程序)

    内容包括液晶屏常识 xff0c 12864液晶显示原理 xff0c 点阵型LCD文字与图形软硬件设计实例 紫色文字是超链接 xff0c 点击自动跳转至相关博文 持续更新 xff0c 原创不易 xff01 目录 xff1a 一 12864液晶
  • 0x00000040指定的网络名不再可用怎么办?

    Win11提示打印机错误0x00000040指定的网络名不再可用怎么办 xff1f 有部分Win11用户遇到了操作无法完成 xff08 错误 0X00000040 xff09 xff0c 指定的网络名不再可用的问题 xff0c 小编为大家带
  • vmware 导出导入

    vmware 导出导入 如果要换电脑 xff0c 虚拟机可以选择导出OVF文件 注意导出时有3个文件 ovf vmdk iso 三个导入时必不可缺 xff0c mf 文件是否需要没有验证
  • 2_项目都有哪些分支,分支名是什么,每个分支代表什么?

    master 主分支用来发布 dev 日常开发用的分支 test 测试用的分支 1 master 主分支用来发布 2 dev 日常开发用的分支 3 test 测试用的分支
  • zookeeper的选举机制是如何应对脑裂的

    本来想写 zookeeper的选举机制 xff0c 但是选举机制的具体流程还没研究 xff0c 只是知道了选举机制是如何避免脑裂的 xff0c 就先写个小部分 xff0c 等后面扩展 在网上看了好多文章 xff0c 都在介绍zookeepe
  • sql查询成绩表中每一科成绩最高的分数以及这个学生的名字,学科名

    前段时间面试的时候碰到这样一个面试题 xff0c 因为很久没接触sql竟然没写出来 如图有这样一张成绩表 xff1a 首先要理解group by 含义 xff1a Group By 从字面意义上理解就是根据 By 指定的规则对数据进行分组
  • flink slotSharingGroup 在本地调试的时候可能会导致程序卡住

    现象就是一个加了slotSharingGroup的程序 xff0c 在本地调试的时候可能数据流不流动 xff0c 把slotSharingGroup去掉就可以了 原因未知 xff0c hold 有路过了解的朋友可以给说一下 xff0c 或者
  • Flink的classLoader加载机制(推测)-- 记一次程序问题中的探索

    项目中需要用flink去加载c 43 43 的so文件 flink任务中如果有加载so的逻辑 xff0c 当任务挂掉之后 xff0c 再次重启的时候会报 Native Library xxx is being loaded in anoth
  • flink的侧输出(sideoutput)和OutputTag

    背景 用flink做数据处理的时候 xff0c 我们经常会想要将数据分成几类处理 xff0c 或者有一批特殊数据需要单独处理 但是我们又想复用同一个流式任务 xff0c 避免重复处理数据 这种需求 xff0c 使用sideoutput完美解