복붙노트

[HADOOP] 자바 코드에서 하이브를 site.xml의 위치를 ​​찾기

HADOOP

자바 코드에서 하이브를 site.xml의 위치를 ​​찾기

내 자바 프로그램에서 하이브-site.xml 파일의 위치를 ​​전달하려는.

자동으로 자바 코드에서이 파일의 위치를 ​​찾을 수있는 가장 좋은 방법은 무엇입니까?

나는 클라우 데라의 distibution에 대한 /etc/hive/conf/hive-site.xml 어려운 코드의 경로를 원하지 않는다

해결법

  1. ==============================

    1.기본적으로 하둡 구성 생성자는 CLASSPATH에 존재하는 디렉토리에 "blahblah-site.xml의"설정 파일을 검색합니다. 그것은 그들을 찾을 수없는 경우, 다음은 경고없이, 하드 코딩 된 "기본"값으로 돌아갑니다 (!).

    기본적으로 하둡 구성 생성자는 CLASSPATH에 존재하는 디렉토리에 "blahblah-site.xml의"설정 파일을 검색합니다. 그것은 그들을 찾을 수없는 경우, 다음은 경고없이, 하드 코딩 된 "기본"값으로 돌아갑니다 (!).

    그래서 예를 들면, CLASSPATH가 전면에 적절한 디렉토리를 포함하는지 확인 은 / etc / 하둡 / conf의 / :을 / etc / 하이브 / conf의 / :을 / etc / TEZ / conf의 / : ...

    그럼 당신은 자바 코드에서해야 할 유일한 것은 그 중요한 속성이 하드 코딩 된 기본값 (이 경우가 아니라면와 PleaseSetupProperClasspathYouSuckerException 인상)하는 것이 다른 무엇인가로 설정되어 확인하는 것입니다.

  2. ==============================

    2.문자열 경로 = System.getenv ( "HIVE_HOME");

    문자열 경로 = System.getenv ( "HIVE_HOME");

  3. from https://stackoverflow.com/questions/33901667/find-the-location-of-hive-site-xml-in-java-code by cc-by-sa and MIT license