WebHCat 레퍼런스 – Hive

WebHCat 레퍼런스 – Hive

WebHCat(Templeton)의 Hive 리소스는 Hive 쿼리나 명령 집합을 실행해요. Hive 0.13.0 이상에서 사용할 수 있어요.

출처: 문서

본문

설명

Hive 쿼리 또는 명령 집합을 실행합니다.

버전: Hive 0.13.0 이상

Hive 0.13.0부터 GET version/hive가 쿼리 또는 명령에 사용된 Hive 버전을 표시합니다.

URL

http://www.myserver.com/templeton/v1/hive

매개변수

이름 설명 필수? 기본값
execute 실행할 전체의 짧은 Hive 프로그램을 포함한 문자열 "execute" 또는 "file" 중 하나가 필요 없음
file 실행할 Hive 프로그램의 HDFS 파일 이름 "execute" 또는 "file" 중 하나가 필요 없음
define define=NAME=VALUE 구문으로 Hive 구성 변수를 설정 선택 없음
arg 프로그램 인자 설정. 이 매개변수는 Hive 0.12.0에서 도입됨(HIVE-4444 참고) Hive 0.12.0+에서 선택 없음
files map reduce 클러스터에 복사할 쉼표로 구분된 파일 목록. 이 매개변수는 Hive 0.12.0에서 도입됨(HIVE-4444 참고) Hive 0.12.0+에서 선택 없음
statusdir WebHCat이 Hive 작업의 상태를 쓸 디렉터리. 제공되면 완료 후 이 디렉터리를 제거하는 것은 호출자의 책임 선택 없음
enablelog statusdir이 설정되고 enablelog가 "true"이면 작업 완료 후 Hadoop 작업 구성과 로그를 $statusdir/logs라는 디렉터리에 수집. 완료·실패 시도 모두 기록됨. $statusdir/logs의 하위 디렉터리 구성: logs/$job_id (디렉터리) logs/$job_id/job.xml.html logs/$job_id/$attempt_id (디렉터리) logs/$job_id/$attempt_id/stderr logs/$job_id/$attempt_id/stdout logs/$job_id/$attempt_id/syslog. 이 매개변수는 Hive 0.12.0에서 도입됨(HIVE-4531 참고) Hive 0.12.0+에서 선택 없음
callback 작업 완료 시 호출할 URL 정의. $jobId를 사용해 특정 작업 ID를 이 URL에 포함할 수 있음. 이 태그는 콜백 URL에서 이 작업의 작업 ID로 대체됨 선택 없음

표준 매개변수도 지원됩니다.

결과

이름 설명
id "job_201110132141_0001" 같은 작업 ID를 포함하는 문자열
info 작업이 대기열에 들어갈 때 반환된 정보를 포함하는 JSON 객체. 자세한 내용은 Hadoop 문서(Class TaskController) 참고

예제

Curl 명령

% curl -s -d execute="select+*+from+pokes;" \
       -d statusdir="pokes.output" \
       'http://localhost:50111/templeton/v1/hive?user.name=ekoifman'

버전 정보: Hive 0.13.0 이전에는 user.name이 POST 요청에서 폼 매개변수로 지정되었습니다: curl -d user.name=<user>.

Hive 0.13.0 이후로는 user.name을 쿼리 문자열에 지정해야 합니다(위와 같이): 'http://.../templeton/v1/hive?user.name=<name>'. user.name을 폼 매개변수로 지정하는 것은 deprecated 입니다.

JSON 출력

{
 "id": "job_201111111311_0005",
 "info": {
          "stdout": "templeton-job-id:job_201111111311_0005
                    ",
          "stderr": "",
          "exitcode": 0
         }
}

결과 예제

% hadoop fs -ls pokes.output
Found 2 items
-rw-r--r--   1 ctdean supergroup        610 2011-11-11 13:22 /user/ctdean/pokes.output/stderr
-rw-r--r--   1 ctdean supergroup         15 2011-11-11 13:22 /user/ctdean/pokes.output/stdout

% hadoop fs -cat pokes.output/stdout
1       a
2       bb
3       ccc

탐색 링크 이전: POST pig 다음: GET queue

더 알아보기 (Learn more)

Hive 작업의 상태를 조회하려면 GET queue 리소스를 사용해요. WebHCat은 REST로 Hive 쿼리를 수행하는 대표적인 방법이에요.