Nutch 사용 입문 (3) - 프로필 불 러 오기
/**
* , 。 !
* , , 。
**/
Nutch 의 설정 파일 은 주로 세 가지 종류 가 있 습 니 다.
1. Hadoop 의 프로필, Hadoop - default. xml 과 Hadoop - site. xml.
2. Nutch 의 프로필, Nutch - default. xml 과 Nutch - site. xml.
3. Nutch 플러그 인의 설정 파일 입 니 다. 이 플러그 인의 설정 파일 들 은 플러그 인 을 불 러 올 때 filter 와 같은 플러그 인 에서 자동 으로 불 러 옵 니 다.
프로필 의 로드 순 서 는 프로필 의 우선 순 위 를 결정 합 니 다. 먼저 불 러 온 프로필 의 우선 순위 가 낮 고 나중에 불 러 온 프로필 의 우선 순위 가 높 으 며 우선 순위 가 낮은 설정 은 우선 순위 가 높 은 설정 으로 덮어 씁 니 다.따라서 Nutch 프로필 을 불 러 오 는 순 서 를 알 아 보 는 것 은 Nutch 를 배 우 는 데 필수 적 입 니 다.다음은 Nutch 소스 코드 에 대한 분석 을 통 해 Nutch 가 프로필 을 불 러 오 는 과정 을 살 펴 보 겠 습 니 다.
Nutch 1.0 사용 입문 (1) Nutch 의 주요 명령 인 crawl 의 사용 을 소 개 했 습 니 다. 다음은 crawl 의 main 클래스 (org. apache. nutch. crawl. Crawl) 의 main 방법 부터 분석 하 겠 습 니 다.
Crawl 클래스 main 방법 에서 프로필 을 불 러 오 는 원본 코드 는 다음 과 같 습 니 다.
Configuration conf = NutchConfiguration.create();
conf.addResource("crawl-tool.xml");
JobConf job = new NutchJob(conf);
위 코드 에서 NutchConfiguration 클래스 의 대상 이 생 성 되 었 습 니 다. NutchConfiguration 은 Nutch 가 자신의 프로필 을 관리 하 는 클래스 이 고 Configuration 은 Hadoop 이 자신의 프로필 을 관리 하 는 클래스 입 니 다. 다음은 NutchConfiguration 클래스 의 create () 방법 으로 들 어 갑 니 다.
/** Create a {@link Configuration} for Nutch. */
public static Configuration create() {
Configuration conf = new Configuration();
addNutchResources(conf);
return conf;
}
create () 방법 에서 선생 은 Configuration 클래스 의 대상 이 되 었 습 니 다. Configuration 클래스 의 원본 코드 를 보십시오.
/** A new configuration. */
public Configuration() {
this(true);
}
/** A new configuration where the behavior of reading from the default
* resources can be turned off.
*
* If the parameter {@code loadDefaults} is false, the new instance
* will not load resources from the default files.
* @param loadDefaults specifies whether to load from the default files
*/
public Configuration(boolean loadDefaults) {
if (LOG.isDebugEnabled()) {
LOG.debug(StringUtils.stringifyException(new IOException("config()")));
}
if (loadDefaults) {
resources.add("hadoop-default.xml");
resources.add("hadoop-site.xml");
}
}
위 코드 에서 알 수 있 듯 이 Configuration 대상 을 만 들 때 hadop - default. xml 과 hadop - site. xml 두 프로필 을 순서대로 불 러 옵 니 다. 따라서 Hadoop - site. xml 의 설정 은 hadop - default. xml 의 설정 을 덮어 씁 니 다. Hadoop 프로필 의 추가 로드 를 알 고 방금 create () 로 돌아 갑 니 다.방법 안에 있 습 니 다. Configuration 대상 을 만 든 후 addNutchResources (conf) 방법 을 호출 합 니 다.
/** Add the standard Nutch resources to {@link Configuration}. */
public static Configuration addNutchResources(Configuration conf) {
conf.addResource("nutch-default.xml");
conf.addResource("nutch-site.xml");
return conf;
}
nutch - default. xml 파일 을 먼저 불 러 온 다음 nutch - site. xml 파일 을 불 러 왔 습 니 다. 따라서 nutch - site. xml 의 설정 은 nutch - default. xml 의 설정 을 덮어 씁 니 다. 다음은 crawl 류 의 main 방법 으로 돌아 가 계속 내 려 다 보 겠 습 니 다. conf. addResource ("crawl - tool. xml") 를 호출 했 습 니 다. 이것 은 crawl - tool. xml 설정 파일 이 마지막 으로 불 러 온 것 을 보 여 줍 니 다.
위의 간단 한 소스 코드 분석 을 통 해 우 리 는 Nutch 프로필 의 우선 순 위 를 알 수 있 습 니 다.
Nutch 자신의 프로필: crawl - tool. xml > nutch-site.xml > nutch-default.xml
hadop 설정 파일: hadop - site. xml > hadoop-default.xml
물론, nutch 의 프로필 이 Hadoop 의 프로필 에 불 러 오기 때문에 nutch 의 프로필 도 Hadoop 프로필 의 설정 을 덮어 씁 니 다. 전체 프로필 이 아 닌 단독 Property 를 덮어 쓰 는 것 을 알 아야 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
XML이란 무엇입니까?이것은 저장, 검색 및 공유할 수 있는 형식으로 데이터를 저장하는 강력한 방법입니다. 가장 중요한 것은 XML의 기본 형식이 표준화되어 있기 때문에 시스템이나 플랫폼 간에 로컬 또는 인터넷을 통해 XML을 공유하거나...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.