Format Table

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

本文为您介绍数据湖构建中Format数据表的基本操作。

表类型介绍

对比维度

内部表

外部表

数据管理

数据由DLF完全管理,包括元数据和实际数据文件。

元数据由DLF管理,但实际数据文件存储在外部存储系统(如OSS)中,数据生命周期不受DLF控制。

存储系统

数据存储路径由DLF基于UUID自动生成,用户无需手动指定存储路径。

用户需手动指定外部存储路径,例如OSS的某个目录(如 oss://${bucket}/my_tables/)。

删除行为

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

删除表时,仅清理元数据,外部存储系统中的实际数据文件保持不变,不会被删除。

新建数据表

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

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

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

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

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

    配置项

    说明

    表格式

    选择 Format 表

    表数据库名称

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

    数据表描述

    可选,输入描述信息。

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

    表自定义属性

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

    • 内部表:可添加自定义属性,在表创建过程中会覆盖DLF元数据服务对应的默认参数,适用的配置项详见Paimon官方文档

    • 外部表:外部表需定义以下属性。

      path:指定外部表路径。

SQL示例

内部表

内部表是由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

外部表

外部表仅支持格式表,并需要指定外部存储路径。外部表是指数据生命周期和文件布局由其他方式管理的表,而非由DLF管理,因此表的生命周期和分区信息不会被DLF控制。目前,格式表支持Parquet、ORC、CSVJSON格式,并支持分区功能,同时能够映射Hive表的格式。

  • Flink SQL

    CREATE TABLE my_csv_table (
        a INT,
        b STRING
    ) WITH (
        'type'='format-table',
        'path' = 'oss://${bucket}/my_tables/my_csv_table'
        'file.format'='csv'
    );

    Flink OSS权限适配,请参见配置Bucket鉴权信息

  • Spark SQL

    CREATE TABLE my_csv_table (
        a INT,
        b STRING
    ) USING CSV OPTIONS (
      'path'='oss://${bucket}/my_tables/my_csv_table'
    )

查看数据表

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

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

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

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

删除数据表

警告

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

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

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

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