Cloud Dataflow-Befehlszeile verwenden

Wenn Sie Ihre Pipeline mit dem verwalteten Dataflow-Dienst ausführen, können Sie Informationen zu Ihrem Dataflow-Job über die Dataflow-Befehlszeile abrufen. Die Dataflow-Befehlszeile ist Teil des gcloud-Befehlszeilentools im Cloud SDK.

HINWEIS: Wenn Sie Ihre Dataflow-Jobs lieber auf der webbasierten Benutzeroberfläche ansehen und verwenden, nutzen Sie die Dataflow-Monitoringoberfläche.

Cloud Dataflow-Befehlszeile installieren

Zur Verwendung der Dataflow-Befehlszeile müssen Sie zuerst das gcloud-Tool installieren.

Verfügbare Befehle ausführen

Die Interaktion mit der Dataflow-Befehlszeile erfolgt durch die Ausführung der verfügbaren Befehle. Geben Sie zum Ausführen eines Befehls den folgenden Befehl in der Shell oder im Terminal ein:

  gcloud dataflow

Die Dataflow-Befehlszeile hat drei wichtige Unterbefehle: jobs, logs und metrics.

Befehle vom Typ "Jobs"

Mit der Unterbefehlsgruppe jobs können Sie die Dataflow-Jobs in Ihrem Google Cloud-Projekt aufrufen und mit ihnen interagieren. Mithilfe dieser Befehle können Sie eine Liste Ihrer Jobs aufrufen, einen Job abbrechen, eine Beschreibung eines bestimmten Jobs anzeigen lassen und mehr. Wenn Sie beispielsweise eine Liste aller Dataflow-Jobs abrufen möchten, geben Sie folgenden Befehl in der Shell oder dem Terminal ein:

gcloud dataflow jobs list

Das gcloud-Tool gibt eine Liste Ihrer aktuellen Jobs so zurück:

  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

Mit der Job-ID können Sie den Befehl describe ausführen, um weitere Informationen zu einem Job aufzurufen.

export JOBID=<X>
gcloud dataflow jobs describe $JOBID

Wenn Sie beispielsweise den Befehl für die Job-ID 2015-02-09_11_39_40-15635991037808002875 ausführen, gibt das gcloud-Tool die folgenden Informationen zurück:

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

Sie können den Befehl mit der Option --format=json ausführen, um das Ergebnis in JSON zu formatieren.

gcloud --format=json dataflow jobs describe $JOBID

Das gcloud-Tool gibt die folgenden formatierten Informationen zurück:

{
  "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"
}

Eine vollständige Liste der jobs-Befehle finden Sie unter gcloud dataflow jobs-Befehl in der Cloud SDK-Dokumentation.

Befehle vom Typ "Logs"

Mit den logs-Befehlen werden Logeinträge für Jobs angezeigt, die im Dataflow-Dienst ausgeführt werden.

Mit dem Befehl list können Sie beispielsweise die Logs mit Informationen zu Ihrer Jobaktivität aufrufen.

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

Für die Job-ID 2015-02-09_11_39_40-15635991037808002875 gibt das gcloud-Tool Folgendes zurück:

Listed 0 items.

In diesem Beispiel wurden keine Logs mit dem Standardschweregrad angezeigt (Warning). Sie können BASIC-Logs durch Ausführen von list mit dem Befehl --importance=detailed auf der Website einschließen.

gcloud dataflow logs list $JOBID --importance=detailed

Das gcloud-Tool gibt folgende Logs aus:

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…
...

Eine vollständige Liste der logs-Befehle finden Sie unter gcloud dataflow logs-Befehl in der Cloud SDK-Dokumentation.

Befehle vom Typ "Metrics"

Mit den metrics-Befehlen können Sie die Messwerte für einen bestimmten Dataflow-Job aufrufen.

Hinweis: Die metric-Befehlsnamen können sich ändern und bestimmte Messwerte können gelöscht werden.

Mit dem Befehl list können Sie Informationen zu den Schritten in Ihrem Job abrufen.

gcloud dataflow metrics list $JOBID

Für diesen Befehl gibt das gcloud-Tool Folgendes aus:

---
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'
...

Mit dem Befehl gcloud dataflow metrics list können Sie vorläufige Messwerte abrufen, während der Job ausgeführt wird oder kurz nachdem er abgeschlossen ist. Zum Aufrufen vorläufiger Messwerte führen Sie den Befehl mit dem Flag --tentative aus. Ein mit tentative gekennzeichneter Messwert wird immer wieder aktualisiert, wenn Worker-Instanzen die Daten Ihrer Pipeline verarbeiten. Er kann sich verringern, wenn bei einem Worker ein Fehler auftritt. tentative-Messwerte werden zu committed-Werten, wenn ein Worker seine Arbeit beendet und die Ergebnisse festschreibt.

Eine vollständige Liste der metrics-Befehle finden Sie unter gcloud dataflow metrics-Befehl in der Cloud SDK-Dokumentation.

Befehle mit regionalen Endpunkten verwenden

Die Dataflow-Befehlszeile unterstützt ab Version 176 des gcloud-Tools regionale Endpunkte. Verwenden Sie die Option --region mit einem beliebigen Befehl, um den regionalen Endpunkt anzugeben, der Ihren Job verwaltet.

Beispiel: gcloud dataflow jobs list listet Jobs aus allen Regionen auf, gcloud dataflow jobs list --region=europe-west1 jedoch nur Jobs, die von europe-west1 verwaltet werden.

Hinweis: Die Option --region ist erforderlich, um Jobinformationen von einem regionalen Endpunkt abzurufen. Wenn Sie keinen regionalen Endpunkt angeben, wird us-central1 als Standardendpunkt verwendet.