[大數據面試]-- 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有幾種

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

//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

適合規模⼩小,運⾏行行時間短的作業

 

========= 進階 =========

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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章