当前位置:   article > 正文

Flink高频面试题( 精简 )_100个flink高频面试题系列

100个flink高频面试题系列

本文隶属于专栏《董工的1000个大数据技术体系》摘要,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

目录

前言

一、SparkStreaming和Flink的区别是什么?

二、Flink的编程模型?

三、Flink中集群有哪些角色?各个角色有什么作用?

四、Flink如何设置并行度

五、Flink中有没有重启策略?

六、Flink的广播变量,使用的时候需要注意什么?

七、Flink的状态储存

八、Flink的分区策略

九、Flink时间有那几类?

十、你们公司怎么提交FLink任务

十一、Flink中watermark

十二、Flink如何容错

十三、Flink运行中必须依赖Hadoop组件吗?

十四、Flink的Slot和parallelism有什么区别?

十五、Flink的状态

十六、Flink的资源调度

十七、Flink SQL的实现原理


前言

作为大数据领域炙手可热的大数据组件,Flink作为大数据行业跳槽必问的组件,整理一些Flink相关的面试题供大家参考,有些题言简意赅即可,大多数的博客冗余一堆的知识点,看完要好久,我想帮大家提炼总结出核心的点,以帮助大家临阵磨枪,短时间掌握,当你把知识提炼出来,你会发现你的知识进步了,当你把简单提炼的知识再用自己的语言详细的说出来,那你就成为很厉害的人了,希望帮助大家收获到自己满意的offer。

一、SparkStreaming和Flink的区别是什么?

1、Flink 是实时处理引擎,基于事件驱动。而 Spark Streaming 是微批(Micro-Batch)的模型。(根本区别,一定要说出来)

2、时间机制:Spark Streaming只支持处理时间。 Flink支持处理时间、事件时间、注入时间。同时也支持watermark来处理滞后数据。

3、容错机制:Spark Streaming 通过checkpoint实现数据不丢失,但无法做到恰好一次处理语义。Flink 则使用两阶段提交协议和checkpoint实现精准一次处理,容错性好

区别相对比较多,具体不一一介绍,只要说出来其代表性的即可

二、Flink的编程模型?

  1. Source数据源输入
  2. Tranformation数据转换
  3. Sink数据输出

三、Flink中集群有哪些角色?各个角色有什么作用?

  jobmanager: 管理集群master的角色,负责资源调度和资源管理,管理taskManager,协调checkpoint,故障恢复

  taskManager: 实际执行计算,与TaskManager状态传递

  client(客户端): 负责与jobManager进行交互把任务提交到集群

四、Flink如何设置并行度

系统层面(flink客户端的配置yml文件中设置)

客户端层面(提交flink run -p的时候设置)

执行环境层面(构建Flink环境时getExecutionEnvironment.setParallelism(1)设置)

算子层面(算子.setParallelism(3),实际算子时设置)

优先级设置: 算子层面>执行环境层面>客户端层面>系统层面

(实际业务中通常设置和kafka分区数一样或者kafka分区倍数的并行度)

五、Flink中有没有重启策略?

故障延迟重启策略

故障率重启策略

没有重启策略

Fallback重启策略

如果没有启用 checkpointing,则使用无重启 (no restart) 策略。如果启用了 checkpointing,但没有配置重启策略,则使用固定间隔 (fixed-delay) 策略
重启策略可以在flink-conf.yaml中配

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/732391
推荐阅读
相关标签
  

闽ICP备14008679号