在hive中计算标记共现

57hvy0tb  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(451)

我是一个Hive新手寻找计算标签共现。我在配置单元中有一个表,其中包含每个文档中存在的所有标记:

(docID STRING, tag STRING)

例如:
文件ID,标签
1,狗
1,猫
1,马
2,狗
2,猫
2,骨头
我正在寻找一个配置单元查询,它可以计算每一对的所有标记共现。
输出应为:

(tagA STRING, tagB STRING, co-occurrence INT)

对于上述示例:
taga,tagb,共现
狗,猫,2
狗,马,1
狗,骨头,1
猫,狗,2
猫,马,1
猫,骨头,1
有没有人可以通过一个Hive查询来实现这一点?

du7egjpx

du7egjpx1#

SELECT A.tag, B.tag, COUNT(*)
FROM tags A JOIN tags B
ON A.docId = B.docId
GROUP BY A.tag, B.tag;

注意:这将不包括0,例如(horse,bone,0)将不在输出中

相关问题