第四章 FlinkAPI & 编程模型

1、API基础概述

1.1、四层API

第四章 FlinkAPI & 编程模型_第1张图片

(1)第⼀层是最底层的抽象为有状态实时流处理,抽象实现是 Process Function,⽤于底层处理

(2)第⼆层抽象是 Core APIs,许多应⽤程序不需要使⽤到上述最 底层抽象的 API,⽽是使⽤ Core APIs 进⾏开发,目前开发使用最多的

  • 例如各种形式的⽤户⾃定义转换(transformations)、联 接(joins)、聚合(aggregations)、窗⼝(windows) 和状态(state)操作等,此层 API 中处理的数据类型在每 种编程语⾔中都有其对应的类

(3)第三层抽象是 Table API。 是以表Table为中⼼的声明式编程 API,Table API 使⽤起来很简洁但是表达能⼒差

  • 类似数据库中关系模型中的操作,⽐如 select、project、 join、group-by 和 aggregate 等。
  • 允许⽤户在编写应⽤程序时将 Table API 与 DataStream/DataSet API 混合使⽤

(4)第四层最顶层抽象是 SQL,这层程序表达式上都类似于 Table API,但是其程序实现都是 SQL 查询表达

1.2、Flink编程模型

第四章 FlinkAPI & 编程模型_第2张图片
①Enviroment:创建一个执行环境,表示当前执行程序上下文

  • 程序独立调用:此方法返回本地执行环境
  • 命令行客户端调用:此方法返回集群环境

②Source:读取数据

③Transform:进行数据转换运算

④Sink:将计算结果输出到外部系统

  • 常见数据流转(重点):DataStream --》keyBy操作 -》 keyStream --》window操作 --》WindowStream --》聚合操作 --》DataStream

你可能感兴趣的:(#,Flink专题,flink)