Flink的一些面试题整理

1、flink的四大基石

state、Time、window、checkpoint

2、flink中的滚动窗口和滑动窗口的区别

滚动窗口:窗口长度=滑动距离,又分为滚动时间窗口、滚动计数窗口。

滑动窗口:窗口长度!=滑动距离,其中,如果滑动距离>窗口长度,会漏掉数据,反之则会重复处理数据比如要求是每隔1分钟,统计前面5分钟的数据(滑动距离1分钟,窗口长度5分钟,重复处理4分钟的数据)

3、flink中时间语义有哪些?如何处理迟到的数据

时间语义:

eventTime:事件时间,是时间真正发生时的时间

ingestionTime:摄入时间,是时间达到流处理系统的时间

ProcessingTime:处理时间,是时间被处理的时间

迟到的数据可以使用:

allowdelateness:水印+allowdelateness是短期延迟+等待长期延迟效果,达到水印条件后,会触发窗口计算,但是不关闭窗口。事件时间延迟达到水印+allowdelateness之后会关闭窗口

侧输出-SideOutput:通过watermark在短时间内允许了乱序到来的数据,可以将错过水印有错过allowdelateness允许的时间的数据,单独存放在一个DataStream中,然后开发人员可以自定义逻辑对这些超级迟到的数据进行处理。

4、flinkCore中都能读取哪些数据

基本数据类型

复制代码
// 从集合读取基本类型
Integer
Double
String
Boolean
Long序列

复合数据类型

Tuple(元组)、

POJO(普通Java对象)、

Case Class(Scala专用,Java中类似POJO)

数据库数据

Kafka消息队列数据

日志数据

订单数据

5、flink中常见的算子以及作用

1)Source:用来处理数据来源

fromSource、readFile、collection、Socket

其中socket是非并行的Source,该方法需要传入两个参数,一个是指定的ip或主机名,另一个是端口号
2)Transformaton-转换算子:

FlatMap:读取文件内容,

Filter:读取文件中的日志数据,并过滤出对应的ip,

KeyBy:分组,

Reduce:对一个dataset或group进行聚合计算,最终聚合成一个元素

union:可以合并多个同类型的流,可以去并集但是不会去重,且union合并的Datastream的类型必须是一致的。

collect:可以连接两个不同类型的流,两个流之间的数据类型可以不同,对两个流的数据可以分别应对不同的处理逻辑。

Side Outputs侧道输出(侧输出流):可以分流,例如将数据按照奇偶数进行分流,并获取数据。
3)Sink:调用Sink后才会产生最终的计算结果

print:打印,可以传入一个字符,指定一个Sink的标识名称,如果有多个打印的Sink,用来区分到底是哪一个Sink的输出。

Connectors:向JDBC数据库中写入数据,包括kafkaconnector,jdbcconnector。

6、窗口函数分为增量函数和全量函数,请编写对应的函数名

增量函数:reduce(reduceFunction)、aggregate(aggregateFunction)、sum()、min()、max()

全量函数:apply(windowFunction)、process(processWindowFunction)

相关推荐
字节跳动数据平台13 分钟前
5000 字技术向拆解 | 火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
武子康6 小时前
大数据-239 离线数仓 - 广告业务实战:Flume 导入日志到 HDFS,并完成 Hive ODS/DWD 分层加载
大数据·后端·apache hive
字节跳动数据平台1 天前
代码量减少 70%、GPU 利用率达 95%:火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
得物技术1 天前
深入剖析Spark UI界面:参数与界面详解|得物技术
大数据·后端·spark
大大大大晴天1 天前
Flink生产问题排障-HBase NotServingRegionException
flink·hbase
武子康1 天前
大数据-238 离线数仓 - 广告业务 Hive分析实战:ADS 点击率、购买率与 Top100 排名避坑
大数据·后端·apache hive
武子康2 天前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
大大大大晴天2 天前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
武子康4 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
武子康5 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive