Flink
1 Flink任务提交使用的资源?
一般JobManager给2-5G,TaskManager给4-8G,平均并行度为3-8,普遍为4。
2 Flink实时数仓为何分层建模?
避免重复计算
3 Flink怎么优化内存?flink内存模型 1.10做的最大的改动?
0.10版本之后重点
4 Flink任务挂了怎么办?有什么保证机制?重启大概要多久?
任务重启策略(固定延迟重启、故障率重启)
CheckPoint机制,从最近一次CK时间恢复任务
状态大小时间不一样,正常重启都在几秒钟时间
5 checkpoint机制和barrier,对齐和不对齐的区别
JobManager周期性的从Source生成barrier数据,从上游往下游传递,当多并行度时下游需要等待上游barrier到达一致时才触发计算。
6 flink容错机制
CheckPoint
7 flink checkpoint和state的区别
Checkpoint是Flink实现容错机制最核心的功能,它能够根据配置周期性地基于Stream中各个Operator/task的状态来生成快照,从而将这些状态数据定期持久化存储下来,当Flink程序一旦意外崩溃时,重新运行程序时可以有选择地从这些快照进行恢复,从而修正因为故障带来的程序数据异常。Flink的checkpoint机制是state的持久化存储的前提。
Checkpoint的状态后端默认存储位置为内存级别,由TaskMananger管理;
checkpoint可以对State进行备份;
8 实际中stage的相关设置,状态中用的哪种数据结构
状态后端:RocksDB、内存、磁盘(HDFS)
键控状态:Value、List、Map
9 项目中有用到Flink watermark吗?介绍一些概念
10 乱序程度一般是怎么设置的
一般根据业务需求,设置为秒级或者分钟级
11 join分类
regular、interva、temporal、lookup
12 RockDB写入流程是怎么样的?
LSm tree
缓存 —》 刷鞋磁盘 sstable
13 Flinksql -> flink DataStream
Calcite —》 逻辑计划 --》 优化 RBO --》 物理计划 --》 CBO优化
14 flink中的算子?
(1) 转换算子:map filter flatmap sum max min
(2) sink : kafka jdbc 自定义
(3) 重分区: keyby、rebalance、rescale、shuffle
15 window关窗关不了怎么办?
生产场景:
事件时间,
时间进展 >= end - 1ms ===>