学习 Flink(六):检查点和保存点

更新至 Flink 1.8.0 检查点 检查点(Checkpoint)机制是 Flink 实现错误容忍机制的核心。通过持续以异步的方式保存轻量级的镜像,当错误(机器、网络或者软件原因)发生时,系统重启操作并重置操作到最新保存成功的检查点。 Flink 镜像参考论文:Lightweight Asynchronous Snapshots for Distributed Dataflows Flink »

学习 Flink(五):状态

Flink 支持有状态的操作和用户方法。例如,窗口操作使用状态维护不断追加的聚合数据,sink 操作使用状态保证一致性提供 exactly-once 语义。 Flink 状态主要分为两种: 操作状态 键状态 Flink 支持三种状态后端: 内存 文件系统 RocksDB 操作状态 操作状态(Operator State),即每个操作状态绑定到一个并发操作实例上。 Flink 提供了以下操作状态: Broadcast State: »

学习 Flink(四):水印

时间 要理解水印(Wartermark),首先需要理解三个时间概念: 事件时间(Event Time) 摄入时间(Ingestion Time) 处理时间(Process Time) 事件时间是每一个独立的事件在产生它的设备中发生的时间。以用户行为分析为例,事件时间就是用户访问页面点击按钮时的时间。 摄入时间是事件进入 Flink 的时间。以用户行为分析为例,摄入时间就是 Flink Kafka Connector 从 Kafaka »

学习 Flink(三):窗口

滚动窗口 滚动窗口(Tumbling Window)又称固定窗口(Fixed Window),将事件分配到固定大小且非重叠的桶中。当超过了窗口边界,事件就会发送到执行函数进行处理。 计数滚动窗口 基于计数的滚动窗口,定义了在出发执行之前需要收集多少事件: ds.keyBy(0) .countWindow(5) // ① .sum(1) .print() ① 计数为 5 的窗口 时间滚动窗口 基于时间的滚动窗口, »