如何在Hive中固定种子

uyhoqukh  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(400)

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

select consumer_id,
  case when rand(5555)<0.5 then 'control'
       else 'experiment' 
   end as groups
from my_table

如果我使用同一个查询创建两个表,并将它们连接起来,它们具有相同的拆分,但是如果我在同一个查询中连接在一起,则会为每个表提供不同的拆分。

select a.groups,b.groups,count(*) from
 (select consumer_id,
  case when rand(5555)<0.5 then 'control'
       else 'experiment' 
   end as groups
from my_table) a
left join 
 (select consumer_id,
        case when rand(5555)<0.5 then 'control'
             else 'experiment' 
         end as groups
from my_table) b on a.consumer_id = b.consumer_id
group by a.groups,b.groups;

你知道这是为什么吗?我可以用哪个功能在Hive里播种

3xiyfsfu

3xiyfsfu1#

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

hive.optimize.index.filter=false;

让我知道如果它工作,如果它不我认为有一个额外的属性与一个错误查询表两次。

相关问题