Flink Data Source详解

devtools/2024/12/31 21:16:49/

注意在高版本中SourceFunction以及其子类RichSourceFunction、ParallelSourceFunction等已经被标记为废弃,所以我们要看数据源的实现只需要关注Source接口(org.apache.flink.api.connector.source.Source)。了解Source背后的架构和运行原理有助于我们更好的使用Source,或者自定义实现新的数据源。

1. Data Source概览

1)核心组件

一个数据源有三个核心组件:split、SplitEnumerator和SourceReader。

  • split(分片):是对source数据的一部分切分,如一个文件或者日志分区。分片是 source 进行任务分配和数据并行读取的基本粒度。
  • SourceReader(源读取器):会请求split并进行处理,例如读取split所表示的文件或日志分区。SourceReader 在 TaskManagers 上的 SourceOperators 中并行运行,并生成并行的事件流/记录流。 
  • SplitEnumerator(分片枚举器):SplitEnumerator会生成split并将它们分配给 SourceReader。它在 JobManager 上以单实例运行,负责对未分配的split进行维护,并以均衡的方式将其分配给 reader。 

http://www.ppmy.cn/devtools/146511.html

相关文章

Mysql第三章 - Mysql使用

连接数据库 MySQL与所有客户机—服务器DBMS一样,要求在能执行命令之前登录到DBMS,MySQL在内部保存自己的用户列表,并且把每个用户与各种权限关联起来 连接Mysql信息 主机名(计算机名): 本地Mysql为 localho…

PDF书籍《手写调用链监控APM系统-Java版》第10章 插件与链路的结合:SpringBoot环境插件获取应用名

本人阅读了 Skywalking 的大部分核心代码,也了解了相关的文献,对此深有感悟,特此借助巨人的思想自己手动用JAVA语言实现了一个 “调用链监控APM” 系统。本书采用边讲解实现原理边编写代码的方式,看本书时一定要跟着敲代码。 作者…

html + css 淘宝网实战

之前有小伙伴说,淘宝那么牛逼你会写代码,能帮我做一个一样的淘宝网站吗,好呀,看我接下来如何给你做一个淘宝首页。hahh,开个玩笑。。。学习而已。 在进行html css编写之前 先了解下网页的组成和网页元素的尺寸吧 1.网页的组成 …

OpenCV-Python实战(6)——图相运算

一、加法运算 1.1 cv2.add() res cv2.add(img1,img2,dstNone,maskNone,dtypeNone) img1、img2:要 add 的图像对象。(shape必须相同) mask:图像掩膜。灰度图(维度为2)。 dtype:图像数据类型…

通过MySQL binlog日志,使用canal同步分库分表数据,到 Elasticsearch

前言 通过简单干净实践的方式教会读者,配置出一套 Canal 工具服务,来同步分库分表的数据到 Elasticsearch 文件夹系统中。同时在 SpringBoot 工程中,配置出两套数据源,一套是 MySQL MyBatis,一套是 Elasticsearch My…

在算力魔方上运行Genesis:一款颠覆性开源生成式物理引擎!

作者:算力魔方创始人 刘力 一,Genesis简介 Genesis是一款由19个顶尖科研机构联手打造的,用于通用机器人、具身智能和物理 AI 应用的开源生成式物理引擎。它可以生成整个世界,包括相机运动、机器人任务和交互式 3D 场景等。其特点有…

鸿蒙Next如何实现打开相册选图片功能?

问题描述:鸿蒙Next如何实现打开相册选图片功能 应用场景:用户个人中心自定义头像的时候,需要选择相册上传照片。 解决方案: 使用picker这个API实现从系统上获取相册图片这个点的, 1、首先要实例一个选择参数PhotoS…

分阶段总结:建材制造业“数字化转型”总体架构与实现路径

​一直以来,非金属矿物制品业都是我国工业支柱行业之一,也是我国中小企业较为集聚的细分行业之一,中小企业主营业务集中分布在矿渣微粉、水泥、混凝土减水剂、混凝土、砂浆、玻璃、灰砂砖、墙体、板材等建材制造领域,行业内创新型…