Hive 为什么布卢姆过滤器不工作,请告诉我

Hive 为什么布卢姆过滤器不工作,请告诉我,hive,orc,bloom-filter,Hive,Orc,Bloom Filter,我有两张桌子:原始的和新的布卢姆过滤器。为按和“orc.Bloom.filter.columns”聚集的int列创建的Bloom筛选器。在分区的hdfs中,我看到文件的数量=唯一值的数量​​在专栏里。但当我查询选择最小。。。从id=。。。这些表、请求在同一时间完成执行。在作业日志和“解释分析”中,我没有看到使用bloom过滤器,请求读取整个分区。为了使bloom筛选器能够工作,请求执行得更快,分区中的文件不是都被读取,但只有一个具有所需id的文件需要进行配置吗?bloom筛选器并非在所有情况下都

我有两张桌子:原始的和新的布卢姆过滤器。为按和“orc.Bloom.filter.columns”聚集的int列创建的Bloom筛选器。在分区的hdfs中,我看到文件的数量=唯一值的数量​​在专栏里。但当我查询选择最小。。。从id=。。。这些表、请求在同一时间完成执行。在作业日志和“解释分析”中,我没有看到使用bloom过滤器,请求读取整个分区。为了使bloom筛选器能够工作,请求执行得更快,分区中的文件不是都被读取,但只有一个具有所需id的文件需要进行配置吗?

bloom筛选器并非在所有情况下都有帮助

ORC包含10000行的文件级、条带级和行级索引,可配置。如果配置了PPD,索引min、max值可用于跳过读取文件,但仍将读取页脚部分,也可以跳过条纹。这些索引对于筛选可排序的顺序值和范围查询非常有用。比如整数。为了使索引更有效,您应该在插入时按索引键对数据进行排序。未排序索引效率不高,因为所有条带都可以包含所有键

插入期间的排序可能会很昂贵

在大多数情况下,只有索引就足够了

Bloom过滤器是一种结构,它可以帮助以100%的概率检查密钥是否不存在于数据集中

Bloom过滤器对于相等查询非常有效,特别是对于非连续的未排序值(如GUID)。最小/最大索引对此类值无效。使用Bloom筛选器时,按特定GUID进行筛选应该非常有效

对于可排序的顺序值(如整数id),存储在排序的ORC索引中的最小/最大值更好