Flink
-
flink 中的时间概念 , eventTime 和 processTime 的区别
Flink 中有三种时间概念,分别是 Processing Time、Event Time 和 Ingestion Time **• Processing Time** Proce...
-
讲一下 flink 的作业执行流程
以 yarn 模式 Per-job 方式为例概述作业提交执行流程,当执行 executor() 之后,会首先在本地 client 中将代码转化为可以提交的JobGraph 1. 如...
-
讲一下 flink 的运行架构
当 Flink 集群启动后,首先会启动一个 JobManger 和一个或多个的TaskManager。由 Client 提交任务给 JobManager,JobManager 再调...
-
Flink CEP 编程中当状态没有到达的时候会将数据保存在哪里
在流式处理中,CEP 当然是要支持 EventTime 的,那么相对应的也要支持数据的迟到现象,也就是 watermark 的处理逻辑。CEP 对未匹配成功的事件序列的处理,和迟到...
-
Flink 的内存管理是如何做的
Flink 并不是将大量对象存在堆上,而是将对象都序列化到一个预分配的内存块上。此外,Flink 大量的使用了堆外内存。如果需要处理的数据超出了内存限制,则会将部分数据存储到硬盘上...
-
Flink 是如何支持批流一体的
这道题问的比较开阔,如果知道 Flink 底层原理,可以详细说说,如果不是很了解,就直接简单一句话: Flink 的开发者认为批处理是流处理的一种特殊情况。批处理是有限的流处理。F...
-
Flink 中的状态存储
Flink 在做计算的过程中经常需要存储中间状态,来避免数据丢失和状态恢复。选择的状态存储策略不同,会影响状态持久化如何和 checkpoint 交互。 Flink 提供了三种状态...
-
Flink 是如何处理反压的
Flink 内部是基于 producer-consumer 模型来进行消息传递的,Flink 的反压设计也是基于这个模型。Flink 使用了高效有界的分布式阻塞队列,就像 Java...
-
如果下级存储不支持事务,Flink 怎么保证 exactly-once
端到端的 exactly-once 对 sink 要求比较高,具体实现主要有幂等写入和事务性写入两种方式。 幂等写入的场景依赖于业务逻辑,更常见的是用事务性写入。而事务性写入又有预...
-
Flink 是如何保证 Exactly-once 语义的
Flink 通过实现两阶段提交和状态保存来实现端到端的一致性语义。分为以下几个步骤: 开始事务(beginTransaction)创建一个临时文件夹,来写把数据写入到这个文件夹里面...
-
Flink 的重启策略了解吗
Flink 支持不同的重启策略,这些重启策略控制着 job 失败后如何重启: **固定延迟重启策略** 固定延迟重启策略会尝试一个给定的次数来重启 Job,如果超过了最大的重启次数...
-
Flink 资源管理中 Task Slot 的概念
在 Flink 中每个 TaskManager 是一个 JVM 的进程, 可以在不同的线程中执行一个或多个子任务。 为了控制一个 worker 能接收多少个 task。worker...
-
Flink 集群有哪些角色?各自有什么作用
**JobManager 处理器**: 也称之为 Master,用于协调分布式执行,它们用来调度 task,协调检查点,协调失败时恢复等。Flink 运行时至少存在一个 maste...
-
Flink 的运行必须依赖 Hadoop 组件吗
Flink 可以完全独立于 Hadoop,在不依赖 Hadoop 组件下运行。但是做为大数据的基础设施,Hadoop 体系是任何大数据框架都绕不过去的。Flink 可以集成众多Ha...