[HADOOP] 하둡에 타사 항아리를 포함
HADOOP하둡에 타사 항아리를 포함
나는 하둡에 새로운 오전. 내 MapReducing 프로그램에 GSON API를 추가했습니다. 언제가 점점 프로그램을 실행하고,
Error: java.lang.ClassNotFoundException: com.google.gson.Gson
누구는 타사 라이브러리 하둡에 추가하는 방법에 저를 제안 할 수 있습니까?
해결법
-
==============================
1.HADOOP_CLASSPATH 모두에 종속성을 추가해야합니다 및 다음 예제와 같은 작업을 제출시 -libjars :
HADOOP_CLASSPATH 모두에 종속성을 추가해야합니다 및 다음 예제와 같은 작업을 제출시 -libjars :
현재와 lib 디렉토리 디렉토리에서 모든 항아리 종속성을 추가하려면 다음을 사용합니다 :
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:`echo *.jar`:`echo lib/*.jar | sed 's/ /:/g'`
하둡 항아리를 통해 작업을 시작할 때 당신은 또한 -libjars의 사용을 통해 그것을 종속성의 항아리를 통과해야한다는 점을 명심. 내가 사용하려면 :
hadoop jar <jar> <class> -libjars `echo ./lib/*.jar | sed 's/ /,/g'` [args...]
참고 : SED 명령은 다른 구분 문자를 필요로; HADOOP_CLASSPATH이되어 분리되고 -libjars 분리 될 필요가있다.
-
==============================
2.HADOOP_CLASSPATH에 항아리를 추가
HADOOP_CLASSPATH에 항아리를 추가
vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh
마지막 줄에 추가
export HADOOP_CLASSPATH=/root/hadoop/extrajars/java-json.jar:$HADOOP_CLASSPATH
리눅스 박스 자체가 아니라 HDFS에 대한 경로는 "/root/hadoop/extrajars/java-json.jar"입니다
하둡을 다시 시작
명령
hadoop classpath
클래스 경로에서 항아리를 표시해야
이제 평소처럼 MR 작업을 실행
hadoop jar <MR-program jar> <MR Program class> <input dir> <output dir>
그것은 예상대로에서 파일을 사용합니다.
from https://stackoverflow.com/questions/16340158/include-third-party-jars-in-hadoop by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 이클립스 - - 모두 핵심 및 수학 폴더의 코끼리 조련사 수학 라이브러리의 클래스를 포함 하둡을 (0) | 2019.09.19 |
---|---|
[HADOOP] 매트릭스 포맷 변환 끓는 (0) | 2019.09.19 |
[HADOOP] 어떻게 pyspark 유사한 자바 파티션에 마루 파일을 작성하는? (0) | 2019.09.19 |
[HADOOP] - 스파크 제출 연결할 수 없습니다 (0) | 2019.09.19 |
[HADOOP] 여러 HBase를 테이블에 쓰기, 어떻게 context.write 사용합니까 (HKEY을 넣어)? (0) | 2019.09.19 |