Flink Table API/SQL 四种数据类型包之间的关系是什么?
What's the relation among the four Flink Table API/SQL datatype packages?
Flink Table/SQL有很多关于DataType系统的封装,包括:
- org.apache.flink.table.api.DataTypes
- org.apache.flink.table.api.Types
- org.apache.flink.table.types.DataType
- org.apache.flink.table.data
我对包之间的关系比较困惑,谁能给我一些提示来理解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
。
Flink Table/SQL有很多关于DataType系统的封装,包括:
- org.apache.flink.table.api.DataTypes
- org.apache.flink.table.api.Types
- org.apache.flink.table.types.DataType
- org.apache.flink.table.data
我对包之间的关系比较困惑,谁能给我一些提示来理解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
.
org.apache.flink.table.data
:用于存储实际负载的结构。数据类型描述元数据(输入和输出类型等)。该包包含运行时和 Flink 提供的连接器使用的内部结构。使用那些 classes 需要一些高级知识,这就是为什么 Row
是 Java Table API 而不是 RowData
中的默认表示] 表示 table 的行。作为用户,这个包大多与你无关。内部数据结构处理二进制数据。作为用户,您可以用 Row
表示行,它们将被 Flink 转换为 RowData
。