Flink的API基本可分为三层:
- Flink SQL/Table
- Flink DataStream/DataSet
- Flink 有状态底层处理API

越是高级API,代码越是简洁,但灵活性会相对的减少,反之同理。
1、高级api - Flink SQL/Table
Flink 支持两种关系型的 API,Table API 和 SQL。这两个 API 都是批处理和流处理统一的 API,这意味着在无边界的实时数据流和有边界的历史记录数据流上,关系型 API 会以相同的语义执行查询,并产生相同的结果。Table API 和 SQL 借助了 Apache Calcite 来进行查询的解析,校验以及优化。它们可以与 DataStream 和 DataSet API 无缝集成,并支持用户自定义的标量函数,聚合函数以及表值函数。
2、核心api - Flink DataStream/DataSet
目前Flink进行流批一体化,DataSet逐步退出,统一使用DataStream API。
DataStream API 为许多通用的流处理操作提供了处理原语。这些操作包括窗口、逐条记录的转换操作,在处理事件
Flink的API分为三层:Flink SQL/Table、Flink DataStream/DataSet和ProcessFunction。SQL/Table API提供批流统一的关系型操作,DataStream/DataSet为核心API,支持流处理操作,而ProcessFunction作为低级API,允许处理单个事件并实现复杂业务逻辑。DataSet逐渐被DataStream API取代,以实现流批一体化。
订阅专栏 解锁全文
6145

被折叠的 条评论
为什么被折叠?



