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