电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

nutch分布式详解VIP免费

nutch分布式详解_第1页
nutch分布式详解_第2页
nutch分布式详解_第3页
nu tch 分布式详解 1( Injector) 初始抓取时,没有任何文件,只有几个待抓取的 url 站点信息。假设所有 url 站点存在 rootUrlDir 文件目录下(可以是一个或多个文件,每个文件一行一个 url)。需要将这些 url 导入到 crawldb 中去,以方便在下次 generate 时能够抓取这些网页。 这里详细介绍导入函数 injector 的分布式过程。导入函数调用方式为:injector.inject(crawlDb, rootUrlDir)。 整体过程包含两个 MapReduce 过程: (1)sortJob:把输入的 url 转换为 crawlDatum 格式; Input: urlDir Mapper:InjectMapper: ---> Output:tempDir OutputFormat:SequenceFileOutputFormat 分析:Map 过程中,一行读取一个 url,并将 url 站点封装成 crawlDatum 对象。每个 url 都经过 urlNormalizers, filters,scfilters 三个过程标记状态: urlNormailizes 在这里为 URLNormalizers.SCOPE_INJECT 状态,将 url 正规化处理,如规范大小写等; filters 由 nutch-site.xml 的“urlfilter.order”属性控制,默认值为空时加载所有的 urlfilter,把一些不符合的 url过滤掉(这里也可以自定义urlfilter,比如过滤某 些不需要抓取的站点); Scfilters 由“scoring.filter.order”属性控制,默认值是空也是加载所有的 score filter 的 injectedScore 函数; 新构造的 crawlDatum 的 status = STATUS_INJECTED,fetchInterval=30 天,fetchTime=currentTime,score =1.0f。 (2)mergeJob:将新产生的 crawlDatum 序列合并到 currnet crawlDb 中,crawldb 中包含了所有抓取及未抓取的 url 对象信息,包括url 信息、上次抓取时间、抓取时间间隔等,所有这些信息都封装在 crawldatum 对象中。 Input:crawlDb,tempDir; Mapper: CrawlDbFilter -> InputFormat:SequenceFileInputFormat Output: newCrawlDb:以一个随机数为后缀的cawldb OutputFormat:MapFileOutputFormat (备注:MapFileOutputFormat 与SequenceFileOutputFormat 通用,见sequenceFileOutputFormat 代码) Reducer: InjectReducer 分析:Map 过程中也可以经历了urlNormalizers, filters 两个过程,分别由"crawldb.url.filters"及"crawldb.url.normalizers"两个Boolean 属性控制,默认值为false。 Reduce 过程...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部