文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Apache Flink介绍

2018-10-20 16:45

关注

Apache Flink介绍

Apache Flink介绍

俗话说知子莫若父,要想了解一门技术就要看官方的介绍。Flink官网对Flink的介绍是这样的:

Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams. Flink has been designed to run in all common cluster environments, perform computations at in-memory speed and at any scale.

额...看不懂。翻译过来就是:

apache flink是一个用于在无界和有界数据流上进行有状态计算的分布式处理框架和引擎。Flink被设计成可以在所有常见的集群环境中运行,以内存速度和任何规模执行计算。

似乎太笼统了。接下来我们就深入的了解一下Flink究竟是一个什么鬼。

数据架构的演变

要想了解Flink我们还得从分布式计算的历史讲起,所以历史课时间到。

在国外一些社区,有很多人讲计算引擎分为了四代,虽然这并不能代表所有人的观点,但是我们可以在这些分代中看出计算引擎的区别。

首先第一代的计算引擎,无疑就是Hadoop承载的MapReduce了。相信了解大数据的童鞋对MapReduce都不会陌生,它将计算分成两部分,一部分是Map阶段,一部分是Reduce阶段。这对于上层应用来说就不得不拆分算法。如果是较为复杂的计算,甚至于不得不实现多个Job的串联,例如迭代计算。

由于第一代计算引擎的弊端,催生了支持DAG ( Directed Acyclic Graph)框架的诞生。支持DAG框架的计算引擎被划分为了第二代计算引擎,比如Tez或Oozie。第二代计算引擎执行的大多数是批量任务。

前两代的计算引擎都是延迟较为严重,没法满足实时性要求比较高的需求。而以Spark为代表的第三代计算引擎很好的解决了这一问题。第三代计算引擎的特点主要是 Job 内部的 DAG 支持(不跨越Job),以及强调的实时计算。这里强调一点,这里的实时计算实质上是微批处理,并不是真正意义上的实时处理。

接下来的第四代计算引擎实现了真正意义上的实时处理,这就是我们今天介绍的Flink。当然Flink除了能够实现数据的实时处理外也很好的支持了批处理和DAG的运算。

迭代计算性能对比测试:Flink > Spark > Hadoop(MR)。迭代次数越多越明显,性能上Flink优于Spark和Hadoop最主要的原因是Flink支持增量迭代,具有对迭代自动优化的功能。

两种数据集和两种处理方式

有界数据与无界数据

Flink最大的特色就是它的流式处理方式。而在介绍Flink的流式处理我们要先了解一下有界数据和无界数据,好,上图:

有界数据流(bounded stream):具有定义的开始点和结束点。

无界数据流(unbounded stream):有一个起点,但没有定义的终点。

无界数据集包括但不限于如下

就现实来说,在Flink出现之前由于处理方式的局限性,我们通常会将一些无界数据流人为的切分成有界数据流,然后在基于有界数据流进行处理。

流处理与批处理

流处理(Streaming):只要有数据生成则马上执行计算程序

批处理(Batch):在有限的时间内执行并运行到完成的处理,完成后释放计算资源

由此可见Spark Streaming其实是批处理。

我们可以使用任一类型的处理模型来处理任一类型的数据集,但不一定是最优的方案。事实上在以前我们一直在用批处理来处理无界数据集,甚至是现在依然在用。

多样的部署方式

Flink提供了多种集群搭建方式:

支持任意数据规模

Flink与所有的大数据计算框架一样,支持横向扩展。也就是说,理论上Flink可以支持无限量的CPU、内存、磁盘和网络IO。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯