【发布时间】:2023-02-02 05:12:04
【问题描述】:
我尝试在 Spark 2.4.4 中使用布隆过滤器,但它对我不起作用。
我正在数据集 ds 中加载真实数据,并尝试在启用布隆过滤器的情况下写入它。
ds.write.mode("overwrite") .option("parquet.bloom.filter.enabled#id",
"true") .option("parquet.bloom.filter.expected.ndv#id", "1000000")
.parquet("/dev/data")
当我签入 /dev/data 时,我只看到 parquet 文件(4 个文件),看不到任何布隆过滤器索引文件。当我加载这个数据集时,我尝试用一些 id 和一些值来操作数据,我没有看到没有布隆过滤器的任何区别。在 spark UI 中,我看到了 4 个任务(每个文件有 1 个任务),尽管我正在传递一个带有特定 ID 的 where 子句,该 ID 是一个文件的一部分。
你能帮我找出我的错误在哪里吗?我无法在 Internet 上看到很多关于 Spark parquet bloom filter 的文档。
提前致谢
【问题讨论】: