您现在的位置是:首页 >技术交流 >flink简介网站首页技术交流

flink简介

kalani呀 2023-06-19 16:00:02
简介flink简介

Flink高手之路一Flink的简介

一、Flink简介

1. Fink的引入

大数据的计算引擎,发展过程有四个阶段

l 第一代:Hadoop的MapReduce,批处理,中间结果放在HDFS上也就是硬盘上,速度很慢,效率很低

l 第二代:支持DAG(有向无环图),Tez和Oozie,批处理

l 第三代:内存计算,Spark,支持批处理和流(实时)处理,比MR快100倍以上

l 第四代:Flink,真正的流批一体,比Spark更快

2. Flink简介

在这里插入图片描述

Flink的官网
在这里插入图片描述
在这里插入图片描述

基于数据流的状态计算

3. 支持的编程语言

Flink对java、scala、python都提供支持,但是Flink使用java开发,最适合java,课程以java语言为例。

4. Flink的特性

在这里插入图片描述

Flink是一个计算框架和分布式的计算处理引擎,基于对流(实时、无界)和批(离散、有界)数据进行有状态的计算,它可以通过集群以内存进行任意规模的数据计算。

l 高吞吐、低延迟、高性能

l 支持带有事件的窗口(window)操作

l 支持有状态的计算

l 内存计算

l 迭代计算

5. Flink四大基石

l 校验点Checkpoint

l 状态State

l Time时间

l 窗口Window

6. 批处理和流处理

l 批处理:有界、持久、大量,处理引擎:MR、SparkSQL、Flink DataSet现在合并为DataStream

l 流处理:无界、实时、持续,处理引擎:Spark Streaming,Flink DataSteam

二、Flink的架构

1. Flink的角色

l JobManager

也叫做Master,用于协调分布式执行、调度任务(task)、协调校验点、协调失败时的恢复,可以配置为高可用(HA),当配置高可用时,只有一台是active,其他的为standby

l TaskManager

也叫做worker,用于执行计算任务,进行数据缓存和交换,至少得有一个worker

2. 编程模型

在这里插入图片描述

l ProcessFunction

在这里插入图片描述

l DataStream API

在这里插入图片描述

l SQL & Table API

在这里插入图片描述

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。