[HADOOP] 분산 캐시 hadoop을 통해 jar 추가
HADOOP분산 캐시 hadoop을 통해 jar 추가
분산 캐시를 사용하여 클래스 경로에 .jar 파일을 추가하고 있습니다.
DistributedCache.addFileToClassPath(new Path("binary/tools.jar"), job.getConfiguration());
addFileToClassPath ()가 .jar 파일을 클래스 경로에 추가하는 데 사용되는 올바른 API인지 확실하지 않습니다. 매퍼에서 클래스 경로를 검색하려고 할 때 추가 된 jar을 볼 수 없었습니다. 클래스 경로에는 작업의 작업 디렉토리 (jobcache dir)가 포함되지만 분산 캐시를 통해 분배 된 jar은 포함되지 않습니다.
Properties prop = System.getProperties();
System.out.println("The classpath is: " + prop.getProperty("java.class.path", null));
addArchiveToClassPath ()도 시도했습니다. 작동하지 않았습니다.
뭔가 빠졌습니까?
감사,
해결법
-
==============================
1.문제는 길에 있었다. addFileToClassPath () 또는 addArchiveToClassPath ()는 절대 경로 만 입력으로 사용합니다. binary / tools.jar은 상대적이므로 작동하지 않았습니다. 경로를 /user/
/binary/tools.jar로 지정해야합니다. 이제는 제대로 작동합니다. hdfs : // : port / user / ..조차도 실패합니다. 문제는 길에 있었다. addFileToClassPath () 또는 addArchiveToClassPath ()는 절대 경로 만 입력으로 사용합니다. binary / tools.jar은 상대적이므로 작동하지 않았습니다. 경로를 /user/
/binary/tools.jar로 지정해야합니다. 이제는 제대로 작동합니다. hdfs : // : port / user / ..조차도 실패합니다. 다들 감사 해요..
-
==============================
2.jar 파일이 로컬 파일 시스템 또는 HDFS의 클래스 경로에 추가됩니까?
jar 파일이 로컬 파일 시스템 또는 HDFS의 클래스 경로에 추가됩니까?
DistributedCache는 사용자가 지정한 경로가 HDFS에있을 것으로 예상합니다
from https://stackoverflow.com/questions/11522242/adding-jar-via-distributed-cache-hadoop by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] HBase : HBase 테이블의 크기를 어떻게 추정 할 수 있습니까? (0) | 2019.08.15 |
---|---|
[HADOOP] Pig Latin에서 그룹당 하나의 파일 작성 (0) | 2019.08.15 |
[HADOOP] MapReduce 중 디스크 유출 (0) | 2019.08.15 |
[HADOOP] MapReduce 작업 수 (0) | 2019.08.15 |
[HADOOP] 압축 파일을 입력으로하여 hadoop을 실행 중입니다. hadoop이 읽은 데이터 입력 순서가 맞지 않습니다. 숫자 형식 예외 (0) | 2019.08.15 |