1.美图
2.概述
除了使用纯 SQL 语句的方式外, Flink 还支持 Table API 编程,对 Table API 的支持主要借助 Table
, Operation
和 Expression
等接口。
Operation
和 Expression
是对操作和表达式的抽象,Operation
和 Expression
都有一套各自的类继承层次,可以等同于 Calcite 中的 RelNode
和 RexNode
。通过 Table API 接口,可以构建出语法树,这颗 Operation
树最终被转换为 RelNode
树,之后就是进入前面提到的转换和优化逻辑了。
Table
是对于表的抽象,除了 schema 等信息外,其底层对应的是一个 QueryOperaion
,