Flink面试题(施工中)

做实时用flink?用sql还是api?

Flink和Spark Streaming的区别?

在这里插入图片描述

Flink的三种时间语义

  • 事件时间Event Time:是事件创建的时间。数据本身携带的时间。
  • 进入时间Ingestion Time:是数据进入Flink的时间。
  • 处理时间Processing Time:是每一个执行基于时间操作的算子的本地系统时间,与机器相关,默认的时间属性就是Processing Time。

你对Watermark的认识

  • 所谓 watermark,就是在事件时间语义世界观中,用于单调递增向前推进时间的一种标记;
  • 它的核心机制是在数据流中周期性地插入一种时间戳单调递增的特殊数据元素(watermark),
    来不可逆转地在整个数据流中进行时间的推进;

Flink怎么处理乱序和迟到数据?

  • 小延迟(乱序),用 watermark 容错 (减慢时间的推进,让本已迟到的数据被认为没有迟到)
  • 中延迟(乱序),用 allowedLateness (允许一定限度内的迟到,并对迟到数据重新触发窗口计算)
  • 大延迟(乱序),用 sideOutputLateData (将超出 allowedLateness 的迟到数据输出到一个侧流中)

说说Flink中的窗口(分类、生命周期、触发、划分)

  1. 窗口分类:
    Keyed Window和Non-keyed Window
    基于时间:滚动、滑动、会话。
    基于数量:滚动、滑动 。

  2. Window口的4个相关重要组件:
    assigner(分配器):如何将元素分配给窗口。
    function(计算函数):为窗口定义的计算。其实是一个计算函数,完成窗口内容的计算。
    trigger(触发器):在什么条件下触发窗口的计算。
    可以使用自定义触发器,解决事件时间,没有数据到达,窗口不触发计算问题,还可以使用持续性触发器,实现一个窗口多次触发输出结果,详细看连接
    evictor(退出器):定义从窗口中移除数据。
    问题展示:https://www.bilibili.com/video/BV1Gv4y1H7F8/?spm_id_from=333.999.0.0&vd_source=891aa1a363111d4914eb12ace2e039af
    问题解决:https://www.bilibili.com/video/BV1mM411N7uP/?spm_id_from=333.999.0.0&vd_source=891aa1a363111d4914eb12ace2e039af

  3. 窗口的划分:如,基于事件时间的滚动窗口
    Start = 按照数据的事件时间向下取窗口长度的整数倍。
    end = start + size
    比如开了一个10s的滚动窗口,第一条数据是857s,那么它属于[850s,860s)。

  4. 窗口的创建:当属于某个窗口的第一个元素到达,Flink就会创建一个窗口,并且放入单例集合

  5. 窗口的销毁:时间进展 >= 窗口最大时间戳 + 窗口允许延迟时间
    (Flink保证只删除基于时间的窗口,而不能删除其他类型的窗口,例如全局窗口)。

  6. 窗口为什么左闭右开:属于窗口的最大时间戳 = end - 1ms

  7. 窗口什么时候触发:如基于事件时间的窗口 watermark >= end - 1ms

flink反压,如何排查

算子链断链有哪些方式,从代码层面说

在排查flink问题的时候有没有关注过flink的metrics 比如flink自带的metrics

端到端一致性,如果挂掉了怎么办

checkpoint的流程,说说理解

怎么保证flink的一致性,两阶段提交,怎么保证数据不重复,最后解决了吗

flink的检查点怎么实现

flink 怎么保证数据不丢失

flink checkpoint 底层是通过什么实现的

实时用的flink吗?为什么不用spark?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值