1、Flink的介绍

随着数据的飞速发展,出现了很多热门的开源社区,比如:hadoop、spark、storm社区,他们都有各自专注的适用场景,比如hadoop主要是做数据的存储及批处理计算,spark既可以做批处理也可以做准实时计算,同时也支持机器学习和图计算,storm主要专注于实时计算。

在国外一些开源社区将flink分为四代:

hadoop:

主要是做批处理的,分为Map阶段和reduce阶段,如果业务非常复杂,会有多个map阶段和reduce阶段,因为两个阶段都有输入和输出,所以需要根据业务进行拆分阶段,同时mr的计算依赖的是io,所以性能比较低

 使用DAG(Tez)+MR

通过引入DAG框架,将多个mr阶段串联到一起去执行,类似于我们之前学习的Oozie框架,因为使用的是第三方的DAG框架,相对于第一代来说,性能有了提高

 Spark

spark可以做批计算、流计算、以及sql支持

spark自带了DAG,同时是基于内存的迭代计算,因此性能有了非常大的提高

问题?

为什么在企业中很多公司依然使用Mr进行离线计算?

主要是Mr的稳定性要远远的大于Spark,因为Mr是基于io的计算,基于io的计算相对来说稳定性比较高,虽然计算的比较慢

因为使用spark经常会出现oom(内存溢出),如果内存溢出任务执行失败

Flink

flink可以做批处理、流处理、sql支持

自带了DAG

flink相对于sparkstreaming来说,实时性更加准确,比较高,sparkstreaming本质上还是批处理,通过采用采样时间,每隔一定时间采样一次数据,本质上并没有达到非常高的实时要求

2、什么是FLink

flink可以做实时计算,也可以进行离线计算,同时支持sql语句

自带DAG引擎

flink也可以做机器学习、图计算、复杂事件处理(FlinkCEP)

Apache Flink® — Stateful Computations over Data Streams

即数据流上的有状态的计算。(在数据流上可以进行有状态的计算),数据流也就是流计算,即实时计算

有状态:每个算子的计算结果都是可以进行存储的,假如某个算子发生计算失败,可以将上次保存成功的state数据恢复过来,继续计算即可,不需要重新回溯到数据源端

  • Data Streams ,Flink认为有界数据集无界数据流的一种特例,所以说有界数据集也是一种数据流,事件流也是一种数据流。Everything is streams,即Flink可以用来处理任何的数据,可以支持批处理、流处理、AI、MachineLearning等等。

  • Stateful Computations,即有状态计算。有状态计算是最近几年来越来越被用户需求的一个功能。比如说一个网站一天内访问UV数,那么这个UV数便为状态。Flink提供了内置的对状态的一致性的处理,即如果任务发生了Failover,其状态不会丢失、不会被多算少算,同时提供了非常高的性能。

无界流:意思很明显,只有开始没有结束。必须连续的处理无界流数据,也即是在事件注入之后立即要对其进行处理。不能等待数据到达了再去全部处理,因为数据是无界的并且永远不会结束数据注入。处理无界流数据往往要求事件注入的时候有一定的顺序性,例如可以以事件产生的顺序注入,这样会使得处理结果完整。

有界流:也即是有明确的开始和结束的定义。有界流可以等待数据全部注入完成了再开始处理。注入的顺序不是必须的了,因为对于一个静态的数据集,我们是可以对其进行排序的。有界流的处理也可以称为批处理

其它特点:

  • 性能优秀(尤其在流计算领域)

  • 高可扩展性

  • 支持容错

  • 纯内存式的计算引擎,做了内存管理方面的大量优化

  • 支持eventtime的处理

  • 支持超大状态的Job(在阿里巴巴中作业的state大小超过TB的是非常常见的)

  • 支持exactly-once的处理。

框架比较

框架选型:hadoop、spark、flink

首先,我们可以通过下面的性能测试初步了解两个框架的性能区别,它们都可以基于内存计算框架进行实时计算,所以都拥有非常好的计算性能。经过测试,Flink计算性能上略好。

测试环境:

1.CPU:7000个; 2.内存:单机128GB; 3.版本:Hadoop 2.3.0,Spark 1.4,Flink 0.9 4.数据:800MB,8GB,8TB; 5.算法:K-means:以空间中K个点为中心进行聚类,对最靠近它们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。 6.迭代:K=10,3组数据

spark和flink都是部署在hadoop的yarn环境上, 经过测试可以发现,flink的性能大于spark和hadoop的,主要原因是flink是基于内存的计算,flink是具有增量迭代的特性,同时具有对迭代自动优化的功能

3、Flink发展历史

2008年,Flink 的前身已经是柏林理工大学一个研究性项目,原名 StratoSphere

2014年,Flink被Apache孵化器所接受然后迅速地成为了 ASF(Apache Software Foundation)的顶级项目之一。

最新版本已经到了1.15.0

4、Flink在阿里巴巴的应用

大数据流式处理框架Flink介绍相关推荐

  1. Wormhole大数据流式处理平台五大功能

    导读:在上一篇文章「Wormhole 大数据流式处理平台之设计思想」中,我们介绍了Wormhole的设计思想,并给出了Stream.UMS.Flow.Namespace等相关概念的具体定义,从文章中我 ...

  2. 《大数据》2015年第3期“研究”——大数据流式计算:应用特征和技术挑战

    大数据流式计算:应用特征和技术挑战 孙大为 (中国地质大学信息工程学院 北京 100083) 摘要:在大数据时代,数据的时效性日益突出,数据的流式特征更加明显,越来越多的应用场景需要部署在流式计算平台 ...

  3. 大数据流式计算:关键技术及系统实例

    大数据流式计算:关键技术及系统实例 孙大为1, 张广艳1,2, 郑纬民1     摘要:大数据计算主要有批量计算和流式计算两种形态,目前,关于大数据批量计算系统的研究和讨论相对充分,而如何构建低延迟. ...

  4. JStorm—实时流式计算框架入门介绍

    JStorm介绍   JStorm是参考storm基于Java语言重写的实时流式计算系统框架,做了很多改进.如解决了之前的Storm nimbus节点的单点问题.   JStorm类似于Hadoop ...

  5. 响应式编程框架ReactiveCocoa介绍与入门

    ReactiveCocoa是Github团队开发的第三方函数式响应式编程框架,在目前市面上的很多iOS App都大量使用了这个框架.以下我简称这个框架为RAC.我下面会通过几篇博客来和大家一起学习这个 ...

  6. 像Labview一样,使用C#构建测量数据流式处理框架

    1. C# DataFlow介绍 介绍部分参考博客:TPL DataFlow初探(一) 侵权请联系删除 官方解释: TPL(任务并行库) 数据流库向具有高吞吐量和低滞后时间的占用大量 CPU 和 I/ ...

  7. 数据湖:流计算处理框架Flink概述

    系列专题:数据湖系列文章 大数据计算引擎分为离线计算和实时计算,离线计算就是我们通常说的批计算,代表是Hadoop MapReduce.Hive等大数据技术.实时计算也被称作流计算,代表是Storm. ...

  8. 《从0到1学习Flink》—— Apache Flink 介绍

    前言 Flink 是一种流式计算框架,为什么我会接触到 Flink 呢?因为我目前在负责的是监控平台的告警部分,负责采集到的监控数据会直接往 kafka 里塞,然后告警这边需要从 kafka topi ...

  9. 响应式编程框架ReactiveCocoa学习——框架概览

    这篇博客将会继续翻译RAC的官方文档Framework Overview. 主要是对RAC这和框架进行概览的介绍和学习.同时也可以参考我前面的两篇翻译<响应式编程框架ReactiveCocoa学 ...

最新文章

  1. 使用EditPlus打造一个Python IDE
  2. git push 的符号笔有什么用_Git自救指南(一)——工欲善其事,必先利其器,基本概念概览...
  3. 查询复旦大学往年的考研成绩
  4. 玩转mini2440开发板之【在64位WIN7/WIN10系统中安装USB驱动】
  5. 深度搜索剪枝——数的划分
  6. 多布局怎么搭建_怎么制作网页?网页制作基本步骤
  7. session对象的使用
  8. 联想x3850x6重装系统,ibm x3850 x6安装系统,2015ibm服务器x3850x6
  9. 安全篇 ━━ ITlearner ASP探针 V1.2
  10. 一些提高工作效率的黑科技软件
  11. 基于uart的RS232和RS485总线
  12. [CGAL]建立一个正四面体
  13. 三十分钟做一个网页游戏
  14. 黄蓝专场之 | 小蓝单车生死故事
  15. 微信小程序中苹果iOS手机显示时间格式NaN不正确的问题
  16. CSDN KaTeX 公式之等号对齐
  17. Python三角形的构成
  18. 编程人生 | 一位半路出家的程序员的“天命”之选
  19. ZStack实践汇 | 基于ZStack云平台部署FortiGate
  20. python-django后台获取前端数据进行操作以及响应的方式

热门文章

  1. 最新语音识别词错误率WER汇总
  2. (链表)Java 求解环形链表 II
  3. FCA-FineBI认证考试(2022-09-28)
  4. Windows中常用文件拷贝工具的评测和对比 1
  5. 提升语音识别率的技术 强调与唤醒词相符的输入语音数据
  6. cocos匀速贝塞尔曲线运动
  7. python 面向对象(五)约束 异常处理 MD5 日志处理
  8. “expression cannot be used as a function”报错
  9. 嵌入式系统开发技术(00)
  10. python 网盘上传_【Python3】基于文叔叔网盘上传与下载的Python脚本