Apache Flink异军突起受欢迎!

88 篇文章 1 订阅
78 篇文章 0 订阅

大数据产业兴盛期,说到大数据分析引擎,不少人第一时间会想起Spark、Impala等,然而,作为Apache顶级项目的Flink也是不少企业的选择。它到底有什么优势呢?和Spark相比较,它有什么更可取之处呢?且听大圣众包威客平台一一道来。

  一、宝剑露锋芒——Apache Flink

  作为Apache的顶级项目,Flink固然集众多优点于一身,包括快速、可靠可扩展、完全兼容Hadoop、使用简便、表现卓越。

  1.快速

  快,是Flink的主要特点。利用基于内存的数据流,并将迭代处理算法深度集成到系统的运行时中,这样,Flink使得系统能够以极快的速度处理数据密集型和迭代任务。

  2.可靠、可扩展

  得益于Flink包含自己的内存管理组件、序列化框架和类型推理引擎,所以,即使服务器内存被耗尽,Flink也能够很好地运行。

  3.完全兼容Hadoop

  为什么开发者无需做任何修改,就能利用Flink运行历史遗留的MapReduce操作?这是因为Flink支持所有Hadoop的所有输入/输出格式和数据类型。另外,Flink包括基于Java和Scala的用于批量和基于流数据分析的API、优化器和具有自定义内存管理功能的分布式运行时等,这也是它能够完全兼容Hadoop的原因之一。

  4.易用

  让人感到惊喜的是,在无需进行任何配置的情况下,Flink内置的优化器就能够以最高效的方式在各种环境中执行程序。只需要三个命令,Flink就可以运行在Hadoop的新MapReduce框架Yarn上。

  5.表现卓越

  作为一款优秀的大数据分析引擎,Flink能够利用Java或者Scala语言编写出漂亮、类型安全和可为核心的代码,并能够在集群上运行所写程序。这样,使得开发者可以在无需额外处理的情况下使用Java和Scala数据类型。

  一言以蔽之,ApacheFlink具有分布式MapReduce一类平台的高效性、灵活性和扩展性,以及并行数据库查询优化方案,同时,它还支持批量和基于流的数据分析,而且提供了基于Java和Scala的API。总的来说,Flink是一个高效的、分布式的、基于Java实现的通用大数据分析引擎。

  二、双锋互切磋——Apache Spark与Apache Flink

  同样作为流处理引擎,尽管ApacheSpark在大数据处理运用中已经十分著名,然而,没有一款工具能够处理所有问题。在一些特殊的情况下,ApacheFlink可能很好地弥补了ApacheSpark所未能涵盖的地方。那么,应该选哪一款作为企业的大数据分析引擎呢?我们可以通过两者的异同比较,做出最优选择。

  相同之处:

  1.两者都能提供恰好一次的保证,即每条记录都仅处理一次;

  2.与其他处理系统(比如Storm)相比,它们都能提供一个非常高的吞吐量;

  3.两者都能够提供自动内存管理;

  4.它们的容错开销都非常低。

  不同之处:

  事实上,ApacheSpark和ApacheFlink的主要差别,就在于计算模型不同。所以,对于选择ApacheSpark,还是ApacheFlink的问题上,实际上就变成了计算模型的选择。

  要了解ApacheSpark与ApacheFlink的相异之处,首先要对如下三种计算模型有一个初步的理解:

  批处理——基本上处理静态数据,一次读入大量数据进行处理并生成输出。

  微批处理——结合了批处理和连续流操作符,将输入分成多个微批次进行处理,从根本上讲,微批处理是一个“收集然后处理”的计算模型。

  连续流操作符——在数据到达时进行处理,没有任何数据收集或处理延迟。

  实际中,Spark采用的是微批处理模型,而Flink采用的是基于操作符的连续流模型。随着数据处理能力的提高,企业开始认识到,信息的价值在数据产生的时候最高,他们希望在数据产生时处理数据,这就是说需要一个实时处理系统。当需要实时处理时,可以优先选择ApacheFlink。但也不是所有情况都需要实时系统,这时,ApacheSpark则是更优的选择。比如,在电信行业,统计特定用户使用的带宽,微批处理可能是一个更高效的方案。

  至于具体应该怎么选,需要企业在延迟、吞吐量和可靠性等多个方面上去进行权衡。

  纵使科技日新月异,然而,适合的,才是最好的。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值