標準工作流程會執行個體化先前建立的工作流程範本資源,但內嵌工作流程會使用 YAML 檔案或內嵌的 WorkflowTemplate 定義來執行工作流程。
建立及執行內嵌工作流程
gcloud
請參閱「使用 YAML 檔案例項化工作流程」。
REST
使用任何要求資料之前,請先替換以下項目:
- project-id: Google Cloud 專案 ID
- region:叢集區域,例如「us-central1」
- zoneUri: 在叢集的zone 地區中指定 ,例如「us-central1-b」,或留空 (「」) 以使用 Dataproc 自動選擇區域位置
- clusterName:叢集名稱
HTTP 方法和網址:
POST https://dataproc.googleapis.com/v1/projects/project-id/regions/region/workflowTemplates:instantiateInline
JSON 要求主體:
{
  "jobs": [
    {
      "hadoopJob": {
        "mainJarFileUri": "file:///usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar",
        "args": [
          "teragen",
          "1000",
          "hdfs:///gen/"
        ]
      },
      "stepId": "teragen"
    },
    {
      "hadoopJob": {
        "mainJarFileUri": "file:///usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar",
        "args": [
          "terasort",
          "hdfs:///gen/",
          "hdfs:///sort/"
        ]
      },
      "stepId": "terasort",
      "prerequisiteStepIds": [
        "teragen"
      ]
    }
  ],
  "placement": {
    "managedCluster": {
      "clusterName": "cluster-name",
      "config": {
        "gceClusterConfig": {
          "zoneUri": "zone"
        }
      }
    }
  }
}
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{
  "name": "projects/project-id/regions/region/operations/2fbd0dad-...",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.dataproc.v1.WorkflowMetadata",
    "graph": {
      "nodes": [
        {
          "stepId": "teragen",
          "state": "RUNNABLE"
        },
        {
          "stepId": "terasort",
          "prerequisiteStepIds": [
            "teragen"
          ],
          "state": "BLOCKED"
        }
      ]
    },
    "state": "PENDING",
    "startTime": "2020-04-02T22:50:44.826Z"
  }
}
控制台
目前 Google Cloud 控制台不支援建立內嵌工作流程。您可以透過 Dataproc 工作流程頁面,查看工作流程範本和已執行的工作流程。
Go
- 安裝用戶端程式庫
- 設定應用程式預設憑證
- 執行程式碼
Java
- 安裝用戶端程式庫
- 設定應用程式預設憑證
- 執行程式碼
Node.js
- 安裝用戶端程式庫
- 設定應用程式預設憑證
- 執行程式碼
Python
- 安裝用戶端程式庫
- 設定應用程式預設憑證
- 執行程式碼