Spark之路Flink专题

Flink从入门到放弃(入门篇1)-Flink是什么

2019-02-26  本文已影响605人  大数据技术与架构

戳更多文章:

1-Flink入门

2-本地环境搭建&构建第一个Flink应用

3-DataSet API

4-DataSteam API

5-集群部署

6-分布式缓存

7-重启策略

8-Flink中的窗口

9-Flink中的Time

Flink时间戳和水印

Broadcast广播变量

FlinkTable&SQL

Flink实战项目实时热销排行

Flink写入RedisSink

17-Flink消费Kafka写入Mysql

本文是例行介绍,熟悉的直接跳过 - 鲁迅

鲁迅: ...

大纲

入门篇:

image

放弃篇:

image

图片显示不了,戳这里:

https://github.com/wangzhiwubigdata/God-Of-BigData/blob/master/Flink

插个广告

image

Flink是什么

一句话概括

Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,提供支持流处理和批处理两种类型应用的功能。

前身

Apache Flink 的前身是柏林理工大学一个研究性项目, 在 2014 被 Apache 孵化器所接受,然后迅速地成为了Apache Software Foundation的顶级项目之一。

特点

现有的开源计算方案,会把流处理和批处理作为两种不同的应用类型:流处理一般需要支持低延迟、Exactly-once保证,而批处理需要支持高吞吐、高效处理。
Flink是完全支持流处理,也就是说作为流处理看待时输入数据流是无界的;批处理被作为一种特殊的流处理,只是它的输入数据流被定义为有界的。

Flink组件栈

image

)

Deployment层

主要涉及了Flink的部署模式,Flink支持多种部署模式:本地、集群(Standalone/YARN)、云(GCE/EC2)

image

Runtime层

Runtime层提供了支持Flink计算的全部核心实现,比如:支持分布式Stream处理、JobGraph到ExecutionGraph的映射、调度等等,为上层API层提供基础服务

API层

API层主要实现了面向无界Stream的流处理和面向Batch的批处理API,其中面向流处理对应DataStream API,面向批处理对应DataSet API

Libaries层

Flink的优势

image image

Flink基本编程模型

  • Flink程序的基础构建模块是流(streams) 与 转换(transformations)
  • 每一个数据流起始于一个或多个 source,并终止于一个或多个 sink

下面是一个由Flink程序映射为Streaming Dataflow的示意图:

image

并行数据流示意图:

image

Flink基本架构

  • Flink是基于Master-Slave风格的架构
  • Flink集群启动时,会启动一个JobManager进程、至少一个TaskManager进程
image

JobManager

TaskManager

Client

最后

本文是例行介绍,熟悉的直接跳过。

上一篇下一篇

猜你喜欢

热点阅读