Dataflow マネージド サービスを使用してパイプラインを実行すると、Dataflow ジョブの情報を Dataflow コマンドライン インターフェースを使用して取得できます。Dataflow コマンドライン インターフェースは、Cloud SDK の gcloud
コマンドライン ツールの一部です。
注: ウェブベースの UI を使用して Dataflow ジョブの表示と操作を行う場合は、Dataflow Monitoring Interface を使用してください。
Cloud Dataflow コマンドライン コンポーネントをインストールする
Dataflow コマンドライン インターフェースを使用するには、まず gcloud
ツールをインストールする必要があります。
使用可能なコマンドを実行する
使用可能なコマンドを実行して、Dataflow コマンドライン インターフェースを操作します。コマンドを実行するには、次のコマンドをシェルまたはターミナルに入力します。
gcloud dataflow
Dataflow コマンドライン インターフェースには、3 つの主要なサブコマンド(jobs
、logs
、metrics
)があります。
jobs コマンド
jobs
サブコマンド グループを使用すると、Google Cloud プロジェクトの Dataflow ジョブを表示して操作できます。これらのコマンドを使用して、ジョブのリストの表示、ジョブのキャンセル、特定のジョブの説明の表示などを行うことができます。たとえば、すべての Dataflow ジョブのリストを表示するには、シェルまたはターミナルに次のコマンドを入力します。
gcloud dataflow jobs list
gcloud
ツールは、次のように現在のジョブのリストを返します。
ID NAME TYPE CREATION_TIME STATE REGION 2015-06-03_16_39_22-4020553808241078833 wordcount-janedoe-0603233849 Batch 2015-06-03 16:39:22 Done us-central1 2015-06-03_16_38_28-4363652261786938862 wordcount-johndoe-0603233820 Batch 2015-06-03 16:38:28 Done us-central1 2015-05-21_16_24_11-17823098268333533078 bigquerytornadoes-johndoe-0521232402 Batch 2015-05-21 16:24:11 Done europe-west1 2015-05-21_13_38_06-16409850040969261121 bigquerytornadoes-johndoe-0521203801 Batch 2015-05-21 13:38:06 Done us-central1 2015-05-21_13_17_18-18349574013243942260 bigquerytornadoes-johndoe-0521201710 Batch 2015-05-21 13:17:18 Done europe-west1 2015-05-21_12_49_37-9791290545307959963 wordcount-johndoe-0521194928 Batch 2015-05-21 12:49:37 Done us-central1 2015-05-20_15_54_51-15905022415025455887 wordcount-johndoe-0520225444 Batch 2015-05-20 15:54:51 Failed us-central1 2015-05-20_15_47_02-14774624590029708464 wordcount-johndoe-0520224637 Batch 2015-05-20 15:47:02 Done us-central1
ジョブ ID を使用して describe
コマンドを実行し、ジョブに関する情報を表示できます。
export JOBID=<X> gcloud dataflow jobs describe $JOBID
たとえば、ジョブ ID 2015-02-09_11_39_40-15635991037808002875
でコマンドを実行すると、gcloud
ツールは次の情報を返します。
createTime: '2015-02-09T19:39:41.140Z' currentState: JOB_STATE_DONE currentStateTime: '2015-02-09T19:56:39.510Z' id: 2015-02-09_11_39_40-15635991037808002875 name: tfidf-bchambers-0209193926 projectId: google.com:clouddfe type: JOB_TYPE_BATCH
--format=json
オプションを使用してコマンドを実行し、結果を JSON 形式に整形できます。
gcloud --format=json dataflow jobs describe $JOBID
gcloud
ツールは、次のように整形された情報を返します。
{ "createTime": "2015-02-09T19:39:41.140Z", "currentState": "JOB_STATE_DONE", "currentStateTime": "2015-02-09T19:56:39.510Z", "id": "2015-02-09_11_39_40-15635991037808002875", "name": "tfidf-bchambers-0209193926", "projectId": "google.com:clouddfe", "type": "JOB_TYPE_BATCH" }
jobs
コマンドの一覧については、Cloud SDK ドキュメントの gcloud dataflow ジョブコマンドをご覧ください。
logs コマンド
logs
コマンドを使用すると、Dataflow サービスで実行されるジョブのログエントリが表示されます。
たとえば、list
コマンドを使用して、ジョブの実行内容に関する情報を提供するログを出力できます。
export JOBID=<X> gcloud dataflow logs list $JOBID
ジョブ ID 2015-02-09_11_39_40-15635991037808002875
に対しては、gcloud
ツールは次のように返します。
Listed 0 items.
この例では、デフォルトの重要度(Warning
)のログは表示されません。list
コマンドを --importance=detailed
オプションで実行して BASIC
ログを含めることができます。
gcloud dataflow logs list $JOBID --importance=detailed
gcloud
ツールは、次のログを出力します。
d 2016-08-29T09:33:28 2015-02-09_11_39_40-15635991037808002875_00000156d72606f7 (39b2a31f5e883423): Starting worker pool synchronously d 2016-08-29T09:33:28 2015-02-09_11_39_40-15635991037808002875_00000156d7260871 (39b2a31f5e883ce9): Worker pool is running d 2016-08-29T09:33:28 2015-02-09_11_39_40-15635991037808002875_00000156d7260874 (39b2a31f5e883b77): Executing operation Count.PerElement/Sum.PerKey/GroupByKey/GroupByKeyOnly… ...
logs
コマンドの一覧については、Cloud SDK ドキュメントの gcloud dataflow ログコマンドをご覧ください。
metrics コマンド
metrics
コマンドを使用すると、特定の Cloud Dataflow ジョブの指標を表示できます。
注: metric
コマンド名は変更される場合があり、一部の指標は削除の対象となります。
list
コマンドを使用すると、ジョブのステップに関する情報を取得できます。
gcloud dataflow metrics list $JOBID
このコマンドに対して、gcloud
ツールは次のように返します。
--- name: name: s09-s14-start-msecs origin: dataflow/v1b3 scalar: 137 updateTime: '2016-08-29T16:35:50.007Z' --- name: context: output_user_name: WordCount.CountWords/Count.PerElement/Init-out0 name: ElementCount origin: dataflow/v1b3 scalar: 26181 updateTime: '2016-08-29T16:35:50.007Z' --- name: context: step: s2 name: emptyLines origin: user scalar: 1080 updateTime: '2016-08-29T16:35:50.007Z' ...
gcloud dataflow metrics list
コマンドを使用すると、ジョブの実行中(または完了直後)に仮指標を取得できます。仮指標を表示するには、--tentative
フラグを指定してコマンドを実行します。tentative
とマークされた指標はワーカー インスタンスがパイプラインのデータを処理するときに頻繁に更新されます。ワーカーでエラーが発生した場合は減少することがあります。tentative
指標は、ワーカーが作業を完了し、結果を commit すると committed
値になります。
metrics
コマンドの一覧については、Cloud SDK ドキュメントの gcloud dataflow metrics コマンドをご覧ください。
コマンドを使用してリージョン エンドポイントを指定する
gcloud ツール バージョン 176 以降、Dataflow コマンドライン インターフェースでは、リージョン エンドポイントを指定できるようになっています。どのコマンドでも、--region
オプションを使用して、ジョブを管理するリージョン エンドポイントを指定できます。
たとえば、gcloud dataflow jobs list
はすべてのリージョンのジョブを一覧表示しますが、gcloud dataflow jobs list --region=europe-west1
は、europe-west1
で管理されるジョブだけを一覧表示します。
注: リージョン・エンドポイントからジョブ情報を取得するには、--region
オプションが必要です。リージョン エンドポイントを指定しない場合は、us-central1
がデフォルトのエンドポイントとして使用されます。