Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
Hive 需要解释配置单元中的BUCKET和rand()函数吗_Hive - Fatal编程技术网

Hive 需要解释配置单元中的BUCKET和rand()函数吗

Hive 需要解释配置单元中的BUCKET和rand()函数吗,hive,Hive,谁能解释一下下面的问题是什么意思 1. SELECT * from numbers TABLESAMPLE(BUCKET 3 OUT OF 10 ON rand()) s; 2. SELECT * from numbers TABLESAMPLE(BUCKET 3 OUT OF 10 ON number) s; 3. SELECT * from numbers TABLESAMPLE(BUCKET 1 OUT OF 2 ON number) s; 4. SELECT * from numbers

谁能解释一下下面的问题是什么意思

1. SELECT * from numbers TABLESAMPLE(BUCKET 3 OUT OF 10 ON rand()) s;
2. SELECT * from numbers TABLESAMPLE(BUCKET 3 OUT OF 10 ON number) s;
3. SELECT * from numbers TABLESAMPLE(BUCKET 1 OUT OF 2 ON number) s;
4. SELECT * from numbers TABLESAMPLE(BUCKET 2 OUT OF 2 ON number) s;
我试着用所有可能的方式来理解上面的问题,但一点进展都没有。请给我详细解释一下

提前谢谢


页码-110

@John Deer,当我们在一列上创建bucket时,数据被划分为指定的bucket,相应地,文件在Hadoop中创建。在从指定的存储桶检索数据时,将从指定的存储桶/文件中取出数据。因此,数据保持不变

然而,如果我们使用rand函数(生成随机数),则每次执行rand()时,数据都会发生变化

  • 从数字表样本中选择*(rand()上10个数据块中选择3个) 说明:这里有10个存储桶,其中数据被装箱。我们在带扣的列上使用rand函数来检索数据。因此,它不是从第三个bucket中提取,而是提取随机数据。因此,每次执行rand时,数据都会发生变化

  • 从数字表样本中选择*(数字表上2个数据桶中的1个) 说明:这里有两个存储桶,其中数据是大小写的。我们使用带扣的列来检索数据。因此,数据从第二个bucket中取出,即使您多次运行查询,数据也不会改变


    希望这有帮助

    查询末尾的“s”是什么意思?@johndeer,这是表别名。