使用 Dataflow 将外部 Iceberg 表导入 Lakehouse 运行时目录

支持的表格格式

仅支持 Apache Iceberg V2 表;不支持 Iceberg V1 表。如果您有现有的 Iceberg V1 表,则必须先将其升级到 V2(例如,通过运行 ALTER TABLE catalog.schema.table SET TBLPROPERTIES ('format-version'='2'); 或使用类似的引擎操作),然后才能将其导入到 Lakehouse 运行时目录中。

在某些使用情形下,您可能需要将外部 Iceberg REST Catalog (IRC) 表连接到现有的 Lakehouse for Apache Iceberg 表。借助 Dataflow 的作业构建器界面,您可以通过低代码或无代码方式构建流水线,将外部开源 Iceberg 目录表迁移到湖仓一体中。通过此流程,您可以将数据整合为由湖仓一体管理的 Iceberg 格式,以便进行跨引擎分析。

使用以下连接详细信息从外部 Iceberg 目录导入数据。

准备工作

如需导入数据,您需要满足以下条件:

  1. 外部 Iceberg REST Catalog 的连接信息。例如:目录名称、命名空间、表名称、账号 URI 和访问目录的角色。
  2. Lakehouse Iceberg 目录、命名空间和,用于将数据导入其中。

支持和限制

使用 Dataflow 将数据从外部 Iceberg 目录导入到 Lakehouse for Apache Iceberg 时,存在以下限制:

  • 此功能支持从支持 IRC(Iceberg Rest Catalog)的外部可用 Iceberg 提供程序读取数据到 Lakehouse。不支持其他 Iceberg 目录类型。
  • 此功能支持批处理和流式处理流水线。

导入外部 Iceberg 目录表

如需将外部 Iceberg 目录表导入 Lakehouse for Apache Iceberg,请完成以下步骤:

  1. 在 Google Cloud 控制台中,前往 Lakehouse 运行时目录页面。

    前往 Lakehouse 运行时目录

  2. 选择要将数据导入到的目录、命名空间和表。

  3. 表详细信息页面上,点击 Import table,然后选择 From Apache Iceberg REST Catalog (Batch)

    随即会打开 Dataflow 作业构建器页面。

  4. 来源部分中:

    1. 如需展开 Iceberg 表来源面板,请点击 展开箭头。

    2. Iceberg 表字段中,输入 Apache Iceberg 表的标识符。

    3. 目录名称字段中,输入目录的名称。

    4. 过滤条件字段中,输入要使用的 Iceberg 过滤条件。例如 id > 5

    5. 可选:如需指定源表列更改,请使用保留列舍弃列部分。

    6. 目录属性部分的目录类型列表中,选择目录类型。

    7. 目录 URI 字段中,输入目录的 URI。例如 http://localhost:8181

    8. 数据仓库名称字段中,输入目录名称。

      对于某些外部 Iceberg REST 目录提供方,仓库是抽象的,目录名称以仓库名称的形式提供。

    9. 身份验证类型列表中,选择身份验证类型。例如 OAUTH2

  5. 可选:在转换部分中,向源数据添加任何转换。

  6. 接收器部分中:

    1. 可选:查看 Lakehouse 表接收器面板。此面板中的信息(例如 Lakehouse 表、目录名称和数据仓库位置)通常会预先填充。
  7. Dataflow 选项部分中,点击运行作业

后续步骤