[大数据面试]-- 5.Flink 题目

========= 基础 =========

1、Flink 的 抽象层次有几种

Stateful stream processing

Core API

Table

SQL

 

2、Window 类型

(1)TimeWindow

Tumbling Window(滚动窗口)

Sliding Window(滑动窗口)

Session Window(会话窗口)

Global Window(全局窗口)

(2)countWindow

(3)自定义window

 

3、Time 类型

事件时间、注入时间和Processing Time

 

4、Checkpoint的理解

  • 轻量级容错机制(全局异步,局部同步)
  • 保证exactly-once 语义
  • 用于内部失败的恢复
  • 基本原理:通过往source 注入barrier,barrier作为checkpoint的标志

 

5、Savepoint

  • 流处理过程中的状态历史版本
  • 具有可以replay的功能
  • 外部恢复(应用重启和升级)
  • 两种方式触发:Cancel with savepoint,手动主动触发

$s bin/flink savepoint :jobId [:targetDirectory]

$ bin/flink cancel -s [:targetDirectory] :jobId

 

6、Flink runtime architecture

  • Job Manager
  • Task Manger
  • Client
  • 角色间的通信(Akka)
  • 数据的传输(Netty)

 

7、什么是solts

solts :槽,slot 的数量通常与每个 TaskManager 的可用 CPU 内核数成比例。

一般情况下你的 slot 数是你每个 TaskManager 的 cpu 的核数。

 

8、什么是状态

  • Definition

task/operator在某个时刻的中间结果

Snapshot

  • Effect:记录状态并且在失败时用于恢复
  • Basic type:Operator state、Keyed state

 

9、RestartStrategies

https://ci.apache.org/projects/flink/flink-docs-release-1.8/dev/restart_strategies.html

4种重启策略

 

10、statebacked有几种(3种)

https://ci.apache.org/projects/flink/flink-docs-release-1.8/ops/state/state_backends.html

//env.setStateBackend(new MemoryStateBackend());

//env.setStateBackend(new FsStateBackend("hdfs://hadoop100:9000/flink/checkpoints"));

//env.setStateBackend(new RocksDBStateBackend("hdfs://hadoop100:9000/flink/checkpoints",true));

 

11、运行模式

Job模式

独享Dispatcher和ResourceManager

资源按需申请

适合⼤大作业

Session模式

共享Dispatcher和ResourceManager

共⽤用TaskManager

适合规模⼩小,运⾏行行时间短的作业

 

12、全量聚合和增量聚合 window

全量聚合:ProcessWindowFunction
增量聚合:ReduceFunction、AggregateFunction、FoldFunction

 

========= 进阶 =========

1、4种方法调优Flink

https://www.iteblog.com/archives/2303.html

 

2、flink kafka consumer 正则消费,多分区动态发现

https://www.cnblogs.com/dajiangtai/p/10676773.html

 

3、Flink 的trigger 有几种

https://juejin.im/post/5c317c366fb9a049f3624086

 

4、Flink job 有多少种状态

https://ci.apache.org/projects/flink/flink-docs-stable/internals/job_scheduling.html#scheduling

 

 

 

你可能感兴趣的:(面试,Flink)