我将在Stack overflow
中已经关闭已经关闭的案例Making a co-occurrence matrix from mysql database in MYSQL, PHP or R
在sql中创建共生矩阵有一个很好的解决方案:
SELECT a.uid first_uid, b.uid second_uid, COUNT(*) cnt
FROM my_table a JOIN my_table b ON b.id = a.id AND b.uid > a.uid
GROUP BY a.uid, b.uid
给出一张表:
id uid
1 a
1 b
1 c
2 a
2 b
2 c
3 b
3 c
会产生这样的共生矩阵:
first_uid second_uid cnt
a b 2
a c 2
b c 3
这也可以使用SQL server unpivot命令完成。 我想知道如何用Pig Latin实现类似的解决方案。特别是有一种方法可以在Pig Latin中加入不等式。
使用PIG
获得共生矩阵还有哪些其他替代方法答案 0 :(得分:0)
您问题的关键部分似乎是:
有没有办法在Pig \
中进行不等式的连接
答案是肯定的,但并不总是很好。
接近这种方法的方法是先没有条件地加入,然后在不等式上过滤结果。
通常猪可以将过滤器向上推一点以防止临时结果爆炸,但我不确定这通常有多高效。