支持的表格式
仅支持 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 目录表迁移到 Lakehouse。 此过程可让您将数据整合为统一的 Lakehouse 管理的 Iceberg 格式,以便进行跨引擎分析。
使用以下连接详细信息从外部 Iceberg 目录导入数据。
准备工作
如需导入数据,您需要以下内容:
- 外部 Iceberg REST Catalog 的连接信息。例如:目录名称、命名空间、表名称、账号 URI 和访问目录的角色。
- 用于导入数据的 Lakehouse Iceberg 目录、命名空间和 表。
支持和限制
使用 Dataflow 将数据从外部 Iceberg 目录导入 Lakehouse for Apache Iceberg 时,存在以下限制:
- 此功能支持从支持 IRC (Iceberg Rest Catalog) 的外部可用 Iceberg 提供商读取数据到 Lakehouse。不支持其他 Iceberg 目录类型。
- 此功能支持批处理和流式处理流水线。
导入外部 Iceberg 目录表
如需将外部 Iceberg 目录表导入 Lakehouse for Apache Iceberg,请完成以下步骤:
在 Google Cloud 控制台中,前往 Lakehouse Metastore 页面。
选择要将数据导入到的目录、命名空间和表。
在表详细信息 页面上,点击 导入表。
在导入配置 对话框中,选择将 Apache Iceberg REST Catalog 中的表导入 Lakehouse(批量) 。
系统会打开 Dataflow 作业构建器 页面。
在来源 部分中:
如需展开 Iceberg 表 来源面板,请点击 展开器箭头。
在 Iceberg 表 字段中,输入 Apache Iceberg 表的标识符。
在目录名称 字段中,输入目录的名称。
在过滤条件 字段中,输入要使用的 Iceberg 过滤条件。例如,
id > 5。可选:如需指定源表列更改,请使用保留列 或舍弃列 部分。
在目录属性 部分的目录类型 列表中,选择目录的类型。
在目录 URI 字段中,输入目录的 URI。例如,
http://localhost:8181。在仓库名称 字段中,输入目录名称。
对于某些外部 Iceberg REST Catalog 提供商,仓库是抽象的,目录名称作为仓库名称提供。
在身份验证类型 列表中,选择身份验证类型。例如,
OAUTH2。
可选:在转换 部分中,向源数据添加任何转换。
在接收器 部分中:
- 可选:查看 Lakehouse 表 接收器面板。此面板中的信息(例如 Lakehouse 表、目录名称和仓库位置)通常会预先填充。
在 Dataflow 选项 部分中,点击运行作业 。
后续步骤
- 详细了解如何使用作业构建器界面创建自定义作业。
- 如需了解详情,请参阅 BigQuery 中适用于 Apache Iceberg 的 Lakehouse 表简介。
- 阅读博文 BigLake 发展:构建开放、高性能、企业级 Iceberg 原生的湖仓一体。