Hudi 索引总结 - Parquet布隆过滤器写入过程

前言

上篇文章 提到 :索引的逻辑主要是根据 parquet 文件中保存的索引信息,判断记录是否存在,如果不存在,代表是新增数据,如果记录存在则代表是更新数据,需要找到并设置 currentLocation。对于布隆索引来说,这里的索引信息其实是布隆过滤器,本篇文章主要是先总结布隆过滤器是如何保存到 parquet 文件中的(主要是源码调用逻辑)。

我们新写一个表的时候,最开始是没有parquet文件的,所以顺序应该是先将布隆过滤器写到 parquet 文件中,下次写数据的时候,先读取 parquet 文件中的布隆过滤器来验证表中是否存在该记录,有助于实现高效的更新和删除操作。

索引

索引是一个关键的步骤,它验证表中是否存在记录,并有助于实现高效的更新和删除操作。请注意本文中涵盖的索引是为写入端准备的,这与读取端索引不同。

对于有的索引类型是不涉及将索引信息保存到文件中的,比如 简单索引(simple index),而对于Bloom索引(Bloom Index)则需要将布隆过滤器以及最大值最小值等信息写到 parquet 文件中的元数据中。

Bloom索引(Bloom Index)

Bloom Index 最大限度地减少了用于查找的键和文件的数量,同时保持了较低的读取成本。

相关推荐

  1. Hudi 索引总结 - Parquet过滤器写入过程

    2024-07-15 01:20:02       22 阅读
  2. Redis过滤器

    2024-07-15 01:20:02       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 01:20:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 01:20:02       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 01:20:02       58 阅读
  4. Python语言-面向对象

    2024-07-15 01:20:02       69 阅读

热门阅读

  1. Spring源码(四) Aware 接口

    2024-07-15 01:20:02       21 阅读
  2. 12、如何用事件风暴构建领域模型

    2024-07-15 01:20:02       20 阅读
  3. 免杀中用到的工具

    2024-07-15 01:20:02       18 阅读
  4. 【FPGA】Verilog 中 typedef enum 用法教程

    2024-07-15 01:20:02       17 阅读
  5. React@16.x(58)Redux@4.x(7)- 实现 combineReducers

    2024-07-15 01:20:02       21 阅读
  6. springsecurity01

    2024-07-15 01:20:02       15 阅读
  7. this指向解析

    2024-07-15 01:20:02       21 阅读
  8. AI究竟是在帮助开发者还是取代他们?

    2024-07-15 01:20:02       20 阅读
  9. C语言 判断素数

    2024-07-15 01:20:02       18 阅读