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 쿼리를 수행하는 대표적인 방법이에요.