Flink面试题
- 1.简单介绍一下 Flink
- 2.spark streaming与flink对比
- 3. Flink集群有哪些角色?各自有什么作用?
- 4. Flink的并行度了解吗?Flink的并行度设置是怎样的?
- 5.Flink的Slot和parallelism有什么区别?
- 6.Flink有没有重启策略?说说有哪几种?
- 7.用过Flink中的分布式缓存吗?如何使用?
- 8.说说Flink中的广播变量,使用时需要注意什么?
- 9.说说Flink中的窗口?
- 10.说说Flink中的状态存储?
- 11.Flink 中水印是什么概念,起到什么作用?
- 12.Flink SQL的实现原理是什么? 是如何实现 SQL 解析的呢?
- 13.Flink是如何做容错的?
- 14.Flink 分布式快照的原理是什么?
- 15 Flink 是如何保证Exactly-once语义的?
- 16.Flink中的Window出现了数据倾斜,你有什么解决办法?
- 17.Flink中在使用聚合函数 GroupBy、Distinct、KeyBy 等函数时出现数据热点该如何解决?
- 18.Flink任务延迟高,想解决这个问题,你会如何入手?
- 19.Flink是如何处理反压的?
1.简单介绍一下 Flink
Flink 是一个分布式处理引擎,用于对无界和有界数据流进行有状态计算。并且 Flink 提供了数据分布、容错机制以及资源管理等核心功能。
2.spark streaming与flink对比
1.1 架构模型
Spark Streaming 运行时的角色(standalone 模式)主要有:
Master:主要负责整体集群资源的管理和应用程序调度;
Worker:负责单个节点的资源管理,driver 和 executor 的启动等;
Driver:用户入口程序执行的地方,即 SparkContext 执行的地方,主要是 DAG 生成、stage 划分、task 生成及调度;
Executor:负责执行 task。
Flink 运行时的角色(standalone 模式)主要有:
Jobmanager: 协调分布式执行,他们调度任务、协调 checkpoints、协调故障恢复等。至少有一个 JobManager。高可用情况下可以启动多个 JobManager,其中一个选举为 leader,其余为 standby;
Taskmanager: 负责执行具体的 tasks、缓存、交换数据流。
Slot: 每个 task slo