1
我有这样的一个表:做交叉表在蜂房(0.9版本)
sport personId
1 1
1 2
1 3
2 1
2 4
2 6
3 1
3 3
3 6
我想获得一个表与运动的交叉点的数量 - 这相当于伪代码:
for sport1 in sports:
for sport2 in sports:
X[sport1,sport2] = count(intersect(sport1,sport2))
我知道我这样做,如果我只有几个体育:
select count(*) from (select * from table where sport = sport1) t1 join (select count(*) from table where sport = sport2) t2 on t1.personId = t2.personId;
但我想这样做产生一张桌子,适合我所有的运动。
请注意,我在Hive 0.9上,不支持交叉连接。
谢谢!
是的,我做了双组合,它做了诡计,尽管它没有输出表格。我稍后会研究python reducer。 – S4M