第四章 FlinkAPI & 编程模型

1、API基础概述

1.1、四层API

在这里插入图片描述

(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编程模型

在这里插入图片描述
①Enviroment:创建一个执行环境,表示当前执行程序上下文

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

②Source:读取数据

③Transform:进行数据转换运算

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

  • 常见数据流转(重点):DataStream --》keyBy操作 -》 keyStream --》window操作 --》WindowStream --》聚合操作 --》DataStream
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随缘清风殇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值