1、flink 中的状态指的是什么?有哪些状态,你使用过哪些状态
(1)state状态是指可以存储计算的历史数据;
(2)像我们比较常用的状态有valueState、ListState、MapState
2、flink 中 checkpoint 是什么,如何设置。
定义:像checkPoint检查点在很多技术栈中都用到过,其实它们的原理都是差不多的;
比如spark中的checkPoint检查点就是将rdd存储在像hdfs这种的存储系统中,防止persist缓存丢失,需要重新构建RDD;
而flink中的checkPoint检查点就相当于虚拟机的快照,可以在系统出现问题等情况时,恢复内存中的计算结果;
如何设置:可以直接在代码中设置enableCheckPoint每隔多长时间自动保存一次快照,也可以通过在命令中手动设置sava Point。
3、flink 中的重启策略 (流式计算中的重启策略)
(1)重启策略就是当数据出现异常时,系统会通过重启从而保证后续程序的正常运行,防止数据丢失;
(2)重启策略可以通过设置checkPoint实现系统自动且无限循环式重启,也可以通过手动设置实现指定次数的重启。
4、什么是维表 join,如何实现
定义:维表join就是将进入flink的数据与一些外部存储设备上的数据(维表)进行关联;
实现方法:
(1)可以通过预加热维表的方式实现,就是把维表数据加载到内存中,然后与流中数据进行join,这种方式虽然实现起来简单,但是由于其数据是存储在内存中的,所以值适合小数据量和表中数据更新频率不高的情况;
(2)也可以通过热存储维表的方式实现,就是将一部分经常访问的维表数据存储在cache缓存中,从而减轻访问压力;
5、flinksql 如何读取 kafka 或者 mysql 的数据。
在读取kafka或者mysql中的数据之前需要先配置相关依赖,然后通过一些参数设置创建执行环境以及表环境,从而实现数据的读取以及各种查询操作。