面试篇Flink

一:为什么学习flink?

相比较spark,flink对于实时这块,使用过流的方式进行实现。
spark是通过批流的方式实现,通过减少批的时间间隔来实现流的功能。

二:什么是flink?

flink是一个针对于实时进行处理的框架。高可用,低延迟。

三:flink怎么使用?

1. flink的俩种架构模式。

  • Standalone模式。
    面试篇Flink_第1张图片
  1. JobManager
    1.将程序转为物理执行图。
    2. 申请资源。
    3. 监控taskmanager运行情况和checkpoint的协调。

  2. ResourceManager
    资源管理器主要负责管理任务管理器(TaskManager)的插槽(slot)。

  3. TaskManager
    执行任务

  4. Dispatcher

  • Flink on yarn模式。
  • 面试篇Flink_第2张图片

面试篇Flink_第3张图片

2. TaskSlot与Parallelism。

slot是指taskmanager的并发执行能力。
parallelism是指taskmanager实际使用的并发能力

3. flink 窗口,时间,水位线。

窗口
1. 滚动
2. 滑动
3. 累加
时间

  1. 事件时间。
  2. 处理时间。
  3. 摄入时间。

水位线

4. 状态。

  1. source端保证。
    在kafka的源头,我们有偏移量,当重跑的时候,会找到上次的offest进行重新加载数据。
  2. 中间进行保证。
    checkpoint
    savepoint
    当jobmanager发送任务的时候,会伴随发送一个barriers(栅栏),每一个操作都会进行一次拍照,最后sink。跑完会将数据存储起来。完成一次保存。最后通知jobmanager。
    存储的方式
    1. 内存
    2. 磁盘
    3. 数据库
  3. sink端进行保证。
    俩阶段提交。
    面试篇Flink_第4张图片

你可能感兴趣的:(flink,flink,大数据)