Flink学习6:编程模型

1.接口分层

Flink提供了不同级别的接口,最底层的是状态数据流处理,最高层是SQL

1.1 状态数据流处理

通过过程函数,被继承到DataStream API中

 有状态数据流处理接口,

1.2 DataStream 和 DataSet API

核心API

DataStream 用来处理有界 和 无界数据流。

DataSet API 用来处理有界 数据流。

该接口提供了大量的通用组件

 

另外,

DataStream 集成更底层的函数

DataSet API 对有界数据提供了额外的支持

 

1.3 Table API

1.以表为中心,类似关系型数据库的二维表
 

2.提供可比较的操作,select, group by等

 3.Table API 可以自定义函数进行扩展,但在表达能力上,比不上核心API。(不过Table API代码更简洁)

4.Table API是指定程序应该执行哪些操作,而不是精确的指定程序的执行步骤

5.Table API 在执行前会进行优化,另外Table API 和 DataStream , DataSet 之间可以无缝切换。所以在程序中可以混合只用。

1.4 SQL 

Flink最高级封装接口就是 flink SQL

语法和表达能力上和Table API 类似,唯一的区别就是通过使用SQL查询语言实现程序。

SQL查询和Table API 交互密切,SQL可以直接在Table API中创建的表上查询

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值