Flink面试手册 核心概念和基础篇.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Flink面试手册 - 核心概念和基础篇 支持高吞吐、低延迟、高功能的流处理 支持无形态计算的 Exactly-once 语义 支持带有大事时间的窗口?(Window)?操作 支持基于轻量级分布式快照(Snapshot)实现的容错 支持高度机警的窗口 (Window) 操作,支持基于 time、count、session 以及 data-driven 的窗口操作 支持具有?Backpressure?功能的持续流模型 支持迭代计算 一个运转时同时支持 Batch on Streaming 处理和 Streaming 处理 Flink?在?JVM?内部实现了本人的内存管理 支持程序自动优化:避开特定情况下 Shuffle、排序等昂贵操作,两头结果有必要进行缓存 一、 简约引见一下 Flink Flink 是一个框架和分布式处理引擎,用于对无界和有界数据流进行无形态计算。并且 Flink 供应了数据分布、容错机制以及资源管理等核心功能。 Flink供应了诸多高笼统层的API以便用户编写分布式任务: DataSet API, 对静态数据进行批处理操作,将静态数据笼统成分布式的数据集,用户可以便利地使用Flink供应的各种操作符对分布式数据集进行处理,支持Java、Scala和Python。 DataStream API,对数据流进行流处理操作,将流式的数据笼统成分布式的数据流,用户可以便利地对分布式数据流进行各种操作,支持Java和Scala。 Table API,对结构化数据进行查询操作,将结构化数据笼统成关系表,并通过类SQL的DSL对关系表进行各种查询操作,支持Java和Scala。 此外,Flink 还针对特定的应用领域供应了领域库,例如: Flink ML,Flink 的机器学习库,供应了机器学习Pipelines API并实现了多种机器学习算法。 Gelly,Flink 的图计算库,供应了图计算的相关API及多种图计算算法实现。 二、 Flink 相比传统的 Spark Streaming 有什么区分? 这个问题是一个格外宏观的问题,由于两个框架的不同点格外之多。但是在面试时有格外重要的一点肯定要回答出来:Flink 是标准的实时处理引擎,基于大事驱动。而 Spark Streaming 是微批(Micro-Batch)的模型。 下面我们就分几个方面引见两个框架的次要区分: 1. 架构模型 Spark Streaming 在运转时的次要角色包括:Master、Worker、Driver、Executor,Flink 在运转时次要包含:Jobmanager、Taskmanager和Slot。 2. 任务调度 Spark Streaming 连续不断的生成微小的数据批次,构建有向无环图DAG,Spark Streaming 会依次创建 DStreamGraph、JobGenerator、JobScheduler。 Flink 依据用户提交的代码生成 StreamGraph,经过优化生成 JobGraph,然后提交给 JobManager进行处理,JobManager 会依据 JobGraph 生成 ExecutionGraph,ExecutionGraph 是 Flink 调度最核心的数据结构,JobManager 依据 ExecutionGraph 对 Job 进行调度。 3. 时间机制 Spark Streaming 支持的时间机制有限,只支持处理时间。 Flink 支持了流处理程序在时间上的三个定义:处理时间、大事时间、注入时间。同时也支持?watermark机制来处理滞后数据。 4. 容错机制 对于 Spark Streaming 任务,我们可以设置 checkpoint,然后假如发生毛病并重启,我们可以从上次 checkpoint 之处恢复,但是这个行为只能使得数据不丢失,可能会反复处理,不能做到恰好一次处理语义。 Flink 则使用两阶段提交协议来处理这个问题。 三、 Flink 的组件栈有哪些? 依据 Flink 官网描述,Flink 是一个分层架构的系统,每一层所包含的组件都供应了特定的笼统,用来服务于上层组件。 自下而上,每一层分别代表: Deploy 层:该层次要涉及了Flink的部署模式,在上图中我们可以看出,Flink 支持包括local、Standalone、Cluster、Cloud等多种部署模式。 Runtime 层:Runtime层供应了支持 Flink 计算的核心实现,比如:支持分布式 Stream 处理、JobGraph到ExecutionGraph的映射、调度等等,为上层API层供应基础服务。 API层:API 层次要实现了面对流(Stream)处理和批(Batch)处理API,其中面对流

文档评论(0)

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

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

1亿VIP精品文档

相关文档