Flink 入门 ----Flink基础概念

本篇只是简单介绍了下Flink的基础知识,属于扫盲入门篇

Flink 组件

在这里插入图片描述

上图是Flink的整体组件构成

Deploy层

Flink的部署模式,包括本地模式,集群模式(YARN),云

PS:线上生产环境是以Yarn模式为主
在这里插入图片描述

Runtime层

提供了支持Flink计算的全部核心实现,比如分布式Stream处理

API层

提供两种流处理的API

  1. 面向无界Stream的流处理
  2. 面向Batch的批处理API
应用框架层

CEP:事件处理模型
Table:类SQL操作
FlinkML:机器学习库

Flink自身优势
  1. 支持高吞吐,低延迟,高性能
  2. 支持高度灵活的窗口(Window)操作
  3. 支持有状态计算的Exactly-once语义
  4. 提供DataStream API和DataSet API
与SparkStream和Storm的对比

在这里插入图片描述
在这里插入图片描述

基本概念–流
  1. Flink程序的基础构建模块是流(streams)与转换(transformation)
    PS:a.流很好理解,就是所有元素组成的动态处理流水线
    b. 转换其实就是对流水线中的每个元素进行不停的变换。比如map,reduce等操作
  2. 每一个数据流起始于一个或多个source,并终止于一个或多个sink
    PS: source即数据流流入端 sink即接受端
    在这里插入图片描述

从图中其实可以看到是一个流水线操作。transformation实际上就是元素的处理过程,又可以理解为“整容”
sink则是整个数据处理后的结果。
上述的整个过程可以类比与Java8 流处理中的中间操作(map,filter,reduce等)和终端操作(foreach,collect等)

在这里插入图片描述

partition->shuffle->reduce过程

基本概念–时间窗口

重点:

  1. 滚动窗口(没有重叠)

  2. 滑动窗口 (有重叠)

  3. 会话窗口 (由不活动的间隙所打断)

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值