HIVE 와 OZIE 에 제3자 JAR 가방 을 추가 하 는 방법.
HIVE 에 제3자 jar 가방 이나 자신 이 만 든 'UDF' jar 가방 을 도입 해 야 할 때 가 많 습 니 다.HIVE 에서 지정 한 외부 jar 패키지 와 관련 된 설정 은 두 가지 가 있 습 니 다.
현재 의 실험 에서 확정 할 수 있 는 것 은 두 가지 가 있다.
<property>
<name>hive.aux.jars.path</name>
<value>file:///usr/lib/hive-aux-jars/elasticsearch-hadoop-2.1.0.Beta4.jar,file:///usr/lib/hive-aux-jars/csv-serde-0.9.1.jar</value>
</property>
hive - site. xml 설정 항목: hive. aux. jars. path
hive. aux. jars. path 설정 에 대해 서 는 HDFS 경 로 를 만 드 는 것 을 권장 합 니 다. jar 가방 은 HDFS 에 전달 하 는 것 이 편리 합 니 다.로 컬 경 로 를 지정 하면 각 노드 의 대응 위치 에 필요 한 jar 가방 이 설치 되 어 있 는 지 확인 해 야 합 니 다. 이렇게 하면 조작 하기 가 비교적 번 거 롭 습 니 다.
환경 변수 HIVEAUX_JARS_PATH
환경 변수 에 대한 HIVEAUX_JARS_PATH, 특별히 설명해 야 합 니 다. 보통 이 변 수 를 설정 하면 해당 하 는 jar 를 도입 할 수 있 습 니 다. 그러나 현재 버 전의 hive 에서 이 변수의 설정 값 에 문제 가 있 습 니 다. hive 를 시작 하 는 셸 스 크 립 트 hive - env. sh 를 살 펴 보 겠 습 니 다. 그 안에 다음 과 같은 부분 이 있 습 니 다.
# Folder containing extra libraries required for hive compilation/execution can be controlled by:
if [ "${HIVE_AUX_JARS_PATH}" != "" ]; then
export HIVE_AUX_JARS_PATH=${HIVE_AUX_JARS_PATH}
elif [ -d "/usr/hdp/current/hive-webhcat/share/hcatalog" ]; then
export HIVE_AUX_JARS_PATH=/usr/hdp/current/hive-webhcat/share/hcatalog
fi
이것 은 대본 이 비교적 엉망 입 니 다. 왜냐하면 우리 가 HIVE 에 게AUX_JARS_PATH 가 값 을 설정 하면 / usr / hdp / current / hiv - webhcat / share / hcalk 이 무 시 됩 니 다.이것 은 분명히 매우 기괴 해 보이 지만, 실제로 hive 는 하나의 HIVE 만 읽 을 수 있다.AUX_JARS_PATH, 즉 위의 이 괴이 한 코드 의 주요 원인 입 니 다.그래서 비교적 좋 은 방법 은 우리 가 한 곳 에 우리 의 공유 jar 가방 을 집중 적 으로 놓 은 다음 에 / usr / hdp / current / hiv - webhcat / share / hcalk 아래 에 해당 하 는 소프트 연결 을 만 들 수 있다 는 것 이다. 예 를 들 어 우 리 는 jar 를 / usr / lib / share - lib 아래 에 통일 적 으로 놓 은 다음 에 이렇게 소프트 연결 을 만 드 는 것 이다.
sudo -u hive ln -s /usr/lib/share-lib/elasticsearch-hadoop-2.1.0.Beta4.jar /usr/hdp/current/hive-webhcat/share/hcatalog/elasticsearch-hadoop-2.1.0.Beta4.jar
OOZIE 에서 제3자 JAR 가방 을 어떻게 지정 합 니까?
제3자 JAR 에 의존 하 는 HIVE 스 크 립 트 자체 가 OOZIE 워 크 플 로 의 일환 이 라면 우리 의 작업 은 아직 끝나 지 않 았 습 니 다. 만약 당신 이 OZIE 에서 제3자 JAR 을 설정 하고 도입 한다 면 당신 의 워 크 플 로 는 실패 할 것 입 니 다.OOZIE 에 대해 제3자 JAR 을 도입 하 는 방법 은 oozie - site. xml 의 oozie. service. Workflow AppService. system. libpath 입 니 다. 이 옵션 을 설정 하고 해당 JAR 가방 을 이 디 렉 터 리 에 전송 해 야 합 니 다.이것 도 HDFS 의 경로 입 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Hive 복잡 한 데이터 구조 삽입Hive Hive 기본 데이터 구조 지원 제외 Hive 복잡 한 데이터 구조: 데이터 형식 hive 표 구조 디자인: select :...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.