Hive 配置单元中'rand()'函数的精度?

Hive 配置单元中'rand()'函数的精度?,hive,Hive,如果我的表有很多行,比如说数百亿行,那么从表中选择rand会为两行提供两个相同的结果吗?配置单元中rand函数的返回类型是double。double的精度大约在-10^308到10^308之间。因此兰德返回重复结果的可能性几乎为零 在包含150亿行的配置单元上测试了以下查询 select r, count(*) from ( select rand() as r from <table name> ) as a group by r having count(*

如果我的表有很多行,比如说数百亿行,那么从表中选择rand会为两行提供两个相同的结果吗?

配置单元中rand函数的返回类型是double。double的精度大约在-10^308到10^308之间。因此兰德返回重复结果的可能性几乎为零

在包含150亿行的配置单元上测试了以下查询

 select r, count(*)
 from (
   select rand() as r from <table name>
 ) as a
  group by r 
  having count(*)>1;
结果是找不到任何行。这表明rand没有返回重复的行

从上的Hive wiki查看此链接。

Hive中rand函数的返回类型为double。double的精度大约在-10^308到10^308之间。因此兰德返回重复结果的可能性几乎为零

在包含150亿行的配置单元上测试了以下查询

 select r, count(*)
 from (
   select rand() as r from <table name>
 ) as a
  group by r 
  having count(*)>1;
结果是找不到任何行。这表明rand没有返回重复的行

从上的Hive wiki检查此链接