복붙노트

[HADOOP] 다른 하이브 스크립트에서 하이브 스크립트를 실행할 수 있습니까?

HADOOP

다른 하이브 스크립트에서 하이브 스크립트를 실행할 수 있습니까?

두 개의 하이브 스크립트 script1.hql과 script2.hql을 만들었습니다.

script1.hql에서 script2.hql 스크립트를 실행할 수 있습니까?

소스 명령 사용에 대해 읽었지만 그 사용법에 대해 알 수 없었습니다. 모든 포인터 / 참조 문서는 감사하겠습니다 ..

해결법

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

    1.source 명령을 사용하십시오.

    source 명령을 사용하십시오.

    source /tmp/script2.hql; --inside script1
    

    문서는 다음과 같습니다. https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Cli

    Hive는 /tmp/script2.hql의 텍스트를 포함하고 동일한 컨텍스트에서 실행하므로 기본 스크립트에 대해 정의 된 모든 변수는 script2 명령에 액세스 할 수 있습니다.

    source 명령은 HDFS가 아닌 로컬 경로를 찾습니다. 실행하기 전에 파일을 로컬 디렉토리에 복사하십시오.

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

    2.명령을 사용 해보고 실행할 수 있는지 확인하십시오.

    명령을 사용 해보고 실행할 수 있는지 확인하십시오.

    hive -f /home/user/sample.sql
    
  3. from https://stackoverflow.com/questions/49535875/can-a-hive-script-be-run-from-another-hive-script by cc-by-sa and MIT license