Nutch中ParseSegment执行流程

背景:最近在做一个关于Nutch的搜索引擎系统,要对Nutch进行自己的改进来用到项目中

ParseSegment的执行流程分析:Nutch是基于Hadoop框架的,ParseSegment解析类的执行过程就是以Hadoop为框架程序的执行流程

(1)Crawl类调用ParseSegment解析类的parse函数,对上一步检索返回的网页进行解析。

(2)ParseSegment解析类的parse函数按照Hadoop框架基本执行流程,创建JobConf配置信息类实例,然后将自己设置为配置信息类的Mapper和Reducer属性,同时设置其他程序执行用到的配置信息,最后parse函数调用JobClient的run函数,按照JobConf配置的信息进行忠实的执行。

(3)JobClient通过一系列的调用,最终通过submitJobInternal()函数调用LocalJobRunner类的submitJob()函数提交工作。

(4)LocalJobRunner类的submitJob函数创建Job类,返回工作状态,Job类在创建实例的同时会启动自身进行执行。

(5)Job类的run函数主要进行了三项工作,首先对输入的数据进行分块处理,然后调用对数据进行MapTask进行map处理,最后调用ReduceTask对数据进行reduce处理。

(6)MapTask的run函数会调用runOldMapper函数,runOldMapper函数用jobConf中的MapperRunnerClass信息构造 MapRunnable实例。

(7)MapRunnable实例最终调用MapperRunnerClass的map函数,完成整个过程。

 

备注:输入给ParseSegment解析类的输出类是MapTask的内部类OldOutputCollector

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WitsMakeMen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值