数据目录

Apache XTable(孵化中)

师成师成· 更新于 2026-09-29· 阅读 3 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

Hudi(0.14.0 及之后创建的表)支持借助 Apache XTable(孵化中) 同步到 Iceberg 和/或 Delta Lake,让用户可以选择与 Delta Lake、Apache Iceberg 等其他表格式进行互操作。

与 XTable 互操作

如果你拥有受支持格式(Delta/Iceberg)之一的表,可以使用 XTable 将现有元数据转换为可被读取为 Hudi 表的形式,反之亦然。

安装

你可以通过从源码构建 jar,或从 GitHub packages 下载来使用 XTable。

注意

如果你使用某种 JVM 语言来处理 Hudi/Delta/Iceberg,可以在项目中直接将 XTable 作为依赖使用。这一点在该演示中有所说明。

同步到 XTable

获取 jar 之后,只需对 Hudi/Delta/Iceberg 表运行它,即可为该表添加目标表格式的元数据。下面是一个将 Hudi 表转换为 Delta 和 Iceberg 表的配置示例。

my_config.yaml

sourceFormat: HUDI
targetFormats:
  - DELTA
  - ICEBERG
datasets:
  -
    tableBasePath: path/to/hudi/table
    tableName: tableName
    partitionSpec: partition_field_name:VALUE

Shell

java -jar path/to/bundled-xtable.jar --datasetConfig path/to/my_config.yaml

Hudi Streamer 扩展

如果你希望将 XTable 与 Hudi Streamer 配合使用,把每次提交同步到其他表格式中,需要:

  1. 将 扩展 jar hudi-extensions-0.1.0-SNAPSHOT-bundled.jar 加入你的类路径。

  2. 将 org.apache.xtable.hudi.sync.OneTableSyncTool 添加到你的同步类列表中。

  3. 根据你的需求设置以下配置:

    'hoodie.onetable.formats.to.sync=ICEBERG,DELTA'
    'hoodie.onetable.target.metadata.retention.hr=168'

更多示例请参阅 XTable 文档。

评论

登录后参与评论

正在加载评论…