知识卡片

Flink分层API的易用性与灵活性权衡

专业/工作 · 502

内容

Flink自上而下暴露四层API:SQL API门槛最低,业务人员可直接写文本SQL,还能动态传入不同SQL处理不同场景,但表达能力受限于SQL语法;Table API是以表为中心的声明式API,比SQL更可编程,可读性强;DataStream/DataSet API是核心层,直接操作数据流/数据集,提供大量开箱即用的转换算子,是大多数业务代码的落点;最底层的Stateful Streaming Processing API通过Process Function暴露最细粒度的控制能力,用于实现上层API满足不了的复杂逻辑。这是一种典型的分层设计取舍:越往上越简单但灵活性越低,越往下越灵活但心智负担越重,框架把决定权交给开发者,按需下沉到合适的层级,而不是强迫所有人用同一套抽象。

参考来源

《Flink入门与实战》第2章《定义、架构与原理》