2008-05-20

nutch源代码分析之Injector

关键字: injector, nutch, hadoop, mapreduce
Injector分两步MapReduce操作:获取爬虫数据、将数据合并到爬虫数据库中。
参见Injector.inject(Path crawlDb, Path urlDir)方法

MapReduce1: 把输入数据转换为数据库所需的格式
  • 输入:未处理的,包含url信息的文本文件
  • Map(line) -> <url, CrawlDatum>; status=db_unfetched
  • Reduce()是同一化(即具有相同key值的key-value对根据key值排序后,连续写在SequenceFile中,这是Hadoop默认的Reducer)
  • 输出: 包含临时文件的目录

MapReduce2: 合并到已有数据库
  • 输入:第一步的输出和已存在的数据库
  • Map是同一化
  • Reduce: 合并CrawlDatum成单个入口
  • 输出: 新版本的数据库
评论
发表评论

您还没有登录,请登录后发表评论

coderplay
搜索本博客
存档
最新评论