Flink的概念及特点是什么
Flink的概念及特点是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
公司主营业务:网站设计制作、成都做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出凤泉免费做网站回馈大家。
Flink概念
ApacheFlink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时,提供支持流处理和批处理两种类型应用的功能。
现有的开源计算方案,会把流处理和批处理作为两种不同的应用类型,因为它们所提供的SLA(Service-Level-Aggreement)是完全不相同的:流处理一般需要支持低延迟、Exactly-once保证,而批处理需要支持高吞吐、高效处理。
Flink从另一个视角看待流处理和批处理,将二者统一起来:Flink是完全支持流处理,也就是说作为流处理看待时输入数据流是无界的;批处理被作为一种特殊的流处理,只是它的输入数据流被定义为有界的。
Flink特点
Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时,提供支持流处理和批处理两种类型应用的功能。
现有的开源计算方案,会把流处理和批处理作为两种不同的应用类型,因为它们所提供的SLA(Service-Level-Aggreement)是完全不相同的:流处理一般需要支持低延迟、Exactly-once保证,而批处理需要支持高吞吐、高效处理。
Flink从另一个视角看待流处理和批处理,将二者统一起来:Flink是完全支持流处理,也就是说作为流处理看待时输入数据流是无界的;批处理被作为一种特殊的流处理,只是它的输入数据流被定义为有界的。
Flink技术栈
Flink首先支持Local的执行环境,所有模块组件都可以运行在同一个JVM进程中,主要是方便开发调试,使用者在开发Flink应用时可以在IDE环境中方便的本地运行或是设置断点进行代码调试。此外Flink支持Standalone模式进行分布式部署,Flink的JobManager和TaskManager可以部署在多台节点上,组成一个集群,管理集群资源,执行分布式任务。同时Flink也可以委托YARN进行资源管理,Flink的Job通过YARN申请资源。最后,Flink也支持Google和Amazon的公有云平台,Flink的Job可以直接提交到公有云上执行。用户开发的同一个Flink业务逻辑,无需任何修改,可随时迁移到不同的执行环境执行。
Flink架构
Client负责提交Flink作业,首先将用户的Flink Job翻译并优化成图状的Dataflow,并提交给JobManager,JobManager将Flink DataFlow切分成分布式task,并按照集群的资源配置调度task,将task分发到TaskManger执行。TaskManager可能有多个,执行具体的task,且负责task与task之间的数据传输。不同于MapReduce,Flink的TaskManger类似于Spark的Executor,task以线程而非进程的粒度在TaskManager中执行。在Standalone模式下,JobManger和TaskManager负责资源的管理,而在YARN模式下,JobManager相当于ApplicationMaster, 而TaskManger相当于Executor。只是负责task的调度与执行。
Flink编程模型
最底层级的抽象仅仅提供了有状态流。实际上,大多数应用并不需要上述的底层抽象,而是针对 核心API(Core APIs) 进行编程,比如DataStream API(有界或无界流数据)以及DataSet API(有界数据集)Table API 是以 表 为中心的声明式DSL,其中表可能会动态变化(在表达流数据时)。
Flink程序执行过程
Client负责提交Flink作业,首先将用户的Flink Job翻译并优化成图状的Dataflow,并提交给JobManager,JobManager将Flink DataFlow切分成分布式task,并按照集群的资源配置调度task,将task分发到TaskManger执行。TaskManager可能有多个,执行具体的task,且负责task与task之间的数据传输。不同于MapReduce,Flink的TaskManger类似于Spark的Executor,task以线程而非进程的粒度在TaskManager中执行。在Standalone模式下,JobManger和TaskManager负责资源的管理,而在YARN模式下,JobManager相当于ApplicationMaster, 而TaskManger相当于Executor。只是负责task的调度与执行
关于Flink的概念及特点是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。
当前标题:Flink的概念及特点是什么
URL链接:http://ybzwz.com/article/ggpgjp.html