(2021-03-11)大数据学习之Flink基础概念以及简单Demo


由于公司要求下周可能会要分享一下Flink。所以这周抽了一些时间学习了一点Flink的知识。也是为了自己总结吧,所以接下来会写一点关于Flink的知识。
OK,话不多说。开始我们今天的唠嗑。

1. 什么是Flink

Apache Flink是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算。Flink能在所有常见的集群环境中运行,并能以内存速度和任意规模进行计算。

以上这句话是Flink官网的描述:https://flink.apache.org/zh/flink-architecture.html

大家看到这可能会懵逼,什么是有边界和无边界数据流呢?

1.1 有边界数据流和无边界数据流

数据流被分为有边界数据流和无边界数据流。
简单来说的话
有边界数据流:定义了流的起始,也定义了流的结束。可以等待摄取了所有的数据之后进行计算。比如:离线数据。
无边界数据流:只定义流的起始,无休止的产生数据。必须持续处理,当摄取数据之后需要立即处理。不能等到所有的数据都达到才处理,因为输入是无限的。比如:实时告警展示,双11大屏展示等。

1.2 有状态计算

每一个具有一定复杂度的流处理都应该是有状态的,除非它是一个单独的事件。否则它一定会提供状态让下一个事件进行后续处理。

说了这么多,大家应该有一些基础的了解。至于为什么是有状态的计算,Flink作为一个大数据的分布式处处理引擎,大数据处理是有联动性的,比如阿里双11大屏显示交易额或者某个商品的交易数量等。它都不会使一个单独的事件。

当然了,面试的时候大家可能不会想的那么多。那就一句话来概括:Flink就是一个支持批流一体的分布式处理引擎

2. Flink的起源

Flink 诞生于欧洲的一个大数据研究项目 StratoSphere。该项目是柏林工业大学的一个研究性项目。早期, Flink 是做 Batch 计算的,但是在 2014 年, StratoSphere 里面的核心成员孵化出 Flink,同年将 Flink 捐赠 Apache,并在后来成为 Apache 的顶级大数据项目,同时 Flink 计算的主流方向被定位为 Streaming, 即用流式计算来做所有大数据的计算,这就是 Flink 技术诞生的背景。
2014 年 Flink 作为主攻流计算的大数据引擎开始在开源大数据行业内崭露头角。区别于 Storm、Spark Streaming 以及其他流式计算引擎的是:它不仅是一个高吞吐、低延迟的计算引擎,同时还提供很多高级的功能。比如它提供了有状态的计算,支持状态管理,支持强一致性的数据语义以及支持 基于Event Time的WaterMark对延迟或乱序的数据进行处理等。

2019年1月8日,阿里巴巴以 9000 万欧元(7亿元人民币)收购了创业公司 Data Artisans。从此Flink开始了新一轮的乘风破浪!
在这里插入图片描述

由于Flink被阿里收购,Flink也有了中文网站。
Apache Flink 中文官网

3. 为什么要用Flink

在这里插入图片描述

主要原因
1.Flink 具备统一的框架处理有界和无界两种数据流的能力
2.部署灵活,Flink 底层支持多种资源调度器。
3.极高的可伸缩性,可伸缩性对于分布式系统十分重要,阿里巴巴双11大屏采用Flink 处理海量数据,使用过程中测得Flink 峰值可达17 亿条/秒。
4.极致的流式处理性能。Flink 相对于Storm 最大的特点是将状态语义完全抽象到框架中,支持本地状态读取,避免了大量网络IO,可以极大提升状态存取的性能。

Flink 是目前开源社区中唯一一套集高吞吐、低延迟、高性能三者于一身的分布式流式数据处理框架。
Spark 只能兼顾高吞吐和高性能特性,无法做到低延迟保障,因为Spark是用批处理来做流处理
Storm 只能支持低延时和高性能特性,无法满足高吞吐的要求

4. 什么是流处理和批处理

在日常工作中,我们通常都会把数据存到DB中,然后将相应的数据取出进行加工和分析。这就涉及到一个时效性的问题。
如果以年、月为单位的进行统计,那么对实时性没有什么要求。但是如果以天、小时或者更小的粒度的数据进行数据,那么要求数据的时效性就很高了。

在这里插入图片描述
Batch Analytics。传统意义上的统计、分析方式:收集数据->放入DB->对数据进行批量处理。
Streaming Analytics 流式计算,顾名思义,就是对数据流进行处理,如使用流式分析引擎如 Storm,Flink 实时处理分析数据,应用较多的场景如实时大屏、实时报表。

简单来说,流处理就是数据来一条处理一条。批处理就是先收集一部分数据然后进行处理。区别就在于:流处理的实时性更强。

5. Flink的应用场景

在这里插入图片描述

从上图可以看出,Flink的应用场景几乎都是针对实时的统计或者数据分析上。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值