大数据高级阶段面试题(实时2)

14.Flink状态管理内部原理是什么?

状态后端:

Flink支持多种状态后端,包括内存,文件系统和分布式存储系统,状态后端负责将数据保存到相应的存储系统中,RocksDB是Flink默认的状态后端,它提供了高性能的本地存储,并能有有效地处理大规模的状态数据。

状态检查点:

Flink通过周期性地生成检查点来实现容错机制,检查点包含了某个时间点的所有状态数据,并将这些数据保存到持久化存储中,当作业发生故障的时候,Flink可以从最近的检查点恢复状态,并继续处理数据流,为了保证一致性,Flink会使用分布式快照算法来确保在生成检查点时不影响作业的正常运行。

15.Flink任务链和任务槽的作⽤是什么?

任务链式将一系列操作符链接在一起形成一个连续的执行链,这样可以减少数据的序列化和反序列化开销,提高作业的执行效率,任务链中操作符会在同一个线程中执行,并且数据可以直接在内存中传递,而不需要经过网路传输和磁盘IO;

任务槽是Flink中用于分配资源和执行任务的单位,每个TaskManager在启动时会预先分配一定数量的任务槽,作业会根据配置的并行度和资源需求来占用这些任务槽。

16.FlinkSQL和TableAPI的区别是什么?

FlinkSql使用类似Sql的语言来编写查询和转换操作,学习起来相对容易一些

TableApi提供了基于流式查询的编程接口,通过链式调用操作符来构建数据处理流程,更加灵活和可控

FlinkSql内置了优化器和执行引擎,能够自动优化查询计划并选择最优的执行策略,提高查询性能和执行效率

TableApi提供了更多的灵活性和扩展性,开发者可以通过自定义函数满足更复杂的数据处理需求。

17.FlinkStreaming如何处理迟到事件?

18.Flink中数据倾斜原因和解决⽅案

原因:

:数据分布不均匀:数据源中的数据分布均匀,导致某些任务处理的数据量远远大于其他任务

:使用了聚合操作:在进行聚合操作时,如果某些键的数据量过大,可能导致特定任务负载过重,造成数据倾斜

解决方案:

①:重分区:通过重新分区将数据均匀的分不到不同的任务中,实现负载均衡。

②:增加并行度:增加作业的并行度,使得数据能够被更多的任务并行处理,从而减少单个任务的负载压力

③:使用合适的窗口策略:在窗口操作中,选择合适的窗口大小和滑动间隔,避免某些窗口的数据量过大。

19.Flink与SparkStreaming的技术选型对⽐

Flink和SparkStreaming是两个流式计算框架,都可以用于实时数据的处理和分析

①:Flink使用事件驱动的流处理模型,可以对无界流和有界流进行处理,它提供了低延迟,一次语义保证以及状态管理等功能。

SparkStreaming基于微批处理模型,将连续的数据流划分为一系列小的批次进行处理,提供了较高的吞吐量和容错性

②:Flink具有自动容错机制,当节点发生故障时,它能够自动恢复并保证数据处理的准确性和一致性

SparkStreaming的容错性依赖于Spark的批处理引擎,需要手动设置检查点机制来实现容错。

③:Flink提供了流处理操作符和窗口函数,同时还支持CEP等高级功能

SparkStreaming相对简化,提供了基本的流处理操作符和窗口函数

20.FlinkSavepoint和Checkpoint的区别

Checkpoint和Savepoint是Flink中用于容错的两个概念

Checkpoint:

①Checkpoint会定期将作业的状态保存到持久化存储中,便于在发生故障时可以恢复到最近一次的Chhekpoint的位置。

②Checkpoint是由Flink系统自动触发和管理的,可以在作业执行的过程中多次被执行,以确保状态的一致性和完整性。

③Checkpoint的主要目的是保证数据的一致性和处理的正确性,通常与状态后端一起使用,将状态保存到分布式文件系统或数据库中。

Savepoint:

Savepoint是Checkpoint的一种特殊形式,它是一种手动触发的Checkpoint,Savepoint的生成个不依赖于时间间隔或者数据量大小,而是由用户自己触发生成的

总结:

Checkpoint是自动触发的,用于故障恢复和容错保障

Savapoint是手动触发的,用于应用程序的部署,升级和回滚

21.Flink状态⼀致性和容错机制

容错机制的核心就是检查点,它是对状态的定期快照,用于保存数据流处理的中间结果,当发生故障的时候可以根据最近的检查点进行状态的恢复来确保数据的一致性和结算结果的正确性

容错语义:

精确一次:每条记录都只会被处理一次,不会重复处理也不会丢失数据

至少一次:每条数据至少会被处理一次,但是数据可能会重复

最多一次:每条记录最多被处理一次,但可能会出现数据丢失的情况

22.Flink批流统⼀的意义及实现

Flink实现流批统一的主要方式是通过DataStreamAPI和DataSetAPI实现的

DataStreamAPI用于处理实时流数据,支持连续的数据流处理

DataStreamAPI,开发人员可以定义数据流的转换,过滤,聚合等操作,并实时的处理流数据

DataSetAPI用于处理批数据,支持静态的数据集处理

使用DataSetAPI,开发人员可以对静态的数据集进行各种转换,过滤聚合等操作。

23.FlinkCEP复杂事件处理应⽤

CEP就是复杂事件处理,就是可以在事件流里面检测到特定的事件组合并进行处理,具体的处理过程是:把事件流中的一个个简单事件,通过一定的规则匹配组合起来,然后对满足这些规则的一组组复杂事件进行转换处理。

CEP的流程分为三个步骤:

①:定义一个匹配规则

②:将匹配规则应用到事件流上,检测满足规则的复杂事件

③:对检测的复杂事件进行处理,得到结果进行输出

24.FlinkWatermark机制

Flink的Watermark机制是一种用于处理事件时间的机制,用于解决流处理中的乱序数据和延迟数据的问题,确保数据处理的准确性和完整性

Watermark可以通过两种方式生成周期性生成和间断性生成

①周期性生成:这种方式是指在固定的时间间隔内生成Watermark

②间断性生成:这种方式是指在数据流中的某些特定位置生成Watermark

有序数据和无序数据

有序数据:

理想状态下,数据应该按照他们生成的先后顺序排队进入流中,遵守先来后到的原则,这样我们就可以从每个数据中提取时间戳,从而插入的水位线也会不断增长,事件始终不断向前推进。

无序数据:

有序流的处理非常简单,但这种情况只存在于理想状态下,我们知道在分布式系统中,数据在节点中传输,会因为网络传输延迟的不确定性,导致数据的先后顺序不一致,例如:一个七秒产生的数据,生成时间肯定比九秒数据早,但是经过传输之后看了能比九秒的数据后到达,这时我们就要用到水位线

25.Flink窗⼝函数的应⽤

滑动窗口:

滑动窗口在固定大小的窗口上定义了一个滑动步长,窗口之间可以有重叠部分,常用于连续的数据流分析

滚动窗口:

滚动窗口将数据按照固定的大小进行划分,窗口之前没有重叠,常用于对实时数据进行周期性的统计分析,如每分钟,每小时。

会话窗口:

会话窗口是根据数据的活动间隔动态定义的窗口,当数据流中出现一段时间内没有数据到达的间隔时,会话窗口结束,会话窗口需要制定两个参数,会话超时时间和间隔时间,当某个数据到达时,会话窗口会检查该数据与前一个数据的时间间隔,如果超过了会话超时时间,则结束前一个会话窗口并开始一个新的会话窗口

26.Kafka和Flink内存参数配置的关系和优化⽅法

优化方法:

监控和调优

定期监控Kafka和Flink集群的内存使用情况,根据实际情况调整相应的内存参数,避免因为内存不足导致的性能问题

合理分配资源

根据集群的规模,负载情况和任务的需求,合理分配和管理内存的资源,确保每个组件都能够得到足够的资源支持

使用压缩

在Kafka和Flink都可以使用压缩技术来减少数据传输和存储的开销,从而节省和网络带宽

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/7793.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux系统使用Docker安装青龙面板并实现远程访问管理面板

文章目录 一、前期准备本教程环境为:Centos7,可以跑Docker的系统都可以使用。本教程使用Docker部署青龙,如何安装Docker详见: 二、安装青龙面板三、映射本地部署的青龙面板至公网四、使用固定公网地址访问本地部署的青龙面板 青龙…

聊聊 ASP.NET Core 中间件(三):如何创建自己的中间件?

前言 本质上,中间件类也是一个普通的 .NET 类,它不需要继承任何父类或者实现任何接口。 但是有几个约定: 需要有一个构造方法构造方法至少要有一个 RequestDelegate 类型的参数,用来指向下一个中间件。需要定义一个名字为 Invo…

嵌入式linux学习第一天

参考正点原子Linux开发文档。记录下知识点。 Shell 基本操作 前面我们说 Shell 就是“敲命令”,那么既然是命令,那肯定是有格式的,Shell 命令的格式 如下: command -options [argument] command: Shell 命令名称。 options&…

雷军-2022.8小米创业思考-6-互联网七字诀之专注:有所为,有所不为;克制贪婪,少就是多;一次解决一个最迫切的需求

第六章 互联网七字诀 专注、极致、口碑、快,这就是我总结的互联网七字诀,也是我对互联网思维的高度概括。 专注 从商业角度看,专注就是要“把鸡蛋尽量放在一个篮子里”。这听起来似乎有些不合理,大家的第一反应可能是“风险会不会…

JUC-synchronized练习-交替打印ABC

今天来练习一下synchronized 简单来利用synchronized实现一个字符串的交替打印 主要的实现设置一个全局的变量state,线程执行通过不断累加state,根据state对三取余的结果来判断该线程是否继续执行还是进入等待。并通过synchronized锁住一个共享变量loc…

线程池会遇到的刁钻问题(下)

文章目录 如何处理线程池中的异常?在并发编程中,线程池和锁有什么关系?如何实现一个可以动态调整大小的线程池?方法一:扩展 ThreadPoolExecutor方法二:使用 ScheduledExecutorService 如何确保线程池中的任…

Fastapi中怎么一次性运行多个Scrapy爬虫

运行Scrapy爬虫很简单,直接"Scrapy crawl 爬虫名称"即可。但是我们如果想在Fastapi中通过接口的方式一次性运行多个爬虫。那该怎么实现? 假如在scrapy下面的spiders里面写了许多爬虫文件,你可以在spiders的__init__.py文件中&…

js 图片渐变

1. 点击图片,使其渐变为另一张图片 通过定义keyframes来创建一个淡入淡出的动画效果。当图片被点击时,先添加淡出动画使图片透明度从0渐变到1,然后在1秒后切换图片源并添加淡入动画使新图片透明度从0渐变到1,实现图片渐变效果。 …

电路板第一次调试注意事项

电路板第一次调试注意事项 调板经验其他人的经验一、上电前检查1、目测检查2、电源短路检查3、连线检查4、元器件安装检查 二、通电后检测1、通电观察2、静态调试3、动态调试 调板经验 1.打开原理图 PCB,熟悉一遍。 2.拿到板,找到输入正负极&#xff0…

VUE的回调函数,使用this变量undefined,怎么办

由于预订的抓拍方案无法令人满意,于是又回到了直接在WEB抓拍的方案。这个我信心满满,因为之前的代码已经验证过了。 验证是通过的,想法是简单的,现实是不通的。我一点抓拍按钮,没反应啊。这是怎么回事呢?于…

自动化机器学习——贝叶斯优化

自动化机器学习——贝叶斯优化 贝叶斯优化是一种通过贝叶斯公式推断出目标函数的后验概率分布,从而在优化过程中不断地利用已有信息来寻找最优解的方法。在贝叶斯优化中,有两个关键步骤:统一建模和获得函数的优化。 1. 统一建模 在贝叶斯优…

.双链表.

题目: 实现一个双链表,双链表初始为空,支持 55 种操作: 在最左侧插入一个数;在最右侧插入一个数;将第 k𝑘 个插入的数删除;在第 k𝑘 个插入的数左侧插入一个数&#xf…

MYSQL-使用事务保证数据完整性

什么是事务? 事务(Transaction)是作为单个逻辑工作单元执行的一系列操作 多个操作作为一个整体向系统提交,要么都执行,要么都不执行 事务的特性: 事务必须具备以下四种属性,简称ACID属性 1、…

新型中医揿针如何降血糖呢?

点击文末领取揿针的视频教程跟直播讲解 “新型针贴”专用揿针是为“埋针疗法”特制治的一种特殊针具,它是古代针刺留针方法的发展。具体来说,它是将特制针具刺入皮内,固定后留置一定时间,利用其持续微弱的刺激作用来治疗疾病的一…

做抖音小店需要注意什么?这几点很多人不知道,看完防踩坑

大家好,我是电商笨笨熊 抖音小店虽然推出了一段时间,但是依旧有新手玩家陆陆续续加入其中; 对于很多新手来说,只看到了其中红利,但却没有看到其中包含的一些运营小细节,且这些细节决定你店铺未来发展&…

现代城市化生活下,很多人有高薪,但是工作压力大,幸福度和自由度不一定高,从社会发展和哲学的角度来解读一下

在现代城市化生活中,高薪与工作压力、幸福度和自由度的关系,确实是一个值得从社会发展和哲学角度深入探讨的话题。 从社会发展角度看 经济驱动:随着社会的快速发展,经济成为推动社会进步的重要力量。人们为了追求更高的生活质量…

u段麦克风方案无线技术的特点与优势

UHF无线麦克风相比其他无线技术具有多个优势: 低成本和高效率:UHF无线麦克风系统可以实现低成本的解决方案,特别是在短距离应用中,如教室中的助听设备。这种系统不仅成本较低,还能提供与电话质量相近的声音质量&#…

【redis】Redis数据类型(四)Set类型

目录 Set类型介绍使用场景 Set类型数据结构set的单个元素的添加过程IntSet哈希表内存结构 常用命令SADD示例 SREM示例 SMEMBERS示例 SISMEMBER示例 SCARD示例 SMOVE示例 SPOP示例 SRANDMEMBER示例 SINTER示例 SINTERSTORE示例 SUNION示例 SUNIONSTORE示例 SDIFF示例 SDIFFSTORE…

常用邮箱汇总

01. 临时邮箱 24小时邮箱:http://24mail.chacuo.net60分钟邮箱:https://www.guerrillamail.com/zh/10 分钟邮箱:https://linshiyouxiang.net/10 分钟邮箱:https://temp-mail.org/zh/10 分钟邮箱:https://10minutemail…

webrtc应用举例

WebRTC(Web Real-Time Communication)是一种用于在Web浏览器和移动应用程序之间进行实时通信的开放标准。以下是一些WebRTC应用的例子: 1. **WebRTC电话**:用户可以通过Web浏览器进行点对点的音频和视频通话,无需安装…