Hive 如何在蜂箱中固定种子

Hive 如何在蜂箱中固定种子,hive,seed,seeding,Hive,Seed,Seeding,我正在做一个实验,需要为实验组和对照组安排观众。以下是我正在使用的查询: select consumer_id, case when rand(5555)<0.5 then 'control' else 'experiment' end as groups from my_table 选择消费者标识, 当rand(5555)我发现同一个bug两次查询一个表时(与连接本身无关)。尝试设置 hive.optimize.index.filter=false; 让我

我正在做一个实验,需要为实验组和对照组安排观众。以下是我正在使用的查询:

 select consumer_id,
  case when rand(5555)<0.5 then 'control'
       else 'experiment' 
   end as groups
from my_table
选择消费者标识,

当rand(5555)我发现同一个bug两次查询一个表时(与连接本身无关)。尝试设置

hive.optimize.index.filter=false;
让我知道它是否有效,如果不起作用,我认为还有一个额外的属性有一个bug,它会查询一个表两次。

因为有一个连接,所以“left”random()调用可能不会对某些行进行计算。如果您首先使用相同的随机过滤器创建临时表,那么应该可以。不过,在大多数情况下,在客户id上使用某种哈希函数和mod是可行的(例如,hash(客户id)mod 100=1)。也许,如果客户ID是“随机”的,您甚至不需要哈希函数。
hive.optimize.index.filter=false;