Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 哈希在蜂巢的bucketing中是如何工作的?_Hadoop_Hive_Hiveql - Fatal编程技术网

Hadoop 哈希在蜂巢的bucketing中是如何工作的?

Hadoop 哈希在蜂巢的bucketing中是如何工作的?,hadoop,hive,hiveql,Hadoop,Hive,Hiveql,我知道Java中HashMap的散列原理,所以我想知道当我们将数据存储在不同的存储桶中时,散列是如何在配置单元中工作的。将存储桶与分区一起使用,以便为将来的分析提供更多的分解结构。由于更多的分区会产生更多的hdfs文件,从而影响namenode的性能,因此我们采用bucketing。bucketing的实际工作方式是:bucket的数量由hashFunction(bucketingColumn)mod numobkets决定 使用分区创建表时,选择NumofBucket。哈希函数输出取决于列选择

我知道Java中HashMap的散列原理,所以我想知道当我们将数据存储在不同的存储桶中时,散列是如何在配置单元中工作的。

将存储桶与分区一起使用,以便为将来的分析提供更多的分解结构。由于更多的分区会产生更多的hdfs文件,从而影响namenode的性能,因此我们采用bucketing。bucketing的实际工作方式是:bucket的数量由hashFunction(bucketingColumn)mod numobkets决定
使用分区创建表时,选择NumofBucket。哈希函数输出取决于列选择器的类型。为了准确设置bucketing时的减速机数量并适当地放置数据,我们使用“hive.exforce.bucketing=true”。有关更多信息,请参阅,我最近不得不深入研究一些Hive源代码,以便自己解决这个问题。以下是我的发现:

对于整型字段,为。对于字符串,它使用of。当散列多个值时,散列是的类似版本