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 jobidnumrecords가 모두 있으면 작업 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로 조회하면 됩니다.