Cloud Dataflow コマンドライン インターフェースを使用する

Cloud Dataflow マネージド サービスを使用してパイプラインを実行するとき、Cloud Dataflow コマンドライン インターフェースを使用して Cloud Dataflow ジョブに関する情報を取得できます。Cloud Dataflow コマンドライン インターフェースは、Cloud SDK に含まれている gcloud コマンドライン ツールの一部です。

注: ウェブベースの UI で Cloud Dataflow ジョブを表示して操作する場合は、Cloud Dataflow モニタリング インターフェースを使用してください。

Cloud Dataflow コマンドライン コンポーネントをインストールする

Cloud Dataflow コマンドライン インターフェースを使用するには、まず、gcloud ツールに含まれるベータ版コンポーネントをインストールする必要があります。シェルまたはターミナル ウィンドウで、次のように入力します。

  gcloud components update beta

プロンプトが表示されたら、「y」と入力して続行します。

使用可能なコマンドを実行する

使用可能なコマンドを実行して、Cloud Dataflow コマンドライン インターフェースを操作します。コマンドを実行するには、次のコマンドをシェルまたはターミナルに入力します。

  gcloud beta dataflow

Cloud Dataflow コマンドライン インターフェースには、jobslogsmetrics という 3 つの主要なサブコマンドがあります。

jobs コマンド

jobs サブコマンド グループを使用すると、GCP プロジェクト内の Cloud Dataflow ジョブを表示して操作できます。これらのコマンドを使用して、ジョブのリストの表示、ジョブのキャンセル、特定のジョブの説明の表示などを行うことができます。たとえば、すべての Cloud 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 beta 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 beta 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 beta dataflow jobs コマンドをご覧ください。

logs コマンド

logs コマンドを使用すると、Cloud Dataflow サービスで実行されているジョブのログエントリが表示されます。

たとえば、list コマンドを使用して、ジョブの実行内容に関する情報を提供するログを出力できます。

export JOBID=<X>
gcloud beta dataflow logs list $JOBID

ジョブ ID 2015-02-09_11_39_40-15635991037808002875 の場合、gcloud ツールは次の内容を返します。

Listed 0 items.

この例では、デフォルトの重要度(Warning)のログは表示されません。--importance=detailed オプションを指定した list コマンドを実行して、BASIC ログを含めることができます。

gcloud beta 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 コマンドの完全なリストについては、Google Cloud SDK ドキュメントの gcloud beta dataflow logs コマンドをご覧ください。

metrics コマンド

metrics コマンドを使用すると、特定の Cloud Dataflow ジョブの指標を表示できます。

注: metric コマンドの名前は変更される場合があり、一部の指標は削除される可能性があります。

list コマンドを使用して、ジョブのステップに関する情報を取得できます。

gcloud beta 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 beta dataflow metrics list コマンドを使用して、ジョブの実行中(または完了直後)に仮指標を取得できます。仮指標を表示するには、--tentative フラグを指定してコマンドを実行します。tentative とマークされた指標はワーカー インスタンスがパイプラインのデータを処理するときに頻繁に更新されます。ワーカーでエラーが発生した場合は減少することがあります。tentative 指標は、ワーカーが作業を完了し、結果を commit すると committed 値になります。

metrics コマンドの完全なリストについては、Google Cloud SDK ドキュメントの gcloud beta dataflow metrics コマンドをご覧ください。

コマンドを使用してリージョン エンドポイントを指定する

gcloud ツール バージョン 176 以降、Cloud Dataflow コマンドライン インターフェースでリージョン エンドポイントを指定できるようになっています。どのコマンドでも、--region オプションを使用して、ジョブを管理するリージョン エンドポイントを指定できます。

たとえば、gcloud dataflow jobs list はすべてのリージョンのジョブを一覧表示しますが、gcloud dataflow jobs list --region=europe-west1 は、europe-west1 で管理されるジョブだけを一覧表示します。

注: リージョン エンドポイントからジョブ情報を取得するには、--region オプションが必要です。リージョン エンドポイントを指定しないと、デフォルトのエンドポイントとして us-central1 が使用されます。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。