美文网首页
Flink简介

Flink简介

作者: 安申 | 来源:发表于2020-06-11 00:37 被阅读0次

1.初识Flink

        Flink起源于Stratosphere项目,Stratosphere是在2010~2014年由3所地处柏林的大学和欧洲的一些其他的大学共同进行的研究项目,2014年4月Stratosphere的代码被复制并捐赠给了Apache软件基金会,参加这个孵化项目的初始成员是Stratosphere系统的核心开发人员,2014年12月,Flink一跃成为Apache软件基金会的顶级项目。

2.Flink概念

        Apache Flink是一个框架和分布式处理引擎,用于对无界有界数据流进行有状态计算。

3.Flink Logo

左:Apache 右:Flink

        上图为Apache和Flink的Logo图,从颜色上不难看出它们之间的亲密程度;相比之下Spark可能要疏远一些,仅仅是拥有了Apache的姓。

4.Flink重要特点

(1)事件驱动型(Event-driven)

        事件驱动型应用是一类具有状态的应用,它从一个或多个事件流提取数据,并根据到来的事件触发计算、状态更新或其他外部动作。比较典型的就是以kafka为代表的消息队列几乎都是事件驱动型应用。

        一个事件驱动系统典型地由事件消费者和事件产生者组成。事件消费者向事件管理器订阅事件,事件产生者向事件管理器发布事件。当事件管理器从事件产生者那接收到一个事件时,事件管理把这个事件转送给相应的事件消费者。如果这个事件消费者是不可用的,事件管理者将保留这个事件,一段间隔之后再次转送该事件消费者。这种事件传送方法在基于消息的系统里就是:储存(store)和转送(forward)。

Event-Driver

(2)流与批的世界观

批处理的特点是有界、持久、大量,非常适合需要访问全套记录才能完成的计算工作,一般用于离线统计。

流处理的特点是无界、实时,  无需针对整个数据集执行操作,而是对通过系统传输的每个数据项执行操作,一般用于实时统计。

在spark的世界观中,一切都是由批次组成的,离线数据是一个大批次,而实时数据是由一个一个无限的小批次组成的。

而在flink的世界观中,一切都是由流组成的,离线数据是有界限的流,实时数据是一个没有界限的流,这就是所谓的有界流和无界流。

无界数据流:无界数据流有一个开始但是没有结束,它们不会在生成时终止并提供数据,必须连续处理无界流,也就是说必须在获取后立即处理event。对于无界数据流我们无法等待所有数据都到达,因为输入是无界的,并且在任何时间点都不会完成。处理无界数据通常要求以特定顺序(例如事件发生的顺序)获取event,以便能够推断结果完整性。

有界数据流:有界数据流有明确定义的开始和结束,可以在执行任何计算之前通过获取所有数据来处理有界流,处理有界流不需要有序获取,因为可以始终对有界数据集进行排序,有界流的处理也称为批处理。

有界流和无界流

如上图所示:

1.无界流表示有头无尾的数据流,知道何时开始,但不知道何时结束

2.有界流表示有头有尾的数据流,一个已知的固定大小

3.由图可知,可以将无界流中的一段视为有界流,故无界流有界流只是相对的概念

相关文章

  • FLINK实战-使用CEP进行网站状态监控报警和报警恢复

    flink CEP 简介 flink CEP(Complex event processing),是在Flink之...

  • Flink的API操作

    1、Flink简介 官网[https://flink.apache.org/zh/] Apache Flink® ...

  • flink简介

    Flink简介 其结构图如下: Flink架构 Flink的分布式执行主要分成两个重要进程:master和work...

  • Flink简介

    Flink是一个分布式处理引擎,对无界数据流和有界数据流进行计算。 流数据(双十一)传统数据架构是基于有限数据集的...

  • Flink简介

    1.初识Flink Flink起源于Stratosphere项目,Stratosphere是在2010~2014年...

  • Flink简介

    Flink是什么? flink Apache的一个顶级开源项目,同时它是一个 可以处理有界和无界数据流 的...

  • Flink简介

    一、Flink概述Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Fli...

  • Flink简介

    第一章 初识Flink 大数据开发总体架构 数据传输层:常用的数据传输工具有Flume、Sqoop、Kafka。F...

  • Apache Flink 进阶(四):Flink on Yarn

    简介: 本文主要介绍 Flink on Yarn/K8s 的原理及应用实践,文章将从 Flink 架构、Flink...

  • Flink QuickStart

    简介 本篇讲解如何创建Flink的初始项目。 Flink支持使用Java或者Scala语言来编写Flink应用。这...

网友评论

      本文标题:Flink简介

      本文链接:https://www.haomeiwen.com/subject/vstvtktx.html