以前に作成したワークフロー テンプレート リソースをインスタンス化する標準のワークフローとは異なり、インライン ワークフローでは 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" } }
Console
現在、Google Cloud コンソールでは、インライン ワークフローの作成はサポートされていません。ワークフロー テンプレートとインスタンス化されたワークフローは、Dataproc の [ワークフロー] ページで表示できます。
Go
- クライアント ライブラリのインストール
- アプリケーションのデフォルト認証情報を設定します。
- コードを実行します。
Java
- クライアント ライブラリのインストール
- アプリケーションのデフォルト認証情報を設定します。
- コードを実行します。
Node.js
- クライアント ライブラリのインストール
- アプリケーションのデフォルト認証情報を設定します。
- コードの実行
Python
- クライアント ライブラリのインストール
- アプリケーションのデフォルト認証情報を設定します。
- コードを実行します。