标题:索引类型 权重:44

Hudi 使用索引来检测实际目标文件以进行更新操作。此外,对于一批要更新的记录,索引用于将每个记录标记为更新或插入。

Hudi 目前支持以下索引选项:

  • Bloom 索引(默认): 使用记录键构建的 Bloom 过滤器,可选地使用记录键范围对候选文件进行修剪。
  • 简单索引: 对存储表中提取的键执行精简连接,以处理传入的更新/删除记录。
  • HBase 索引: 在外部 Apache HBase 表中管理索引映射。
  • 自定义实现: 我们可以扩展公共 API 来实现自定义索引。

索引还分为两种类型:全局索引非全局索引

  • 全局索引: 全局索引确保表的所有分区中记录键的唯一性,即保证表中对于给定记录键只存在一条记录。全局索引提供更强的保证,但更新/删除成本随表大小增长 O(表大小),这对于较小的表可能仍然可接受。

  • 非全局索引: 另一方面,默认索引实现仅在特定分区内执行此约束。正如人们所想象的那样,非全局索引依赖于写入器在更新/删除期间为给定记录键提供相同的一致分区路径,但可以提供更好的性能,因为索引查找操作变为 O(更新/删除的记录数) 并且可以很好地扩展写入量。