# Parquet 布隆过滤器/区间图/字典与列统计剪枝评估器

解码 Parquet thrift footer 并量化谓词下推剪枝：区间图 min/max、split-block 布隆过滤器（XXH64）、字典比率与编码，按行组给出示例 WHERE 子句的剪枝节省估算。

> 标准页面: https://elysiatools.com/zh/tools/parquet-bloom-filter-zonemap-dictionary-and-column-statistics-pruner-evaluator

- **分类:** Data Analysis

- **关键词:** parquet 剪枝, parquet 布隆过滤器, 区间图, 谓词下推, 行组跳过, 字典编码比率, parquet 统计, thrift footer 解析

## 概述

手写 thrift compact 协议读取器解码 footer 并遍历每个页头；统计解码为真实区间图；布隆成员判定执行真正的 XXH64 + SBBF 运算；谓词（=、!=、<、<=、>、>=、BETWEEN、IN）按行组判为区间图剪枝、布隆剪枝或需扫描，字节成本取 total_compressed_size。

## 输入项

- **Parquet 文件** (file): Upload a .parquet file
- **WHERE 子句（每行一条）** (textarea): id = 75 id > 60 name = 'zeta' Supports =, !=, <, <=, >, >=, BETWEEN a AND b, IN (x, y)

## 适用场景

- 优化数仓或查询引擎（如 DuckDB、Spark、Trino）读取 Parquet 文件的 I/O 成本与谓词下推效率时。
- 验证 Parquet 写入工具是否正确生成了列统计信息、字典页以及 SBBF 布隆过滤器。
- 排查特定 SQL 查询为何未命中行组跳过（Row Group Pruning）导致全表或整列扫描时。

## 工作原理

- 解析上传的 Parquet 二进制文件尾部 Thrift 元数据，提取各行组、列块的 min/max 统计值、字典编码比率与压缩字节大小。
- 定位并读取 SBBF（Split-Block Bloom Filter）位图数据，在遇到等值匹配谓词时执行真实 XXH64 哈希运算判定成员归属。
- 对用户输入的 WHERE 子句逐行组进行求值，将其标记为区间图剪枝、布隆剪枝或全扫描，并计算压缩字节节省比例并生成 HTML 报告。

## 使用案例

- 分析数据湖入库表结构，评估是否需要对高基数列添加 Bloom Filter 以加速点查。
- 评估分区键或排序列（Clustering Keys）在不同区间图范围下的行组跳过命中率。
- 对比不同 Parquet 写入器（如 Arrow、Fastparquet）生成的字典比率与统计信息完整性。

## 常见问题

### 工具支持评估哪些类型的 WHERE 谓词？

支持评估 =、!=、<、<=、>、>=、BETWEEN ... AND ... 以及 IN (...) 谓词。

### 为什么有些等值查询无法触发布隆过滤器剪枝？

若文件在写入时未开启布隆过滤器，或目标值经 XXH64 散列后命中了布隆过滤器，工具将退化为依靠区间图判定或标记为需扫描。

### 最大支持上传多大的 Parquet 文件？

单文件体积上限为 100MB（104,857,600 字节）。

### 文件数据会被上传到云端服务器存储吗？

解析与哈希判定完全在前端读取器处理，仅用于生成评估报表，不作持久化存储。

### 字节节省（Bytes Saved）是如何计算的？

基于被剪枝跳过的行组中各列块的 total_compressed_size 累计值与文件总压缩体积比对得出。

## 相关工具

- [社交媒体模板装配图生成器](https://elysiatools.com/zh/tools/social-media-template-resize-grid): 上传一张主图,一次生成全套平台装配图:Instagram(1:1 / 4:5 / 3:4 网格 / Story / Reel)、X(头图 1500×500 / 信息流)、LinkedIn(个人横幅 / 公司封面 / 帖子图)、YouTube(缩略图 / 频道横幅)、Facebook 链接分享。每个裁剪预览叠加 2025-2026 已验证的安全区蒙版(Story 顶/底/侧边距、X 头像圆、LinkedIn 头像区、YouTube 时长角标),一键导出 ZIP。
- [HDR AVIF 转 SDR PNG 色调映射器](https://elysiatools.com/zh/tools/hdr-avif-to-sdr-png): 解码 PQ 或 HLG AVIF，将 BT.2020 转换为 sRGB，并把高光映射到可查看的 SDR PNG。
- [批量图片压缩](https://elysiatools.com/zh/tools/batch-compress): 批量压缩多张图片，支持质量控制、输出格式选择和大小优化
- [Data URI 生成器](https://elysiatools.com/zh/tools/data-uri-generator): 将文件转换为 Data URI（Base64 或百分号编码），用于直接在 HTML、CSS 或 Markdown 中内联图片、字体等资源
- [批量图片裁剪](https://elysiatools.com/zh/tools/image-batch-crop): 批量裁剪多张图片到指定尺寸或宽高比，支持自定义定位，返回裁剪后的 ZIP 文件下载
- [相关性分析器](https://elysiatools.com/zh/tools/correlation-analyzer): 高级相关性分析工具，计算变量之间的相关系数以衡量它们线性关系的强度和方向。完美适用于统计分析、金融建模、科学研究和数据探索。 功能特点： - 多种相关性方法（皮尔逊、斯皮尔曼、肯德尔） - 相关性矩阵生成 - 统计显著性检验（p值） - 置信区间计算 - 热图可视化 - 散点图矩阵生成 - 缺失值处理策略 - 异常值检测和处理 - 分组分析能力 - 详细统计报告 常见用途： - 金融市场分析和风险评估 - 科学研究和假设检验 - 客户行为和营销分析 - 医疗和医疗数据分析 - 质量控制和流程优化 - 教育绩效评估
- [自适应 12 点隐藏水印](https://elysiatools.com/zh/tools/adaptive-12-point-hidden-watermark): 为单张图片或 ZIP 中每张支持图片，在全部、随机或指定的边缘点位添加低对比度文字水印，并按局部背景自动选择深色或浅色文字。
- [AVIF转TIFF转换器](https://elysiatools.com/zh/tools/avif-to-tiff): 将AVIF图像转换为TIFF格式，支持无损质量、压缩选项和专业工作流程

## 示例

- [Parquet 裁剪示例](https://elysiatools.com/zh/samples/parquet-pruning-samples): 用于演练布隆过滤器、区间映射（zone map）与字典裁剪评估器的 Parquet 夹具
- [Android Java 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-java): Android Java 图像处理示例，包括图像读取保存、缩放和格式转换
- [Android Kotlin 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-kotlin): Android Kotlin 图像处理示例，包括图像读取保存、缩放和格式转换
- [Web Python 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-python): Web Python 图像处理示例，使用 PIL/Pillow 包括读取、保存、缩放和格式转换
