我正在进行一项实验,需要修复测试和控制组的受众群体。这是我正在使用的查询:
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播种
答案 0 :(得分:0)
我发现同一个查询表两次的错误(与连接本身无关)。尝试设置
hive.optimize.index.filter=false;
让我知道它是否有效,如果不能,我认为还有一个额外的属性,有两次查询表的错误。