[HADOOP] Hadoop 구성 속성이 Null을 반환합니다.
HADOOPHadoop 구성 속성이 Null을 반환합니다.
Hadoop에서 구성을 설정하는 방법을 테스트하는 간단한 코드를 작성했습니다.
public static void main(String[] args) {
Configuration conf = new Configuration();
conf.addResource("~/conf.xml");
System.out.println(conf);
System.out.println(conf.get("color"));
}
위 프로그램의 결과는 다음과 같습니다.
Configuration: core-default.xml, core-site.xml, ~/conf.xml
null
따라서 conf.get ( "color")는 null을 반환합니다. 그러나 conf.xml에서 다음과 같이이 속성을 명시 적으로 설정했습니다.
<property>
<name>color</name>
<value>yellow</value>
<description>Color</description>
</property>
해결법
-
==============================
1.리소스를 URL로 추가해야합니다. 그렇지 않으면 String이 클래스 경로 리소스로 해석됩니다 (현재로서는 해결되지 않고 무시됩니다. 경고 메시지가 어딘가에 덤핑 될 것이라고 생각합니다).
리소스를 URL로 추가해야합니다. 그렇지 않으면 String이 클래스 경로 리소스로 해석됩니다 (현재로서는 해결되지 않고 무시됩니다. 경고 메시지가 어딘가에 덤핑 될 것이라고 생각합니다).
/** * Add a configuration resource. * * The properties of this resource will override properties of previously * added resources, unless they were marked <a href="#Final">final</a>. * * @param name resource to be added, the classpath is examined for a file * with that name. */ public void addResource(String name) { addResourceObject(name); }
어쨌든 이것을 시도해보십시오 (syserr에서 노란색으로 표시됨).
@Test public void testConf() throws MalformedURLException { Configuration conf = new Configuration(); conf.addResource(new File("~/conf.xml") .getAbsoluteFile().toURI().toURL()); conf.reloadConfiguration(); System.err.println(conf); System.err.println(conf.get("color")); }
from https://stackoverflow.com/questions/11478036/hadoop-configuration-property-returns-null by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop과 MySQL 통합 (0) | 2019.08.02 |
---|---|
[HADOOP] Mapper and Reducer 클래스에서 변수를 공유하는 방법은 무엇입니까? (0) | 2019.08.02 |
[HADOOP] 이클립스에서 Hadoop을 사용할 때 libprotoc가 오래 되었기 때문에 트렁크가 컴파일되지 않는다. (0) | 2019.08.02 |
[HADOOP] 아파치 하마 설치 오류 우분투 14.04에 (0) | 2019.08.02 |
[HADOOP] hadoop -libjars 및 ClassNotFoundException (0) | 2019.08.02 |