WebHCat Reference - Jobs
WebHCat Reference - Jobs
GET jobs 엔드포인트는 모든 작업(job) ID 목록을 반환하는 WebHCat REST API예요. showall 파라미터 등으로 조회 범위를 조절할 수 있습니다.
출처: 문서
본문
Version: Hive 0.12.0 이상부터 사용 가능해요. GET jobs는 이전 릴리스의 GET queue와 동등하며, GET queue는 이제 비권장(deprecated)이고 Hive 0.14.0에서 제거될 예정입니다.
URL
http://www.myserver.com/templeton/v1/jobs
Parameters
| Name | Description | Required? | Default |
|---|---|---|---|
| fields | fields가 "*"로 설정되면 작업의 전체 세부 정보를 반환해요. fields가 없으면 작업 ID만 반환합니다. 현재 값은 "*"만 허용되며, 다른 값은 예외를 던져요 |
Optional | None |
| showall | showall이 "true"로 설정되면 사용자가 볼 권한이 있는 모든 작업을 반환해요. 즉 사용자 본인의 작업만이 아니라 권한이 있는 작업도 포함됩니다 |
Optional | false |
| jobid | jobid가 있으면 작업 ID가 사전순(lexicographically)으로 jobid보다 큰 레코드만 반환해요. 예: jobid="job_201312091733_0001"이면 그 값보다 큰 작업 ID를 가진 작업을 반환. 반환 레코드 수는 numrecords 값에 따라 결정됩니다. Hive 0.13.0 이전 릴리스에서는 이 파라미터를 사용할 수 없어요 |
Optional (Hive 0.13.0+) | None |
| numrecords | jobid와 numrecords가 모두 있으면 작업 ID 목록을 사전순 정렬 후 jobid 뒤의 상위 numrecords개 레코드를 반환해요. jobid가 없고 numrecords만 있으면 사전순 정렬 후 상위 numrecords개를 반환합니다. jobid가 있고 numrecords가 없으면 jobid보다 큰 모든 레코드를 반환해요. Hive 0.13.0 이전 릴리스에서는 사용 불가 |
Optional (Hive 0.13.0+) | All |
표준 파라미터(standard parameters)도 지원돼요.
Results
사용자 본인의 작업 또는 사용자가 볼 권한이 있는 작업(showall="true")의 배열을 반환합니다.
Example Curl Command
% curl -s 'http://localhost:50111/templeton/v1/jobs?user.name=daijy'
JSON Output
[
{"id":"job_201304291205_0015","detail":null}
]
Curl Command (showall)
% curl -s 'http://localhost:50111/templeton/v1/jobs?user.name=daijy&showall=true'
JSON Output (showall)
[
{"id":"job_201304291205_0014","detail":null},
{"id":"job_201111111311_0015","detail":null},
]
Curl Command (fields)
% curl -s 'http://localhost:50111/templeton/v1/jobs?user.name=daijy&fields=*'
JSON Output (fields)
Hive 0.12.0 버그: 0.12.0 릴리스에서는 fields 파라미터의 JSON 출력 첫 줄이 실제 jobid 대신 부모 jobid를 줍니다 (HIVE-5510). 아래 예시는 0.13.0 이후 릴리스에서 보이는 올바른 jobid를 보여줘요.
[{"id":"job_201304291205_0016",
"detail":{
"status":{
"jobACLs":{
"MODIFY_JOB":{"allAllowed":false,"aclstring":" "},
"VIEW_JOB":{"allAllowed":false,"aclstring":" "}},
"runState":2,
"startTime":1367264912274,
"schedulingInfo":"NA",
"failureInfo":"NA",
"jobPriority":"NORMAL",
"username":"daijy",
"jobID":{"id":16,"jtIdentifier":"201304291205"},
"jobId":"job_201304291205_0016",
"jobComplete":true},
"profile":{
"user":"daijy",
"jobFile":"hdfs://localhost:8020/Users/daijy/hadoop-1.0.3/tmp/mapred/staging/
daijy/.staging/job_201304291205_0016/job.xml",
"url":"http://localhost:50030/jobdetails.jsp?jobid=job_201304291205_0016",
"queueName":"default",
"jobName":"word count",
"jobID":{"id":16,"jtIdentifier":"201304291205"},
"jobId":"job_201304291205_0016"},
"id":"job_201304291205_0016",
"parentId":"job_201304291205_0015",
"percentComplete":"map 100% reduce 100%",
"exitValue":0,
"user":"daijy",
"callback":"http://daijymacpro.local:57815/templeton/$jobId",
"completed": "done",
"userargs" => {
"callback" => null,
"define" => [],
"enablelog" => "false",
"execute" => "select a,rand(b) from mynums",
"file" => null,
"files" => [],
"statusdir" => null,
"user.name" => "hadoopqa",
},
}]
Navigation Links
- Previous:
DELETE queue/:jobid - Next:
GET jobs/:jobid - 대체된 비권장 리소스:
GET queue
더 알아보기 (Learn more)
작업 목록을 대량으로 가져올 때는 jobid + numrecords 페이징을 조합하면 효율적으로 페이지를 넘길 수 있어요. 특정 작업의 상세 상태는 GET jobs/:jobid로 조회하면 됩니다.