以前に作成したワークフロー テンプレート リソースをインスタンス化する標準のワークフローとは異なり、インライン ワークフローでは YAML ファイルか、埋め込みの WorkflowTemplate 定義を使用して、ワークフローを実行します。
インライン ワークフローを作成して実行する
gcloud
YAML ファイルを使用してワークフローをインスタンス化するをご覧ください。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: Google Cloud プロジェクト ID
- region: クラスタのリージョン(「us-central1」など)
- zoneUri: クラスタのリージョン(「us-central1-b」など)内の zone を指定します。または、空("")のままにして、Dataproc 自動ゾーン プレースメントを使用します。
- clusterName: クラスタ名
HTTP メソッドと URL:
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
- クライアント ライブラリをインストールする
- アプリケーションのデフォルト認証情報を設定する
- コードを実行します。