- 博客(9)
- 收藏
- 关注
原创 7. flink作业提交的困惑
终于讲到第二章的内容。第3章~第6章都是关于的算子的实现和使用源码。而从本章开始,会真正开始分析一下的runtime的源码。通过连接的项目,并启动和。如果有问题。按3进行操作。在使用 VSCode 连接 WSL 时,进入用户的家目录,路径通常是 。接着执行如下命令:然后重新连接并让系统重新下载配置。连接成功后,再删除 目录即可。至于为什么不直接 ,这是一个良好的操作习惯。在生产环境中,绝不能轻易执行 删除操作,因为一旦误删,后果难以挽回。很多正式环境都会限制或禁用 ,改为通过“移动到指定清理目录 +
2025-06-08 02:49:10
916
原创 6.`Watermark`,分流和`Join`
的函数还有 和。相比之下,基于 窗口()的 或聚合等操作,由于窗口会自动管理状态的生命周期(比如过期数据的清理),因此实现相对简单,用户也无需手动管理数据保留或清理逻辑。有兴趣自己可以看下使用方法。内部通常会指定一个的策略。然后在某个进行分配。先看下 的组成以 为例,看下模块是如何实现的可以看到 继承自 。而的图如下:代码如下:该函数接口声明了两个方法。一个是来一条数据发一条。而则是周期发送。而实现非常简单。则是 内部维护了一个,定期发送最大的。从而确保数据局部无序。再细看一下方法。
2025-06-08 01:01:21
949
原创 5.聚合算子keyBy、sum和connect
算子首先看示例:根据传入的数据进行分组。这里是根据性别点进去 方法,可以看到它需要一个 对象。 是一个函数式接口,继承了 Flink 的 接口,并定义了一个 方法用于提取 key。调用 返回一个 ,它不会立即将新的 添加到 的 列表中,而是返回一个流对象,并将内部生成的 保存在 的 字段中。算子接下来看 方法。该方法本质上先构造一个 对象。该对象继承自 接口。以下是接口截图: 1. 这个方法还会构造一个 对象。该对象用来提供 方法,获取对应需要的对象。可
2025-06-07 23:31:23
613
原创 4.基础转换算子Map-Function和StreamOperator源码
的转换操作还是十分清晰的。分别继承了哪些类,这些类各自的作用。是 Flink 中流算子的核心抽象类,封装了大量通用的生命周期逻辑、状态管理、时间语义等操作。是 Flink 中所有算子的基类接口,定义了算子的生命周期方法(如初始化。类用于改进某些算子的生命周期控制与状态处理逻辑,但原有的。是 Flink 中最基础的函数接口,许多功能性接口(如。等)都继承自它,用于定义用户对流中数据的各种处理逻辑。从 Flink 1.15 开始,虽然引入了新的。,分别用于处理单输入流和双输入流的场景。子系统时再详细解析。
2025-06-02 21:20:14
892
原创 3. Flink源码解析—源算子源码
产生对应的分区切片和读取。从而简化数据分片,锁竞争和算子并行度的开发。接口 先不做过多的源码解析,等后续研究收集数据、生产水位线和。以 Socket 源算子为例。可以看到 同级别还有非常多的其余算子。在这个基础上,扩展了哪些功能。这个方法内部调用了 两个方法。类的构建方法中,新增了 构建方法。接口是Flink所有算子的。方法,用来生产数据。里面定义了各种算子操作。接口包含了3个实例。类定义了算子实际的操作。该方法返回了一个 真正的。方法构建Socket流。用作后续的转换操作。
2025-06-02 19:09:10
558
原创 1.Flink源码解析—搭建WSL2开发环境
WSL 2 是适用于 Linux 的 Windows 子系统体系结构的一个新版本,它支持适用于 Linux 的 Windows 子系统在 Windows 上运行 ELF64 Linux 二进制文件。它的主要目标是提高文件系统性能,以及添加完全的系统调用兼容性。Flink推荐WSL作为源码编译环境。
2025-06-02 19:05:20
1078
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人