hadoop 列统计中字段bitVectors的含义是什么(Hive)?

ohfgkhjo  于 2023-10-15  发布在  Hadoop
关注(0)|答案(1)|浏览(210)

column statistics test我从文档中获得了有关Hive列统计的信息。对于大多数列已经提交了bitVectors,它的意思是什么,以及计算它的规则?
我创建了一些表格,并使用分析语句来计算统计数据。我展示了列的统计数据,发现大多数列都有这个字段(bitVectors),值是null/HL,我不知道这是什么意思。

cgyqldqp

cgyqldqp1#

这个特性是由HIVE-16997 - Extend object store to store and use bit vectors在Hive 3.0.0中引入的,现在还没有完整的文档。统计元数据中的位向量可用于使用草图算法(FM-草图,HLL)计算不同值的数量(NDV)。
还添加了相应的参数,以允许使用统计位向量进行NDV计算:

  1. hive.stats.fetch.bitvector
  2. Default Value: false
  3. Added In: Hive 3.0.0 with HIVE-16997

计算非重复值的数量(ndv)时Hive是否获取位向量。如果你想使用不带位向量的旧模式,请将其设置为false。
查看此处:hive.stats.fetch.bitvector
你也可以在谷歌上找到一些关于草图算法的信息:FM和HLL。例如,Flajolet–Martin algorithm

相关问题