Format Table

更新时间:
复制 MD 格式

本文介绍数据湖构建(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天后数据会被彻底删除。

新建数据表

通过控制台创建

  1. 登录数据湖构建控制台

  2. 数据目录列表页面,单击Catalog名称,进入Catalog详情页。

  3. 数据库列表中,单击数据库名称,进入表列表页。

  4. 表列表中,单击新建数据表

  5. 配置以下信息,单击确定

    配置项

    说明

    表格式

    选择Format 表

    数据表名称

    必填,数据库下不可重名。

    数据表描述

    可选,输入描述信息。

    字段信息

    定义表中的列信息,包括列名称、是否为主键、是否非空、是否为分区字段、数据类型、长度/类型、描述及操作。

    表自定义属性

    file.format:指定文件格式。目前支持Parquet、ORC、CSVJSON格式。

    可添加自定义属性,在表创建过程中会覆盖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

高级配置

  1. 支持纯值分区路径

    默认情况下,分区路径采用key=value格式(例如year=2025)。如果你的存储目录仅包含分区值(例如table-path/2025/xxxx.csv),必须显式开启此支持。

    设置参数:format-table.partition-path-only-value: true

  2. 设置文件压缩

    使用format-table.file.compression参数控制输出文件的压缩算法。若未指定,系统使用以下默认值:

    文件类型

    默认

    parquet

    snappy

    avro/orc

    zstd

    csv/json

    none(不压缩)

查看数据表

  1. 数据库列表中,单击数据库名称,可查看表列表。

  2. 表列表中,单击表名称,可查看表字段。

  3. 单击表详情页签,可查看数据表基本信息、字段列表及分区定义。

  4. 单击权限页签,可为用户或角色授予数据表相关权限。详情请参见数据授权管理

删除数据表

警告

被删除后,系统默认将表内数据保留1天,以降低误删除风险。超过1天后,数据将被彻底删除。

  1. 数据库列表中,单击数据库名称,可查看表列表。

  2. 表列表中,单击操作列的删除

  3. 在弹出的提示框中,单击确定,完成数据表删除。