Flink常见面试问题汇总

Flink(九)CEP Flink CEP 阅读详情

问题: 为什么使用 Flink 替代 Spark?

解答:主要考虑的是 flink 的低延迟、高吞吐量和对流式数据应用场景更好的支持; 另外, flink 可以很好地处理乱序数据, 而且可以保证 exactly-once 的状态一致性。详见文档第一章, 有 Flink 和 Spark 的详细对比。

问题: Flink 的 checkpoint 存在哪里?

解答: 可以是内存, 文件系统, 或者 RocksDB。

问题: 如果下级存储不支持事务, Flink 怎么保证 exactly-once?

解答: 端到端的 exactly-once 对 sink 要求比较高, 具体实现主要有幂等写入和事务性写入两种方式。幂等写入的场景依赖于业务逻辑, 更常见的是用事务性写入。而事务性写入又有预写日志( WAL) 和两阶段提交( 2PC) 两种方式。
如果外部系统不支持事务, 那么可以用预写日志的方式, 把结果数据先当成状态保存, 然后在收到 checkpoint 完成的通知时, 一次性写入 sink 系统。

问题: 说一下 Flink 状态机制?

解答:Flink 内置的很多算子, 包括源 source,数据存储 sink 都是有状态的。在Flink 中, 状态始终与特定算子相关联。Flink 会以 checkpoint 的形式对各个任务的状态进行快照, 用于保证故障恢复时的状态一致性。Flink 通过状态后端来管理状态和 checkpoint 的存储, 状态后端可以有不同的配置选择。

问题: Flink 的 checkpoint 机制对比 spark 有什么不同和优势?

解答: spark streaming 的 checkpoint 仅仅是针对 driver 的故障恢复做了数据和元数据的 checkpoint。而 flink 的 checkpoint 机制 要复杂了很多, 它采用的是轻量级的分布式快照, 实现了每个算子的快照, 及流动中的数据的快照。

问题: 请详细解释一下 Flink 的 Watermark 机制。

解答: Watermark 本质是 Flink 中衡量 EventTime 进展的一个机制, 主要用来处理乱序数据。

问题: Flink 中 exactly-once 语义是如何实现的, 状态是如何存储的?

解答: Flink 依靠 checkpoint 机制来实现 exactly-once 语义, 如果要实现端到端的 exactly-once, 还需要外部 source 和 sink 满足一定的条件。状态的存储通过状态后端来管理, Flink 中可以配置不同的状态后端。

问题: Flink CEP 编程中当状态没有到达的时候会将数据保存在哪里?

解答: 在流式处理中, CEP 当然是要支持 EventTime 的, 那么相对应的也要支持数据的迟到现象, 也就是 watermark 的处理逻辑。CEP 对未匹配成功的事件序列的处理, 和迟到数据是类似的。在 Flink CEP 的处理逻辑中, 状态没有满足的和迟到的数据, 都会存储在一个 Map 数据结构中, 也就是说, 如果我们限定判断事件序列的时长为 5 分钟, 那么内存中就会存储 5 分钟的数据, 这在我看来, 也是对内存的极大损伤之一。

问题: Flink 三种时间语义是什么, 分别说出应用场景?

解答:
1.Event Time: 这是实际应用最常见的时间语义。

2.Processing Time: 没有事件时间的情况下, 或者对实时性要求超高的情况下。

3.Ingestion Time: 存在多个 Source Operator 的情况下, 每个 Source Operator 可以使用自己本地系统时钟指派 Ingestion Time。后续基于时间相关的各种操作, 都会使用数据记录中的 Ingestion Time。

问题: Flink 程序在面对数据高峰期时如何处理?

解答: 使用大容量的 Kafka 把数据先放到消息队列里面作为数据源, 再使用Flink 进行消费, 不过这样会影响到一点实时性。

问题: 怎么去重? 考虑一个实时场景: 双十一场景, 滑动窗口长度为 1 小时, 滑动距离为 10 秒钟, 亿级用户, 怎样计算 UV?

解答: 使用类似于 scala 的 set 数据结构或者 redis 的 set 显然是不行的, 因为可能有上亿个 Key,内存放不下。所以可以考虑使用布隆过滤器(Bloom Filter) 来去重。

问题: 公司怎么提交的实时任务, 有多少 Job Manager?

解答:

  1. 我们使用 yarn session 模式提交任务。每次提交都会创建一个新的Flink 集群, 为每一个 job 提供一个 yarn-session, 任务之间互相独立, 互不影响, 方便管理。任务执行完成之后创建的集群也会消失。线上命令脚本如下:
    bin/yarn-session.sh -n 7 -s 8 -jm 3072 -tm 32768 -qu root.. -nm - -d
    其中申请 7 个 taskManager,每个 8 核,每个 taskmanager 有 32768M 内存。
    2.集群默认只有一个 Job Manager。但为了防止单点故障,我们配置了高可用。我们公司一般配置一个主 Job Manager, 两个备用 Job Manager, 然后结合ZooKeeper 的使用, 来达到高可用。
Flink常见面试题总结(全是干货哦!!!) Flink常见面试题总结1、面试题一:应用架构2、面试题二:压测和监控3、面试题三:为什么用 Flink4、面试题四:checkpoint 的存储5、面试题五:exactly-once 的保证6、面试题六:状态机制7、面试题七:海量 key 去重8、面试题八:checkpoint 与 spark 比较9、面试题九:watermark 机制10、面试题十:exactly-once 如何实现11、面试题十一:CEP12、面试题十二:三种时间语义13、面试题十三:数据高峰的处理 更多关于Flink的详细内容请查 阅读详情

相关推荐

Flink面试题整理,全是干货,自己整理的

一,前言 俗话说,金九银十,为了帮助广大同行面试准备,或者帮助想要了解Flink的同学带着问题思考去学习Flink,我先做了一个初步的面试题汇总,这些面试题有些是大家问的比较多的,有些是自己遇到的,有些是在群里面大家问到的问题,可能有的有答案,有的没有答案,如果有大佬或者谁有时间可以补全之后再发出来 ,这个只是抛砖引玉。 二,Flink学习资料怎么找~ 1,首先作为初学者我建议大家先了...

qq_31866793的博客 1万+

flink入门-09-Flink CEP简介

1、 什么是 CEP ? • 复杂事件处理(Complex Event Processing,CEP) • Flink CEP是在 Flink 中实现的复杂事件处理(CEP)库 • CEP 允许在无休止的事件流中检测事件模式,让我们有机会掌握数据中重要的部分 • 一个或多个由简单事件构成的事件流通过一定的规则匹配,然后输出用户想得到的数据 — 满足规则的复杂事件 2、CEP 的特点 • 目标:从有序的简单事件流中发现一些高阶特征 • 输入:一个或多个由简单事件构成的事.

q287573145的博客 7456

Flink的面试题

状态指的是在处理数据流时积累的数据,它是 FLINK 中一个重要的抽象,允许对数据进行复杂的操作和计算。通过 BroadcastState 和 BroadcastStream,可以实现跨多个数据流的共享数据,提供了一种灵活的方式来处理具有多个数据源或全局状态的数据流。答案22:Window API 是 FLINK 中用于处理时间窗口和计数窗口的 API,提供了方便的窗口操作和聚合函数。状态指的是在处理数据流时积累的数据,而时间则决定了如何处理流中的事件时间戳和事件的时间顺序。它表示了事件时间戳的延迟程度。

smile6868的博客 1948

flink cep

本文详细的介绍了flink cep的概念与基础用法;

IT云清 5644

Flink常见面试问题(附答案)

​Apache Flink是一个开源的流处理和批处理框架,可以实现快速、可靠、可扩展的大数据处理。​​窗口是Flink中用于对无限数据流进行有界处理的机制。它将无限流切分为有限的、不重叠的块,并对每个窗口进行计算。​。

1万+

【面试系列】Flink 30个高频面试题及详细解答

本文汇总了Flink技术在面试中的常见问题,分为初级、中级和高级三个层次,并提供了详细的解答。初级问题主要关注Flink的基本概念与核心功能;中级问题涉及Flink的流处理机制、故障恢复及窗口机制等;高级问题则考察Flink的优化、性能调优及与其他大数据技术的集成等高级知识。文中还总结了面试中需要重点掌握的Flink知识点,以帮助候选人有效备考。

在路上的专栏 632

Flink之复杂事件处理CEP

FlinkCEP是在Flink之上实现的复杂事件处理(CEP)库。它允许我们检测无穷无尽的事件流中的事件模式,让我们有机会掌握数据中的重要内容。

积跬步,至千里。 1598

大数据知识面试题-Sqoop(2022版)

sqoop是apache旗下一款**“Hadoop和关系数据库服务器之间传送数据”**的工具。导入数据:MySQL,Oracle导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统;**导出数据:**从Hadoop的文件系统中导出数据到关系数据库mysql等将导入或导出命令翻译成mapreduce程序来实现在翻译出的mapreduce中主要是对inputformat和outputformat进行定制 mysql导入到hive 从hdfs导出到mysql 1.2.2、sqoop中文

拉格朗日的学习笔记 2031

Flink CEP

一、基本概念 1. CEP 是什么   所谓CEP,其实就是“复杂事件处理(Complex Event Processing)”的缩写;而 Flink CEP,就是 Flink 实现的一个用于复杂事件处理的库(library)。   那到底什么是“复杂事件处理”呢?就是可以在事件流里,检测到特定的事件组合并进行处理,比如说“连续登录失败”,或者“订单支付超时”等等。   具体的处理过程是,把事件流中的一个个简单事件,通过一定的规则匹配组合起来,这就是“复杂事件”;然后基于这些满足规则的一组组复杂事件进行转换

mengxianglong123的博客 5536

【UE5 C++开发指南】从零配置Visual Studio 2022开发环境

本文详细指导如何从零开始为UE5 C++开发配置Visual Studio 2022环境。文章强调了VS2022与UE5的深度兼容性,并逐步讲解了社区版下载、核心工作负载(如“使用C++的游戏开发”)与组件安装、界面优化、专属工具设置以及首个C++项目的创建与验证流程,帮助开发者高效搭建专业开发环境。

weixin_29016865的博客 394

MATLAB并行开不了的解决办法

在服务器上新安装了MATLAB 2013b,在开并行计算的时候出现了下列问题 经过在网上搜多这个问题,我感觉这个问题应该是安装的时候的验证问题或者激活不成功之类的。注意其中有一句validate the profile ‘local’ in the Cluster Profile Manager.在matlab官网上找到了设置Cluster Manager的教程,如下 parallel>

sinat_36713319的博客 5987

Flink常见的面试问题汇总

文章目录11.1.面试题一:应用架构,公司怎么提交的实时任务,有多少 Job Manager?11.2.怎么做压力测试和监控?11.3、为什么使用 Flink 替代 Spark?11.4、Flink 的 checkpoint 存在哪里?11.5、问题:如果下级存储不支持事务,Flink 怎么保证 exactly-once?11.5.1、Flink 中 exactly-once 语义是如何实现的,状态是如何存储的?11.6、问题:说一下 Flink 状态机制?11.7、怎么去重?考虑一个实时场景:双十一场景,

chbxw 3128

Origin画图——获取论文图中数据

有时候需要已发表论文的图的数据,这里使用Origin软件取值,并且可以实现对图形再次画图。 Step 1. 打开origin软件,点击工具,图形数字化工具。 Step 2. 打开要获取数据的图片。拉动红蓝坐标,与图的坐标轴所贴合。 Step 3. 打开要获取数据的图片。拉动红蓝坐标,与图的坐标轴所贴合。 Step 3. 设置参数横轴起始坐标为300-900,纵轴为1.8-2.6. Step 4. 点击第五个手动取点,取出图中数据点。 Step 5. 依次对原图进行取点。点击项目资源查看图。

qq_42278015的博客 5184

flink进阶篇-12-常见面试问题汇总

1.应用架构 问题:公司怎么提交的实时任务,有多少 Job Manager、Task Manager? 解答: 1)我们使用 yarn session 模式提交任务,该方式特点:每次提交都会创 建一个新的 Flink 集群,为每一个 job 提供资源,任务之间互相独立,互不影响, 方便管理。任务执行完成之后创建的集群也会消失。线上命令脚本如下: bin/yarn-session.sh -n 7 -s 8 -jm 3072 -tm 32768 -qu root.. -nm - -d 其中申请 7 个

q287573145的博客 488

STK与Matlab连接报错?手把手教你解决mexConnect函数执行问题(附完整避坑指南)

本文针对STK与Matlab连接时常见的“mexConnect函数执行”报错,提供了完整的诊断与解决方案。文章深入剖析了错误根源在于路径冲突或文件损坏,并手把手指导用户通过定位STK连接器文件、正确配置Matlab路径(包括使用addpath命令)以及执行初始化测试三步走策略,彻底解决问题。同时附上版本兼容性检查、安装避坑指南及构建稳健工作流的建议,帮助用户建立可靠的STK-Matlab联合仿真环境。

yolo5detector的博客 472

把 SAP Fiori Launchpad 配置文件放进 MIME Repository:从上传、缓存控制到可访问路径的完整实践

文章摘要: 在 SAP Fiori 项目中,Launchpad 配置文件的部署是关键挑战,核心在于通过 MIME Repository 而非直接修改标准文件来实现稳定配置。与 BSP Repository 相比,MIME Repository 支持显式设置客户端缓存时间(如 SAP 推荐的 7 天),适合生产环境治理。配置文件需为 JSON 格式,部署时需确保路径可访问(通过 ICF node 和 external alias),并注意语法错误会导致静默失效。实操步骤包括:在 SE80 中创建专用目录、设置

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 92

Flink常见面试题汇总

1.面试题一:应用架构 问题:公司怎么提交的实时任务,有多少 Job Manager? 解答: 1. 我们使用 yarn session 模式提交任务。每次提交都会创建一个新的 Flink 集群,为每一个 job 提供一个 yarn-session,任务之间互相独立,互不影响, 方便管理。任务执行完成之后创建的集群也会消失。 2. 集群默认只有一个 Job Manager。但为了防止单点故障,我们配置了高可用。 我们公司一般配置一个主 Job Manager,两个备用 Job Manager,然后结合 Zo

weixin_45858664的博客 1516

108、AWB 时间滤波器:帧间白平衡平滑,防止色彩跳变与过冲

摘要: 文章探讨了AWB(自动白平衡)时间滤波器的设计与优化,以解决帧间白平衡跳变和过冲问题。通过自适应状态机(STABLE/TRANSITION/JUMP)动态调整平滑系数alpha,结合帧率归一化和过冲保护(方向检测+限幅),实现场景切换快速响应与静态稳定性的平衡。作者分享了工程经验:避免固定阈值、联动AE/AF、真实场景验证,并推荐简化卡尔曼滤波替代IIR。最终方案在旗舰机前置摄像头中成功消除“闪白”现象,强调参数需动态适应光照与色温变化。

sundong_81的博客 64

flink source 同步_Flink面试题

1、面试题一:应用架构 问题:公司怎么提交的实时任务,有多少 Job Manager? 解答: 1. 我们使用 yarn session 模式提交任务。每次提交都会创建一个新的 Flink 集群,为每一个 job 提供一个 yarn-session,任务之间互相独立,互不影响, 方便管理。任务执行完成之后创建的集群也会消失。线上命令脚本如下: bin/yarn-session.sh -n 7 -s...

weixin_39981360的博客 429

基于Playwright与反反爬技术的BOSS直聘数据爬取实战

本文将详细介绍如何使用Python最新技术栈(Playwright+Asyncio)构建一个高效、稳定的BOSS直聘数据爬虫系统。文章包含完整的技术选型分析、反爬机制破解方案、分布式爬虫架构设计以及数据处理存储方案,提供可直接运行的代码示例,并探讨爬虫开发中的法律与伦理问题。

2201_76125261的博客 1466

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Flink案例代码,面试题

公众号zhisheng : https://github.com/zhisheng17/flink-learning 面试题来自微信公众号地址: https://mp.weixin.qq.com/s/RT4YUkUUNVO1mfihPoTVjQ Flink面试题,有时间会解决这些问题: 1、为何我使用 ValueState 保存状态 Job 恢复是状态没恢复? 2、fl...

qq_31866793的博客 6622

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

在Flink如此火热的时期,这些Flink必备面试题,来看看你掌握了多少(一)

随着近几年大数据的飞速发展,不仅对数据量的存储和计算有着非常高的要求,在实时性方面,也是有着很高的要求。说到实时性,就不得不说到Flink了。在Flink发展的如火如荼的今天,也相信有许多公司在使用。这个小编在今年面试的时候深有体会,虽然也被问得一头雾水~~哈哈。接下来小编就分享一篇关于Flink的必备面试题。希望在复习的同时也能帮助到大家。由于水平有限,博客中难免会有一些错误,有纰漏之处恳请各位大佬不吝赐教! 小编博客主页:https://blog.youkuaiyun.com/Mr_Yang888 尽管当前水平可.

Mr_Yang888的博客 1016

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

[2024年]-flink面试真题(二)

4(北京)Flink cdc怎么实现同步增量数据和全量数据,底层区别是什么?2 (北京)flink on yarn的模式有哪几种 , 有什么特点?10 (上海)flink和spark streaming的区别?11(上海)Flink中Barrier工作原理,对齐机制和特点?8 (上海)flink是如何管理kakfa的offset。1(北京)什么是flink的两阶段提交?7 (北京)Flink的内存怎么管理?9 (上海)说一下flink的序列化机制。5 (北京)Flink反压机制?

HANG.NIAN 882

大数据面试题

本文为转载 大数据面试题 https://blog.youkuaiyun.com/qq_42554007/article/details/89460970 https://www.cnblogs.com/xuziyu/p/10800111.html

weixin_43919891的博客 277

大数据面试题---关键问题总结

1.hbase的二级索引怎样建设 2.hbase的数据倾斜问题怎样解决; 3.MapReduce中的数据倾斜问题; 4.MapReduce中的combine与partation有和区别; 5.kafka中分区问题;; 6.flink的exactly-once怎样保证的?? 7.flink的滑动窗口? 8.怎样将kafka与spark与hbase串联起来。 ...

fct2001140269的博客 372
上一篇: Flink入门知识点
下一篇: Flink总结
Poolweet_
博客等级 码龄7年 21粉丝 48原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值