Flink面试大全总结(全文6万字、110个知识点、160张图).docVIP

Flink面试大全总结(全文6万字、110个知识点、160张图).doc

  1. 1、本文档共142页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Flink面试大全总结(全文6万字、110个知识点、160张图).doc

Flink面试大全总结(全文6万字、110个知识点、160张图) 01、Flink 基础篇 1、什么是Flink?描述一下 Flink是一个以 流 为核心的高可用、高性能的分布式计算引擎。具备?流批一体,高吞吐、低延迟,容错能力,大规模复杂计算等特点,在数据流上提供?数据分发、通信等功能。 2、能否详细解释一下其中的 数据流、流批一体、容错能力等概念? 数据流:所有产生的 数据 都天然带有 时间概念,把 事件?按照时间顺序排列起来,就形成了一个事件流,也被称作数据流。 流批一体: 首先必须先明白什么是 有界数据? 和 无界数据 有界数据,就是在一个确定的时间范围内的数据流,有开始,有结束,一旦确定就不会再改变,一般 批处理?用来处理有界数据,如上图的 bounded stream。 无界数据,就是持续产生的数据流,数据是无限的,有开始,无结束,一般 流处理 用来处理无界数据。如图 unbounded stream。 Flink的设计思想是以 流 为核心,批是流的特例,擅长处理 无界 和 有界?数据,?Flink 提供 精确的时间控制能力 和 有状态 计算机制,可以轻松应对无界数据流,同时?提供 窗口 处理有界数据流。所以被成为流批一体。 容错能力: 在分布式系统中,硬件故障、进程异常、应用异常、网络故障等异常无处不在,Flink引擎必须保证故障发生后?不仅可以 重启 应用程序,还要 确保 其内部状态保持一致,从最后一次正确的时间点重新出发 Flink提供?集群级容错 和?应用级容错 能力 集群级容错:?Flink 与 集群管理器紧密连接,如YARN、Kubernetes,当进程挂掉后,自动重启新进程接管之前的工作。同时具备 高可用性 ,可消除所有单点故障, 应用级容错:Flink 使用 轻量级分布式快照,设计检查点(checkpoint)实现可靠容错。 Flink 利用检查点特性,在框架层面 提供 Exactly-once 语义,即端到端的一致性,确保数据仅处理一次,不会重复也不会丢失,即使出现故障,也能保证数据只写一次。 3、Flink 和 Spark Streaming的区别? Flink 和 Spark?Sreaming?最大的区别在于:Flink 是标准的实时处理引擎,基于事件驱动,以流为核心,而 Spark Streaming 的RDD 实际是一组小批次的RDD集合,是微批(Micro-Batch)的模型,以批为核心。 下面我们介绍两个框架的主要区别: 1. 架构模型 Spark Streaming 在运行时的主要角色包括: 服务架构集群和资源管理 Master / Yarn Application Master; 工作节点 Work / Node Manager; 任务调度器 Driver;任务执行器 Executor Flink 在运行时主要包含:客户端 Client、作业管理 Jobmanager、任务管理Taskmanager。 2. 任务调度 Spark Streaming 连续不断的生成微小的数据批次,构建有向无环图DAG,Spark Streaming 会依次创建 DStreamGraph、JobScheduler。 Flink 根据用户提交的代码生成 StreamGraph,经过优化生成 JobGraph,然后提交给 JobManager进行处理,JobManager 会根据 JobGraph 生成 ExecutionGraph,ExecutionGraph 是 Flink 调度最核心的数据结构,JobManager 根据 ExecutionGraph 对 Job 进行调度,根据物理执行图部署到Taskmanager上形成具体的Task执行。? 3. 时间机制 Spark Streaming 支持的时间机制有限,只支持处理时间。 Flink 支持了流处理程序在时间上的三个定义:事件时间 EventTime、摄入时间 IngestionTime 、处理时间 ProcessingTime。同时也支持 watermark 机制来处理滞后数据。 4. 容错机制 对于 Spark Streaming 任务,我们可以设置 checkpoint,然后假如发生故障并重启,我们可以从上次 checkpoint 之处恢复,但是这个行为只能使得数据不丢失,可能会重复处理,不能做到恰好一次处理语义。 Flink 则使用两阶段提交协议来解决这个问题。 4、Flink的架构包含哪些? Flink?架构分为?技术架构 和 运行架构 两部分。 5、简单介绍一下技术架构 如下图为Flink技术架构: Flink 作为流批一体的分布式计算引擎,必须提供面向开发人员的API层,同时还需要跟外部数据存储进行交互,需要连接器,作业开发、

文档评论(0)

Jane9872 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

认证主体余**

1亿VIP精品文档

相关文档

相关课程推荐