文档章节

generate.max.count

 长河青川
发布于 2015/02/02 15:11
字数 230
阅读 11
收藏 0

对generate.max.count参数的处理在org.apache.nutch.crawl.Generator内部类Selector中

org.apache.nutch.crawl.Generator中相关变量声明情况

private HashMap<String, int[]> hostCounts = new HashMap<String, int[]>();
private int maxCount;


内部类Selector的config方法中

maxCount = job.getInt(GENERATOR_MAX_COUNT, -1);


reduce方法中的处理

/***
1、获取 某一主机下的int[] ,如果为null,声明一个数组,放入map中,int数组第2个值+1;

*/

//1
int[] hostCount = hostCounts.get(hostordomain);
if (hostCount == null) {
	hostCount = new int[] { 1, 0 };
	hostCounts.put(hostordomain, hostCount);
}
hostCount[1]++;// increment hostCount

//2、检查是否到了topN的数量,如果hostCount的第一个值大于limit
// check if topN reached, select next segment if it is
while (segCounts[hostCount[0] - 1] >= limit//segCounts :
		&& hostCount[0] < maxNumSegments) {
	hostCount[0]++;
	hostCount[1] = 0;
}

// reached the limit of allowed URLs per host / domain
// see if we can put it in the next segment?
if (hostCount[1] >= maxCount) {
	if (hostCount[0] < maxNumSegments) {
		hostCount[0]++;
		hostCount[1] = 0;
	} else {
		if (hostCount[1] == maxCount + 1
				&& LOG.isInfoEnabled()) {
			LOG.info("Host or domain "
					+ hostordomain
					+ " has more than "
					+ maxCount
					+ " URLs for all "
					+ maxNumSegments
					+ " segments. Additional URLs won't be included in the fetchlist.");
		}
		// skip this entry
		continue;
	}
}
entry.segnum = new IntWritable(hostCount[0]);
segCounts[hostCount[0] - 1]++;




© 著作权归作者所有

共有 人打赏支持
上一篇: mapreduce
下一篇: s
粉丝 1
博文 3
码字总数 4192
作品 0
东城
私信 提问
Nutch1.7源码再研究之---7 Nutch的generate中的reduce

下面开始讲解Generate中的reduce代码。 while (values.hasNext()) { 可以看到,整个reduce逻辑都是在一个大循环里。 ======================================= if (count == limit) { // do ...

强子哥哥
2014/10/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多
ubuntu美化记,-修改皮肤,安装工具。

事情由来 最近系统盘坏了,换了新SSD,也换了新版的ubuntu 18.04LTS;不得不说,ubuntu 的桌面搞的越来越漂亮了。 把调整过的zsh shell样式,截个图上来镇一下楼: 添加了对python virtuale...

janl
7分钟前
0
0
阿里云物联网边缘计算加载MQTT驱动

写在前面 本文在LinkEdge快速入门样例驱动的基础上,加载了MQTT订阅的客户端,使得边缘端容器可以通过MQTT获得外部数据。 1. 系统需求 物联网边缘计算平台,又名Link IoT Edge[1]。在物联网边...

阿里云云栖社区
8分钟前
0
0
错误: 找不到或无法加载主类

在IDEA的使用过程中,经常断掉服务或者重启服务,最近断掉服务重启时突然遇到了一个启动报错: 错误:找不到或无法加载主类 猜测:1,未能成功编译; 尝试:菜单---》Build---》Rebuild Pro...

安小乐
24分钟前
1
0
vue路由传参,刷新页面,引发的bug

最近遇到一个bug 通过vue路由跳转到页面, 然后接参控制(v-if ),成功显示 而刷新页面,显示失败。 苦苦地找了半天原因,打印参数发现正确,再打印下类型......,路由跳过来会保持传参时的...

hanbb
24分钟前
1
0
【58沈剑 架构师之路】InnoDB,select为啥会阻塞insert?

MySQL的InnoDB的细粒度行锁,是它最吸引人的特性之一。 但是,如《InnoDB,5项最佳实践》所述,如果查询没有命中索引,也将退化为表锁。 InnoDB的细粒度锁,是实现在索引记录上的。 一,Inn...

张锦飞
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部