任務資源

任務資源提供一組 REST 端點,讓 Presto 伺服器能夠溝通任務和任務輸出。這不是終端使用者會使用的服務,但它支援在 Presto 安裝上執行查詢。

GET /v1/task()

傳回 Presto 伺服器已知的所有任務的資訊。

請注意,呼叫 /v1/task 的輸出可能非常龐大。如果您對繁忙的 Presto 伺服器執行此操作,收到的回應將包括該伺服器已知的所有任務的清單,以及有關運算子和驅動程式的詳細統計資訊。

以下範例回應顯示了一個已截斷以符合本手冊的簡單任務回應。來自繁忙的 Presto 伺服器的實際回應會產生一頁又一頁的輸出。這裡有一個處於 CANCELED 狀態的任務的 taskId

範例回應:

[ {
  "taskId" : "20131222_183944_00011_dk5x2.1.0",
  "version" : 9223372036854775807,
  "state" : "CANCELED",
  "self" : "unknown",
  "lastHeartbeat" : "2013-12-22T13:54:46.566-05:00",
  "outputBuffers" : {
    "state" : "FINISHED",
    "masterSequenceId" : 0,
    "pagesAdded" : 0,
    "buffers" : [ ]
  },
  "noMoreSplits" : [ ],
  "stats" : {
    "createTime" : "2013-12-22T13:54:46.566-05:00",
    "elapsedTime" : "0.00ns",
    "queuedTime" : "92.00us",
    "totalDrivers" : 0,
    "queuedDrivers" : 0,
    "runningDrivers" : 0,
    "completedDrivers" : 0,
    "memoryReservation" : "0B",
    "totalScheduledTime" : "0.00ns",
    "totalCpuTime" : "0.00ns",
    "totalBlockedTime" : "0.00ns",
    "rawInputDataSize" : "0B",
    "rawInputPositions" : 0,
    "processedInputDataSize" : "0B",
    "processedInputPositions" : 0,
    "outputDataSize" : "0B",
    "outputPositions" : 0,
    "pipelines" : [ ]
  },
  "failures" : [ ],
  "outputs" : { }
}]
POST /v1/task/{taskId}()
DELETE /v1/task/{taskId}()

從 Presto 伺服器中刪除給定的任務。

GET /v1/task/{taskId}()

taskId 擷取有關特定任務的資訊。

以下範例列出了一個任務的輸出。它包含以下高階區段

  • outputBuffers

  • noMoreSplits

  • stats

  • failures

  • outputs

這與查詢資源的回應中也存在的輸出相同,該回應列出了特定查詢中涉及的所有階段和任務。Presto 使用此呼叫來協調查詢。

範例回應:

{
  "taskId" : "20140115_170528_00004_dk5x2.0.0",
  "version" : 42,
  "state" : "FINISHED",
  "self" : "http://10.193.207.128:8080/v1/task/20140115_170528_00004_dk5x2.0.0",
  "lastHeartbeat" : "2014-01-15T12:12:12.518-05:00",
  "outputBuffers" : {
    "state" : "FINISHED",
    "masterSequenceId" : 0,
    "pagesAdded" : 1,
    "buffers" : [ {
      "bufferId" : "out",
      "finished" : true,
      "bufferedPages" : 0,
      "pagesSent" : 1
    } ]
  },
  "noMoreSplits" : [ "8" ],
  "stats" : {
    "createTime" : "2014-01-15T12:12:08.520-05:00",
    "startTime" : "2014-01-15T12:12:08.526-05:00",
    "endTime" : "2014-01-15T12:12:12.518-05:00",
    "elapsedTime" : "4.00s",
    "queuedTime" : "6.39ms",
    "totalDrivers" : 1,
    "queuedDrivers" : 0,
    "runningDrivers" : 0,
    "completedDrivers" : 1,
    "memoryReservation" : "174.76kB",
    "totalScheduledTime" : "4.19ms",
    "totalCpuTime" : "4.09ms",
    "totalBlockedTime" : "29.50ms",
    "rawInputDataSize" : "10.90kB",
    "rawInputPositions" : 154,
    "processedInputDataSize" : "10.90kB",
    "processedInputPositions" : 154,
    "outputDataSize" : "10.90kB",
    "outputPositions" : 154,
    "pipelines" : [ {
      "inputPipeline" : true,
      "outputPipeline" : true,
      "totalDrivers" : 1,
      "queuedDrivers" : 0,
      "runningDrivers" : 0,
      "completedDrivers" : 1,
      "memoryReservation" : "0B",
      "queuedTime" : {
        "maxError" : 0.0,
        "count" : 1.0,
        "total" : 5857000.0,
        "p01" : 5857000,
        "p05" : 5857000,
        "p10" : 5857000,
        "p25" : 5857000,
        "p50" : 5857000,
        "p75" : 5857000,
        "p90" : 5857000,
        "p95" : 5857000,
        "p99" : 5857000,
        "min" : 5857000,
        "max" : 5857000
      },
      "elapsedTime" : {
        "maxError" : 0.0,
        "count" : 1.0,
        "total" : 4.1812E7,
        "p01" : 41812000,
        "p05" : 41812000,
        "p10" : 41812000,
        "p25" : 41812000,
        "p50" : 41812000,
        "p75" : 41812000,
        "p90" : 41812000,
        "p95" : 41812000,
        "p99" : 41812000,
        "min" : 41812000,
        "max" : 41812000
      },
      "totalScheduledTime" : "4.19ms",
      "totalCpuTime" : "4.09ms",
      "totalBlockedTime" : "29.50ms",
      "rawInputDataSize" : "10.90kB",
      "rawInputPositions" : 154,
      "processedInputDataSize" : "10.90kB",
      "processedInputPositions" : 154,
      "outputDataSize" : "10.90kB",
      "outputPositions" : 154,
      "operatorSummaries" : [ {
        "operatorId" : 0,
        "operatorType" : "ExchangeOperator",
        "addInputCalls" : 0,
        "addInputWall" : "0.00ns",
        "addInputCpu" : "0.00ns",
        "addInputUser" : "0.00ns",
        "inputDataSize" : "10.90kB",
        "inputPositions" : 154,
        "getOutputCalls" : 1,
        "getOutputWall" : "146.00us",
        "getOutputCpu" : "137.90us",
        "getOutputUser" : "0.00ns",
        "outputDataSize" : "10.90kB",
        "outputPositions" : 154,
        "blockedWall" : "29.50ms",
        "finishCalls" : 0,
        "finishWall" : "0.00ns",
        "finishCpu" : "0.00ns",
        "finishUser" : "0.00ns",
        "memoryReservation" : "0B",
        "info" : {
          "bufferedBytes" : 0,
          "averageBytesPerRequest" : 11158,
          "bufferedPages" : 0,
          "pageBufferClientStatuses" : [ {
            "uri" : "http://10.193.207.128:8080/v1/task/20140115_170528_00004_dk5x2.1.0/results/ab68e201-3878-4b21-b6b9-f6658ddc408b",
            "state" : "closed",
            "lastUpdate" : "2014-01-15T12:12:08.562-05:00",
            "pagesReceived" : 1,
            "requestsScheduled" : 3,
            "requestsCompleted" : 3,
            "httpRequestState" : "queued"
          } ]
        }
      }, {
        "operatorId" : 1,
        "operatorType" : "FilterAndProjectOperator",
        "addInputCalls" : 1,
        "addInputWall" : "919.00us",
        "addInputCpu" : "919.38us",
        "addInputUser" : "0.00ns",
        "inputDataSize" : "10.90kB",
        "inputPositions" : 154,
        "getOutputCalls" : 2,
        "getOutputWall" : "128.00us",
        "getOutputCpu" : "128.64us",
        "getOutputUser" : "0.00ns",
        "outputDataSize" : "10.45kB",
        "outputPositions" : 154,
        "blockedWall" : "0.00ns",
        "finishCalls" : 5,
        "finishWall" : "258.00us",
        "finishCpu" : "253.19us",
        "finishUser" : "0.00ns",
        "memoryReservation" : "0B"
      }, {
        "operatorId" : 2,
        "operatorType" : "OrderByOperator",
        "addInputCalls" : 1,
        "addInputWall" : "438.00us",
        "addInputCpu" : "439.18us",
        "addInputUser" : "0.00ns",
        "inputDataSize" : "10.45kB",
        "inputPositions" : 154,
        "getOutputCalls" : 4,
        "getOutputWall" : "869.00us",
        "getOutputCpu" : "831.85us",
        "getOutputUser" : "0.00ns",
        "outputDataSize" : "10.45kB",
        "outputPositions" : 154,
        "blockedWall" : "0.00ns",
        "finishCalls" : 4,
        "finishWall" : "808.00us",
        "finishCpu" : "810.18us",
        "finishUser" : "0.00ns",
        "memoryReservation" : "174.76kB"
      }, {
        "operatorId" : 3,
        "operatorType" : "FilterAndProjectOperator",
        "addInputCalls" : 1,
        "addInputWall" : "166.00us",
        "addInputCpu" : "166.66us",
        "addInputUser" : "0.00ns",
        "inputDataSize" : "10.45kB",
        "inputPositions" : 154,
        "getOutputCalls" : 5,
        "getOutputWall" : "305.00us",
        "getOutputCpu" : "241.14us",
        "getOutputUser" : "0.00ns",
        "outputDataSize" : "10.90kB",
        "outputPositions" : 154,
        "blockedWall" : "0.00ns",
        "finishCalls" : 2,
        "finishWall" : "70.00us",
        "finishCpu" : "71.02us",
        "finishUser" : "0.00ns",
        "memoryReservation" : "0B"
      }, {
        "operatorId" : 4,
        "operatorType" : "TaskOutputOperator",
        "addInputCalls" : 1,
        "addInputWall" : "50.00us",
        "addInputCpu" : "51.03us",
        "addInputUser" : "0.00ns",
        "inputDataSize" : "10.90kB",
        "inputPositions" : 154,
        "getOutputCalls" : 0,
        "getOutputWall" : "0.00ns",
        "getOutputCpu" : "0.00ns",
        "getOutputUser" : "0.00ns",
        "outputDataSize" : "10.90kB",
        "outputPositions" : 154,
        "blockedWall" : "0.00ns",
        "finishCalls" : 1,
        "finishWall" : "35.00us",
        "finishCpu" : "35.39us",
        "finishUser" : "0.00ns",
        "memoryReservation" : "0B"
      } ],
      "drivers" : [ ]
    } ]
  },
  "failures" : [ ],
  "outputs" : { }
}
GET /v1/task/{taskId}/results/{outputId}/{token}()

Presto 使用此服務來擷取任務輸出。

DELETE /v1/task/{taskId}/results/{outputId}()

Presto 使用此服務來刪除任務輸出。