我正在对大量的网络日志进行共现分析。我计算了每一项的发生时间,以及每一项的共发生时间 <item1, item2>
使用hadoop。
现在,我要计算一对的相关测度 <item1,item2>
,例如 n_12/(n_1*n_2)
,在哪里 n
表示项目或项目对的发生或共发生次数。我把数据整理成:
key: item1
value: [(item1, n_1) (item2, n_12) ... (itemk, n_1k)]
我在想我怎么知道 n_2, ..., n_k
在处理有关的键值时 item1
?
谢谢你的帮助。
1条答案
按热度按时间smdnsysy1#
你的意思是你需要在每个Map器中访问一个特定的字典?您可以使用hadoop的“分布式缓存”功能。这适用于较小的字典。这本词典能有多大?如果是在gbs中,您可能不得不采用reduce-side-join。