標準工作流程會執行個體化先前建立的工作流程範本資源,但內嵌工作流程會使用 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
- 安裝用戶端程式庫
- 設定應用程式預設憑證
- 執行程式碼