当前位置: 网学 > 编程文档 > SQL SERVER > 正文

海量数据的二度人脉挖掘算法(Hadoop 实现)

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/01/12
98)this.width=498;'' onmousewheel = ''javascript:return big(this)'' style="cursor: pointer" alt="" src="/uploadfile/201301/12/A3121747464.jpg" />

代码如下:

Map 任务:输出时 key 为 由两个String 记录的ID表示的 二度人脉关系,value 为 这个二度关系产生的间接人的ID

  1. public void map(Text key, TextPair values, Context context) throws IOException,InterruptedException{  
  2.         Map<String, String> first_follow = new HashMap<String, String>();  
  3.         Map<String, String> second_befollow = new HashMap<String, String>();  
  4.         String _key = key.toString();  
  5.         String[] follow = values.getFirst().toString().split(Separator.TABLE_String);  
  6.           
  7.         String[] second = values.getSecond().toString().split(Separator.TABLE_String);  
  8.           
  9.         for(String sf : follow){  
  10.               
  11.             first_follow.put(sf , _key );  
  12.               
  13.         }  
  14.           
  15.         for(String ss : second){  
  16.               
  17.             second_befollow.put(ss , _key );  
  18.               
  19.         }  
  20.           
  21.         for(Entry<String, String> f : first_follow.entrySet()){  
  22.             for(Entry<String, String> b : second_befollow.entrySet()){  
  23.                 context.write(new TextPair(f.getKey() ,b.getKey()), new Text(key));  
  24.             }  
  25.         }  
  26. &nbsp;&nbsp;&nbsp;&nbsp;} 

Reduce任务:输出时 key 仍然为二度人脉关系, value 为所有间接人 的ID以逗号分割。

  1. protected void reduce(TextPair key, Iterable<Text> values, Context context)  
  2.     throws IOException, InterruptedException {  
  3.       
  4.     StringBuilder resutl = new StringBuilder();  
  5.     for (Text text : values){  
  6.         resutl.append(text.toString()).append(",");  
  7.     }  
  8.       
  9.     context.write(key, new Text(resutl.toString()));  

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号