Hive 配置单元中的列联表/交叉表

Hive 配置单元中的列联表/交叉表,hive,hiveql,contingency,Hive,Hiveql,Contingency,我试图以列联表的形式得到Hive中几个分类变量的结果 Var1 = {val_11, val_12, val_13} Var2 = {val_21, val_22, val_23} 结果应该是这样的 val11 val12 val13 ------------------------------ val21 x x x val22 x x x val23 x

我试图以列联表的形式得到Hive中几个分类变量的结果

Var1 = {val_11, val_12, val_13}  
Var2 = {val_21, val_22, val_23}
结果应该是这样的

       val11    val12   val13      
------------------------------  
val21    x        x       x   
val22    x        x       x   
val23    x        x       x
其中x-各值组合的计数。我的数据中每个变量都有3个以上的分类值,大约100个

因此,我尝试了几个步骤:

CREATE TABLE tmp_1 as SELECT Var1, COUNT (DISTINCT Var2) AS Var2_count FROM my_table GROUP BY Var1;  
CREATE TABLE tmp_2 as SELECT Var2, COUNT (DISTINCT Var2) AS Var1_count FROM my_table GROUP BY Var2;  
那会给我tmp_1的钱

val11 num_val21  
val11 num_val22  
val11 num_val23  
val12 num_val21  
val12 num_val22  
val12 num_val23  
val13 num_val21  
val13 num_val22  
val13 num_val23  
tmp_2也类似

现在,
选择Var1,从tmp_1收集_集(Var2_计数)
选择Var2,从tmp_2中收集_集(Var1_计数)


对于许多分类值和2个以上的变量,是否有更好的正确方法

对不起,我不知道格式化是怎么回事,但它没有按我想要的方式工作。