本文介绍数据湖构建(DLF)中 Format Table 的概念、创建方式及基本操作。
Format Table 简介
在 DLF 中,Format Table 是 Apache Paimon 对传统 Hive 兼容表的统一抽象。DLF 将使用标准文件格式(Parquet、ORC、CSV 或 JSON)存储数据的 Hive 兼容表归类为 Format Table,支持通过 Spark、Flink 等计算引擎进行读写操作。
您可以通过以下方式创建 Format Table:
-
通过 DLF 控制台创建,存储路径由 DLF 自动生成。
-
通过 SQL 创建的标准文件格式表(如 Spark SQL 的
USING Parquet或 Flink SQL 的type='format-table')。
DLF Format Table 特性:
-
数据管理:数据由DLF完全管理,包括元数据和实际数据文件。
-
存储系统:数据存储路径由DLF基于UUID自动生成,用户无需手动指定存储路径。
-
删除行为:删除表时,默认保留数据1天以降低误删风险,超过1天后数据会被彻底删除。
新建数据表
通过控制台创建
登录数据湖构建控制台。
-
在数据目录列表页面,单击Catalog名称,进入Catalog详情页。
-
在数据库列表中,单击数据库名称,进入表列表页。
-
在表列表中,单击新建数据表。
-
配置以下信息,单击确定。
配置项
说明
表格式
选择Format 表。
数据表名称
必填,数据库下不可重名。
数据表描述
可选,输入描述信息。
字段信息
定义表中的列信息,包括列名称、是否为主键、是否非空、是否为分区字段、数据类型、长度/类型、描述及操作。
表自定义属性
file.format:指定文件格式。目前支持Parquet、ORC、CSV和JSON格式。可添加自定义属性,在表创建过程中会覆盖DLF元数据服务对应的默认参数,适用的配置项详见Paimon官方文档。
通过 SQL 创建
Format表是由DLF管理的Paimon表,DLF会自动生成基于UUID的存储路径,并在后台自动进行表优化与维护,您只需专注于业务逻辑即可。
-
Flink SQL
CREATE TABLE my_csv_table ( a INT, b STRING ) WITH ( 'type'='format-table', 'file.format'='csv' ); -
Spark SQL
CREATE TABLE my_csv_table ( a INT, b STRING ) USING CSV
高级配置
-
支持纯值分区路径
默认情况下,分区路径采用
key=value格式(例如year=2025)。如果你的存储目录仅包含分区值(例如table-path/2025/xxxx.csv),必须显式开启此支持。设置参数:
format-table.partition-path-only-value: true。 -
设置文件压缩
使用
format-table.file.compression参数控制输出文件的压缩算法。若未指定,系统使用以下默认值:文件类型
默认
parquet
snappy
avro/orc
zstd
csv/json
none(不压缩)
查看数据表
-
在数据库列表中,单击数据库名称,可查看表列表。
-
在表列表中,单击表名称,可查看表字段。
-
单击表详情页签,可查看数据表基本信息、字段列表及分区定义。
-
单击权限页签,可为用户或角色授予数据表相关权限。详情请参见数据授权管理。
删除数据表
表被删除后,系统默认将表内数据保留1天,以降低误删除风险。超过1天后,数据将被彻底删除。
在数据库列表中,单击数据库名称,可查看表列表。
在表列表中,单击操作列的删除。
在弹出的提示框中,单击确定,完成数据表删除。