共计 1735 个字符,预计需要花费 5 分钟才能阅读完成。
锁屏面试题百日百刷,每个工作日保持更新面试题。 请看到最初就能获取你想要的, 接下来的是今日的面试题:
1. 用过 Flink 中的分布式缓存吗?如何应用?**
Flink 实现的分布式缓存和 Hadoop 有殊途同归之妙。目标是在本地读取文件,并把他放在 taskmanager 节点中,避免 task 反复拉取。
val env = ExecutionEnvironment.getExecutionEnvironment
// register a file from HDFS
env.registerCachedFile(“hdfs:///path/to/your/file”, “hdfsFile”)
// register a local executable file (script, executable, …)
env.registerCachedFile(“file:///path/to/exec/file”, “localExecFile”, true)
// define your program and execute
… val input: DataSet[String] = … val result: DataSet[Integer] = input.map(new MyMapper())
… env.execute()
2. 说说 Flink 中的播送变量,应用时须要留神什么?**
咱们晓得 Flink 是并行的,计算过程可能不在一个 Slot 中进行,那么有一种状况即:当咱们须要拜访同一份数据。
那么 Flink 中的播送变量就是为了解决这种状况。咱们能够把播送变量了解为是一个公共的共享变量,咱们能够把一个 dataset 数据集播送进来,而后不同的 task 在节点上都可能获取到,这个数据在每个节点上只会存在一份。
3. 说说 Flink 中的窗口?
Flink 反对两种划分窗口的形式,依照 time 和 count。如果依据工夫划分窗口,那么它就是一个 time-window 如果依据数据划分窗口,那么它就是一个 count-window。flink 反对窗口的两个重要属性(size 和 interval)如果 size=interval, 那么就会造成 tumbling-window(无重叠数据) 如果 size>interval, 那么就会造成 sliding-window(有重
叠数据 ) 如果 size< interval, 那么这种窗口将会失落数据。比方每 5 秒钟,统计过来 3 秒的通过路口汽车的数据,将会漏掉 2 秒钟的数据。通过组合能够得出四种根本窗口:
time-tumbling-window 无重叠数据的工夫窗口,设置形式举例:timeWindow(Time.seconds(5))
time-sliding-window 有重叠数据的工夫窗口,设置形式举例:timeWindow(Time.seconds(5), Time.seconds(3))
count-tumbling-window 无重叠数据的数量窗口,设置形式举例:countWindow(5)
count-sliding-window 有重叠数据的数量窗口,设置形式举例:countWindow(5,3)
4. 说说 Flink 中的状态存储?**
Flink 在做计算的过程中常常须要存储中间状态,来防止数据失落和状态复原。抉择的状态存储策略不同,会影响状态长久化如何和 checkpoint 交互。Flink 提供了三种状态存储形式:MemoryStateBackend、FsStateBackend、RocksDBStateBackend。
5.Flink 中的工夫有哪几类 **
Flink 中的工夫和其余流式计算零碎的工夫一样分为三类:事件工夫,摄入工夫,解决工夫三种。
如果以 EventTime 为基准来定义工夫窗口将造成 EventTimeWindow, 要求音讯自身就应该携带 EventTime。
如果以 IngesingtTime 为基准来定义工夫窗口将造成 IngestingTimeWindow, 以 source 的 systemTime 为准。
如果以 ProcessingTime 基准来定义工夫窗口将造成 ProcessingTimeWindow,以 operator 的 systemTime 为准。
全部内容在 git 上, 理解更多请点我头像或到我的主页去取得,谢谢 **