Flink Table API/SQL 四种数据类型包之间的关系是什么?

What's the relation among the four Flink Table API/SQL datatype packages?

Flink Table/SQL有很多关于DataType系统的封装,包括:

我对包之间的关系比较困惑,谁能给我一些提示来理解Flink开发者的想法?非常感谢!

org.apache.flink.table.api.Types:包含与 SQL 类型不太一致的旧类型系统。不要再使用它了。它将很快被删除。

org.apache.flink.table.api.DataTypes:主要APIclass表示一个DataType。它包含所有可用数据类型、构建器和良好文档的完整列表。

org.apache.flink.table.types.DataType:由 API org.apache.flink.table.api.DataTypes.

生成的容器 classes

org.apache.flink.table.data:用于存储实际负载的结构。数据类型描述元数据(输入和输出类型等)。该包包含运行时和 Flink 提供的连接器使用的内部结构。使用那些 classes 需要一些高级知识,这就是为什么 Row 是 Java Table API 而不是 RowData 中的默认表示] 表示 table 的行。作为用户,这个包大多与你无关。内部数据结构处理二进制数据。作为用户,您可以用 Row 表示行,它们将被 Flink 转换为 RowData