Iceberg Table

重要

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

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

表类型介绍

特性

采用湖格式Iceberg表, 遵循 Apache Iceberg 的开放API规范,推荐使用 Apache Iceberg Client 读写。

数据管理

数据由DLF完全管理,包括元数据和实际数据文件。删除表时,元数据和数据会被一起删除。

存储系统

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

删除行为

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

新建数据表

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

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

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

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

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

    配置项

    说明

    表格式

    选择 Iceberg 表

    表数据库名称

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

    数据表描述

    可选,输入描述信息。

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

    表自定义属性

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

SQL示例

如果已经在其他平台上(如EMR、Flink等)关联了Catalog,也可在这些平台上创建数据库和表,元数据将会直接写入DLF中。详情请参见引擎对接

  • Flink SQL示例

    CREATE TABLE iceberg_table (
        id BIGINT,
        data STRING,
        category STRING,
        ts TIMESTAMP)
    PARTITIONED BY (category);

    更多示例参考详情请参见Flink CREATE TABLE

  • Spark SQL示例

    CREATE TABLE iceberg_table (
        id BIGINT,
        data STRING,
        category STRING,
        ts TIMESTAMP)
    USING iceberg
    PARTITIONED BY (bucket(16, id), days(ts), category);

    更多示例参考详情请参见Spark CREATE TABLE

查看数据表

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

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

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

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

删除数据表

警告

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

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

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

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