Nutch-0.9源代码:NutchConfiguration类

Nutch教程——导入Nutch工程,执行完整爬取 by 逼格DATA <property name="repo.maven.org" 33 value="http://repo1.maven.org/maven2/" 34 override="false"/> 在使用本教程之前,需要满足条件: 1)有一台Linux或Linux虚拟机 2)安装JDK(推荐1.7) 3)安装Apache Ant 下载Nutch源码: 推荐使用 阅读详情

org.apache.nutch.util.NutchConfiguration类是Nutch爬虫的配置类,其中包括爬虫的初始化配置和运行时配置。说到NutchConfiguration类,我认为有必要提到Hadoop的Configuration类,即org.apache.hadoop.conf.Configuration。在Nutch早期开发版本中,Hadoop是Nutch项目的一部分,其中Hadoop主要包含两个部分:一个是HDFS(Hadoop分布式文件系统),当然Hadoop中也支持单机文件系统,另一个是Hadoop实现了Google的MapReduce算法,这是一个非常经典的算法。Nutch项目也是基于Hadoop的这两点来实现。

Hadoop文件系统,通过它的配置文件你就可以了解它都具有哪些参数,也大致能从这些参数中了解到该文件系统配置的灵活性,其中,对应的配置类为org.apache.hadoop.conf.Configuration类,该配置类主要是根据配置文件hadoop-default.xml和hadoop-site.xml来进行创建文件系统,hadoop-default.xml是默认的配置文件,在Nutch中,通过配置hadoop-env.sh来设置环境变量,通过配置hadoop-site.xml文件,来配置Nutch所基于的文件系统。

Configuration类就是针对hadoop-default.xml和hadoop-site.xml文件的,里面实现了解析配置文件,其中hadoop-default.xml是默认的,里面配置的内容已经是一个完整的配置。如果配置了hadoop-site.xml文件,系统在初始化Configuration配置类实例的时候,会首先加载默认的hadoop-default.xml文件中的配置,然后读取hadoop-site.xml文件,如果不是空配置,就用该配种文件中的配置来覆盖掉默认的配置。

Configuration类中主要实现了如下一些操作:解析配置文件、设置运行时配置参数、获取配置参数。

NutchConfiguration类是在创建一个Configuration配置实例的基础上,根据Nutch运行的需要,在Configuration实例的基础上进一步进行了配置,如下所示:

public static Configuration create() {
    Configuration conf = new Configuration();
    addNutchResources(conf);
    return conf;
}

将Configuration类的实例作为参数,调用addNutchResources方法,在Configuration类的实例现有配置的基础上,增加了 Nutch的配置,addNutchResources方法如下所示:

public static Configuration addNutchResources(Configuration conf) {
    conf.addDefaultResource("nutch-default.xml");
    conf.addFinalResource("nutch-site.xml");
    return conf;
}

同样,nutch-default.xml是Nutch默认的配置,可以配置nutch-site.xml来覆盖默认的配置nutch-default.xml。

其实,在org.apache.nutch.crawl.Crawl类中可以看到,Nutch的配置其实就是在Configuration的基础上进行更加详细配置,只要需要,就可以向Configuration中添加自定义的配置文件,因为Configuration类对配置文件的解析与读取都做了很好的实现。

因为在Nutch-0.9中使用了Hadoop-0.12.2,这个版本的Hadoop与更高版本的Hadoop不同,在Configuration中就能看到,在0.12.2版本中将两类配置分开存放,分别放在两List列表中:

public Configuration() {
    if (LOG.isDebugEnabled()) {
      LOG.debug(StringUtils.stringifyException(new IOException("config()")));
    }
   
defaultResources.add("hadoop-default.xml");
   
finalResources.add("hadoop-site.xml");
}

其中final表示在Nutch爬虫运行过程中,对应final配置的参数是在hadoop-site.xml中,这里,首先解析加载hadoop-default.xml中配置的参数,如果hadoop-site.xml中重写了某些参数,就要用hadoop-site.xml中的参数覆盖掉hadoop-default.xml中对应参数的配置。final的含义也就是最终生效的配置要由hadoop-site.xml中的配置来看(如果hadoop-site.xml中进行配置)。

而到了0.18.0版本中,直接放到了同一个List中,但都是在Configuration类将final参数区分开来。

在在org.apache.nutch.crawl.Crawl类中,可以看到又增加了一个crawl-tool.xml配置:

    Configuration conf = NutchConfiguration.create();
    conf.addDefaultResource("crawl-tool.xml");

crawl-tool.xml也是一个默认的配置,它的配置项内容和nutch-site.xml以及nutch-default.xml中的是同等的,如果需要修改crawl-tool.xml配置文件,不允许修改该文件,而是将修改后的配置写入到nutch-site.xml文件中。


from:http://hi.baidu.com/shirdrn/blog/item/a4934f116b575018b8127b72.html

Redhawk-SC输入件配置中的5个常见错误及解决方法 本文针对Redhawk-SC功耗与可靠性签核工具,深入剖析了输入件配置中工艺文件错配、DEF文件路径、时序文件格式、电源网络模型及宏模型处理这5个最常见且棘手的错误。文章提供了资深工程师验证过的实战解决方案与检查清单,旨在帮助用户规避风险,提升配置效率与分析准确性,确保芯片签核流程的顺利进行。 阅读详情

相关推荐

Pytorch版deeplabv3+环境配置训练自己的数据集

参考:https://blog.csdn.net/qq_36766560/article/details/110009622?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161594607816780266214828%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161594607816780266214828

Ring__Rain的博客 1万+

OpenLayers 7 实战:5分钟用Vue 3 + Vite 搭建你的第一个可交互地图(附完整代码)

本文详细介绍了如何使用OpenLayers 7与Vue 3 + Vite快速搭建可交互地图应用。通过5分钟实战教程,开发者可以掌握地图初始化、图层控制、坐标显示等核心功能,并学习到工程化优化技巧。文章包含完整代码示例,帮助快速实现专业级WebGIS开发。

nhy520 437

Ubuntu22.04下,用Fast-LIVO2+3DGS重建桌面小物件:从点云到高清模型的保姆级避坑实录

本文详细介绍了在Ubuntu22.04环境下,使用Fast-LIVO2与3DGS技术进行桌面小物件三维重建的完整流程。从环境配置、数据采集到点云-图像对齐和3DGS训练,提供了针对小物件优化的参数设置和避坑指南,帮助用户实现媲美商业扫描仪的高清模型重建效果。

weixin_30897233的博客 399

在终端打印出指定的表的所有记录数据

import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.*; import org.apache.hadoop.hbase.client.*; import java.io.IOException; import java.util.Scanner; public class Test_2 { public stati...

qq_43300712的博客 1287

Linux8.3上装Oracle 19c RAC,ssh互信总报INS-06006?别急着下补丁,试试这个临时替换scp的骚操作

本文针对在Linux 8.3上安装Oracle 19c RAC时遇到的SSH互信报错INS-06006问题,提供了一个无需官方补丁的临时解决方案。通过创建SCP包装脚本并添加-T参数,有效解决了OpenSSH 8.x版本与Oracle安装程序的兼容性问题,帮助用户顺利完成安装流程。

weixin_30764883的博客 403

Yocto下载加速秘籍:用清华镜像+PREMIRRORS配置让构建速度翻倍

本文详细解析了如何通过配置Yocto的PREMIRRORS优先级策略,并利用清华大学等国内镜像源,显著加速构建过程中的源码下载。文章提供了具体的配置示例和验证方法,帮助开发者解决网络瓶颈,实现构建速度翻倍,提升开发效率。

game4的博客 276

【Config】类库读取自己的配置文件,配置文件的扩展

我们在项目中一般都是使用统一的项目文件配置,所有的配置和自定义的字段都写在一个web.config或者App.config文件中。一般平时我们也没有发现问题,确实这么写没有问题,但是就是如果写的多了就看着很臃肿。 并且假如你其他地方不是主项目的配置也写在这里,多了是不是很乱,有时候自己都不知道这个是配置的那个东西了。这不我在搭建自己的框架做日志写入的时候就发现这个问题,我就想因...

381

智能车竞赛疯狂电路组:Altium Designer赛道设计与计分策略全解析

本文全面解析智能车竞赛疯狂电路组中,如何利用Altium Designer进行专业赛道设计。从软件基础操作、图层管理与封装库调用,到赛道拓扑绘制、核心尺寸规范,详细拆解设计全流程。文章深入结合计分策略,指导如何在设计阶段植入策略点,优化路径与元器件布局,以在比赛中获得时间优势,并提供了从图纸输出到实地测试的完整避坑指南。

beta5的博客 585

@Component和@Configuration作为配置类的差别

随着spingboot的大火,注解式配置受到了大家的热烈欢迎,而@Component和@Configuration都可以作为配置类,之前一直都没觉得这两个用起来有什么差别,可能有时程序跑的和自己想的有所区别也没注意到。 直到看到这篇文章:https://my.oschina.net/guangshan/blog/1807721 。我意识到@Component和@Configuration是有区别...

一号搬砖手的博客 10万+

python控制caxa模块_CAXA二次开发实用手册.doc

您所在位置:网站首页 > 海量文档&nbsp>&nbsp汽车/机械/制造&nbsp>&nbsp机械软件CAXA二次开发实用手册.doc119页本文档一共被下载:次,您可全文免费在线阅读后下载本文档。 下载提示1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。2.该文档所得收...

weixin_39990819的博客 1766

超声相控阵合成孔径成像FPGA设计介绍

1.仿真预览 2.理论分析 系统的基本结构如下所示: 以上是实际中完整的结构,系统中会涉及到两块板子中的时钟,这个就是设计一个时钟采样同步的问题,即所谓的时钟同步。一般这种情况,往往使用内插的方式来解决。这是由于,在实际中,超生波接收到的信号是由本身系统发送出去反射回来得到的,因此从另外一方面将,其是同步的。但是在接收的时候通过内插的方法解决其中的延迟问题。 根据论文中的介绍,整个系统分为如下几个部分: ·模拟发送信号,这个部分由MATLAB产生测试数据并量...

FPGA/MATLAB学习教程/源码/项目合作开发 2070

【Nutch2.2.1源代码分析之4】Nutch加载配置文件的方法

小结: (1)在nutch中,一般通过ToolRunner来运行hadoop job,此方法可以方便的通过ToolRunner.run(Configuration conf,Tool tool,String[] args)来加载配置文件。 (2)conf参数会通过NutchConfiguration.creat()方法创建,此方法先加载hadoop的core-default.xml...

weixin_30376323的博客 142

《UDS协议从入门到精通》系列——图解0x85:控制DTC的设置

如何让ECU停止或恢复DTC状态位更新?有哪些注意点?图解+示例教你快速上手UDS 0x85服务!!

车载系统攻城狮 3863

nutch中的Configuration配置类

org.apache.nutch.util.NutchConfiguration类是Nutch爬虫的配置类,其中包括爬虫的初始化配置和运行时配置。说到NutchConfiguration类,我认为有必要提到Hadoop的Configuration类,即org.apache.hadoop.conf.Configuration。在Nutch早期开发版本中,Hadoop是Nutch项目的一部分,其中Ha

WitsMakeMen的专栏 1685

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Nutch 源码分析 (1)

org.apache.nutch.crawl.Crawl类的主函数如下所示:    // 应该知道,Nutch查找文件系统是基于Linux系统的机制的,所以提供启动的命令与Linux的Shell命令很相似。    public static void main(String args[]) throws Exception {     if (args.length // 检

coco_ethan的专栏 1079

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

spring4.0之二:@Configuration的使用

  从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。 注意:@Configuratio...

weixin_34257076的博客 5687

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Nutch配置文件(ConfigurationFiles的优先级、覆盖问题)

Configuration has two levels, default and final. It is supplied by the org.apache.hadoop.conf.Configuration class and extended in Nutch by the org.apache.nutch.util.NutchConfiguration class. Although

545

static关键字 + @Bean方法的使用

接下来就以这为两条主线,分别研究static在对应场景下的作用,本文将聚焦在静态内部类上。 版本约定 本文内容若没做特殊说明,均基于以下版本: JDK:1.8 Spring Framework:5.2.2.RELEASE 正文 说到Java里的static关键字,这当属最基础的入门知识,是Java中常用的关键字之一。你平时用它来修饰变量和方法了,但是对它的了解,即使放在JavaSE情景下知道这些还是不够的,问题虽小但这往往反映了你对Java基础的了解程度。 当然喽,本文并不讨...

li123128的博客 4606

实现一个支持运行时并发修改配置生效的Configuration类

可配置性是一个好的应用程序的重要指标。我们常常需要实现类似能够运行时修改配置的功能。最近在开发一个中间层的服务程序,最终发布的方式是把代码打成jar包交给调用方使用。这个中间层服务需要一些配置信息,考虑了一下有几个基本的需求: 1. 在ja包中提供一个service-defalut.properties配置文件来提供全部的默认配置。这样的好处是尽量减少对调用方的侵入。调用方可以不提供额外的配置。...

weixin_42073629的博客 497

最新大数据毕业设计选题推荐-基于大数据的歌曲流媒体寿命与分发数据可视化分析-大数据-Spark-Hadoop-Bigdata

本文介绍《基于大数据的歌曲流媒体寿命与分发数据可视化分析》系统,采用Hadoop+Spark进行数据存储与处理,结合Django/Spring Boot后端与Vue+Echarts前端,实现音频特征、歌曲寿命、分发渠道等多维度数据分析与可视化。系统涵盖数据清洗、聚合统计、大屏展示等功能,完整呈现歌曲生命周期与渠道影响,为毕业设计提供可落地的大数据实战案例。

IT研究室的博客 23

最新大数据毕业设计选题推荐-基于大数据的厄瓜多尔沿海气象数据可视化分析-大数据-Spark-Hadoop-Bigdata

本文介绍《基于大数据的厄瓜多尔沿海气象数据可视化分析系统》,采用Hadoop+Spark实现数据存储与计算,结合Django/Spring Boot后端与Vue+ECharts前端,完成风场、气压等要素的多维度可视化。系统支持数据查询、统计分析与交互展示,适用于气象科研与教学实践,提供双语言版本及完整源码,助力大数据技术在区域气象分析中的应用探索。

IT研究室的博客 234

Hadoop环境部署

本文记录 Hadoop 集群部署实操步骤,并针对 Hadoop 原生安全短板,梳理大数据集群常见安全风险与防护要点。

2401_88667659的博客 292

最新大数据毕业设计选题推荐-基于大数据的二手车价格影响因素分析与可视化-大数据-Spark-Hadoop-Bigdata

本文介绍《基于大数据的二手车价格影响因素分析与可视化》系统,采用Hadoop+Spark进行数据清洗与分析,结合Django/Spring Boot后端与Vue+ECharts前端,实现品牌、车龄、里程等多维度价格影响因素的统计与可视化。系统支持多平台数据接入,提供直观的数据分析入口,助力二手车定价研究,兼具技术实践与应用参考价值。

IT研究室的博客 170

最新大数据毕业设计选题推荐-基于大数据的电力网格稳定性仿真数据可视化分析-大数据-Spark-Hadoop-Bigdata

本文介绍《基于大数据的电力网格稳定性仿真数据可视化分析系统》,采用Hadoop+Spark实现仿真数据分布式存储与计算,结合Django/Spring Boot后端、Vue+ECharts前端,完成数据看板、稳定态势、功率扰动、响应弹性等七大功能模块。系统通过Spark SQL聚合分析指标,实现电力网格稳定性可视化,适用于毕业设计与项目实战,支持多语言版本及源码获取。

IT研究室的博客 265

大数据与应用服务赛题复现-Hadoop搭建

grep -E 'master|slave' /etc/hosts # 三节点解析(别用 tail,文件末尾是 IPv6 行)若赛规要求保留口令校验,赛后在 master 执行 sudo rm /etc/sudoers.d/90-dubhe 回退。# ⑤ 验证(★ 循环里的 ssh 必须加 -n,ssh 未加 -n 会读走 bash -s 的剩余 stdin)② ssh master / slave1 / slave2 三条命令均无需密码返回主机名。

lightningyang的博客 441

最新大数据毕业设计选题推荐-基于大数据的电影评分与热度数据可视化分析-大数据-Spark-Hadoop-Bigdata

本文介绍《基于大数据的电影评分与热度数据可视化分析系统》,采用Hadoop+Spark构建大数据处理链路,结合Django/Spring Boot后端与Vue+ECharts前端,实现电影评分、热度数据的采集、清洗、分析与可视化。系统支持高分影片管理、评分分布、热度传播趋势等多维度展示,提供可运行、可扩展的毕业设计参考,涵盖完整技术栈与源码,助力学生掌握大数据项目全流程开发。

IT研究室的博客 292
上一篇: Nutch-0.9源代码:Crawl类整体分析
下一篇: 正则表达式
RuizeMa
博客等级 码龄18年 8粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值