抓取流程-generator

 

一。topN job:对urls预处理并取topN urls by score decending.

map:<url,crawldatum> -> <score,selectorentry>。urls预处理和格式转换

a.url filter

b.初步处理是否fetch(当fetchtime 比当前时间滞后才fetch)

c.抓取间隔处理。如果 在crawl.gen.delay时间范围内,则不会再将次云抓取,这个也是索引实时度 的一个主要参数 。/7days/

d.scoring filter 作为sort value.其中link and opic只是简单地利用datum.getScore() * initSort返回。两者默认都是1.0

e.score threshold控制 。目前没有设置,作为NaN值处理.

f.更新_ngt_;同时转换输出格式。

 

 

partition:利用URLPartitioner对Url根据partition.url.mode进行hash,結果将导致相同的host(host或ip)的urls分到相同的red上去。

 

 

red:根据 topN要求,对每个red进行期望(mean)计算,所以所有red得到的不是准确的topn值。

对于生成的segnu相同的情况下,生成的临时結果fetchlist-segnum会将相关的red結果存放在同一文件下。

<score,selectorentry> --> <score,selectorentry>

 

note:DecreasingFloatComparator

 

 

二。parition job(其实是生成segment name及其中的crawl_generate数据)

m:SelectorInverseMapper,invert the input <score,selectorentry> ---> <url,selectorentry>

p:同topn job

r:convert <url,selectorentry> --> <url,crawldatum>

SequenceFileOutputFormat

 

note:这job使用了HashComparator作为outputkeycomparator,而它是优先于red执行的 ,他将host比url中的其它部分增加了权重,所以得到的結果是不同site的urls更加有均匀地分发到各red中?

也许会问,为什么topn job中的part已经相同host的urls均匀分布l在各个red中了而这里又搞乱呢?但我认为前者是不必要的,况且这样造成了如果host不均匀时出现某个red负载较重;而最关键的是这里的part,所以它是一个按url hash的值,而且增加了host的权重。

 

 

 

[三。update crawldb job]( 此job是update时才执行)

过程是:如果存在旧的crawldatum则保留下来,同时复位 _ngt_;也具备url deduplicate功能。

将injector的結果与上述的結果合并,可以看出两者都 是以<url,crawldatum>输出的,所以是可以合并 。

所以結果是:<url ,crawldatum>,note:此結果是存放在crawldb/current下,所以以MapFileOutputFormat与injector的保持一致。

 

------------

topn job:

map -> (在map后直接调用)part
         -> (所有map完成后逐个partition进行)sort -> red -> (red后直接调用) outputformat

------------

結果输出:

bnitz@leibnitz-laptop:~/Search_engine/nutch/mynutch1.2$ hadoop fs -text output/debug/segments/20110706014523/crawl_generate/part-00000
hadoop home:
http://www.163.com/    Version: 7
Status: 1 (db_unfetched)
Fetch time: Mon Jul 04 14:57:19 CST 2011
Modified time: Thu Jan 01 08:00:00 CST 1970
Retries since fetch: 0
Retry interval: 2592000 seconds (30 days)
Score: 1.0
Signature: null
Metadata: _ngt_: 1309887693964

http://www.csdn.net/    Version: 7
Status: 1 (db_unfetched)
Fetch time: Mon Jul 04 14:57:19 CST 2011
Modified time: Thu Jan 01 08:00:00 CST 1970
Retries since fetch: 0
Retry interval: 2592000 seconds (30 days)
Score: 1.0
Signature: null
Metadata: _ngt_: 1309887693964

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值