Hive使用哪种哈希算法进行分区?

我需要了解Hive用于哈希分区数据的算法。例如,Spark使用Murmur Hashing。有任何想法或资源吗?

iCMS 回答:Hive使用哪种哈希算法进行分区?

Hive中的分区是文件夹,每个分区键值一个文件夹,不散列(可以是复合键)。 Hive不支持其他分区类型,例如哈希或范围。

但是您可以在SQL中计算哈希并在写入数据时使用动态分区。

像这样,使用反射可以调用静态Java方法:

insert into table partition(mycolumn) 
SELECT ... 
      reflect('org.apache.commons.codec.digest.DigestUtils','sha256Hex',mycolumn)
 FROM mytable;

Hive还具有int hash(a1[,a2...])sha2(string/binary,int)mask_hash(string|char|varchar)本机功能。

Hive正在使用散列进行存储。桶是文件。参见this question about hashing in buckets

本文链接:https://www.f2er.com/2216978.html

大家都在问