Wenn Sie Ihre Pipeline mit dem verwalteten Dataflow-Dienst ausführen, können Sie Informationen über Ihren Dataflow-Job über die Dataflow-Befehlszeile abrufen. Die Dataflow-Befehlszeile ist Teil des Befehlszeilentools in der Google Cloud-Befehlszeile.
Wenn Sie Ihre Dataflow-Jobs lieber in der Google Cloud Console aufrufen und mit ihnen interagieren möchten, verwenden Sie die Monitoring-Oberfläche von Dataflow.
Dataflow-Befehlszeilenkomponente installieren
Wenn Sie die Dataflow-Befehlszeile von Ihrem lokalen Terminal aus verwenden möchten, installieren und konfigurieren Sie Google Cloud CLI.
Für Cloud Shell ist die Dataflow-Befehlszeile automatisch verfügbar.
Die Befehle ausführen
Die Interaktion mit der Dataflow-Befehlszeile erfolgt durch die Ausführung der verfügbaren Befehle. Geben Sie folgenden Befehl in der Shell oder im Terminal ein, um die Liste der verfügbaren Dataflow-Befehle aufzurufen:
gcloud dataflow --help
Wie in der Ausgabe dargestellt, enthält der Dataflow-Befehl die folgenden vier Gruppen: flex-template
, jobs
, snapshots
und sql
.
Flex-Vorlagenbefehle
Die Unterbefehlsgruppe flex-template
ermöglicht Ihnen die Arbeit mit Dataflow Flex-Vorlagen. Die folgenden Vorgänge werden unterstützt:
build
: Erstellt eine Flex-Vorlagendatei aus den angegebenen Parametern.run
: Führt einen Job über den angegebenen Pfad aus.
Zum Ausführen einer Vorlage müssen Sie eine Vorlagenspezifikationsdatei erstellen, die in einem Cloud Storage-Bucket gespeichert ist. Die Vorlagenspezifikationsdatei enthält alle erforderlichen Informationen, um den Job auszuführen, z. B. die SDK-Informationen und Metadaten. Darüber hinaus enthält die Datei metadata.json
Informationen zur Vorlage, z. B. den Namen, eine Beschreibung und Eingabeparameter. Nachdem Sie die Vorlagenspezifikationsdatei erstellt haben, können Sie die Flex-Vorlage mithilfe von Java oder Python erstellen.
Informationen zum Erstellen und Ausführen einer Flex-Vorlage mit der Google Cloud CLI finden Sie in der Anleitung Flex-Vorlagen erstellen und ausführen.
Befehle vom Typ "Jobs"
Mit der Unterbefehlsgruppe jobs
können Sie mit Dataflow-Jobs in Ihrem Projekt arbeiten. Die folgenden Vorgänge werden unterstützt:
cancel
: Bricht alle den Befehlszeilenargumenten entsprechende Jobs ab.describe
: Gibt das aus der Get API resultierende Jobobjekt aus.drain
: Bricht alle den Befehlszeilenargumenten entsprechende Jobs ab.list
: Listet alle Jobs in einem bestimmten Projekt auf, die optional nach Region gefiltert werden können.run
: Führt einen Job über den angegebenen Pfad aus.show
: Zeigt eine kurze Beschreibung des entsprechenden Jobs an.
Führen Sie folgenden Befehl in der Shell oder im Terminal aus, um eine Liste aller Dataflow-Jobs in Ihrem Projekt abzurufen:
gcloud dataflow jobs list
Der Befehl gibt eine Liste Ihrer aktuellen Jobs zurück. Hier ein Beispiel für eine Ausgabe:
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 dem Job ID
, der für jeden Job angezeigt wird, können Sie mit dem Befehl describe
weitere Informationen zu einem Job aufrufen.
gcloud dataflow jobs describe JOB_ID
Ersetzen Sie JOB_ID durch den Job ID
eines der Dataflow-Jobs aus Ihrem Projekt.
Wenn Sie beispielsweise den Befehl für die Job-ID 2015-02-09_11_39_40-15635991037808002875
ausführen, sieht das Beispiel so aus:
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
Führen Sie den Befehl mit der Option --format=json
aus, um das Ergebnis in JSON zu formatieren:
gcloud --format=json dataflow jobs describe JOB_ID
Ersetzen Sie JOB_ID durch den Job ID
eines der Dataflow-Jobs aus Ihrem Projekt.
Die folgende Beispielausgabe ist im JSON-Format formatiert:
{ "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" }
Befehle vom Typ "Snapshots"
Die Unterbefehlsgruppe snapshots
ermöglicht Ihnen die Arbeit mit Dataflow Snapshots. Die folgenden Vorgänge werden unterstützt:
create
: Erstellt einen Snapshot für einen Dataflow-Job.delete
: Löscht einen Dataflow-Snapshot.describe
: Beschreibt einen Dataflow-Snapshot.list
: Listet alle Dataflow-Snapshots in einem Projekt in der angegebenen Region auf, optional nach Job-ID gefiltert.
Weitere Informationen zur Verwendung von Snapshots in Dataflow finden Sie unter Dataflow-Snapshots verwenden.
SQL-Befehle
Die Unterbefehlsgruppe sql
ermöglicht Ihnen die Arbeit mit Dataflow SQL. Der Befehl gcloud Dataflow sql query
akzeptiert und führt eine benutzerdefinierte SQL-Abfrage in Dataflow aus.
Führen Sie beispielsweise in der Shell oder im Terminal Folgendes aus, um eine einfache SQL-Abfrage für einen Dataflow-Job auszuführen, der aus einem BigQuery-Dataset liest und in ein anderes BigQuery-Dataset schreibt:
gcloud dataflow sql query 'SELECT word FROM bigquery.table.PROJECT_ID.input_dataset.input_table where count > 3' --job-name=JOB_NAME \ --region=us-west1 \ --bigquery-dataset=OUTPUT_DATASET \ --bigquery-table=OUTPUT_TABLE
Ersetzen Sie Folgendes:
- PROJECT_ID: Ein global eindeutiger Name für Ihr Projekt
- JOB_NAME: Name des Dataflow-Jobs
- OUTPUT_DATASET: Ein Name für das Ausgabe-Dataset
- OUTPUT_TABLE: Ein Name für die Ausgabetabelle
Das Starten eines Dataflow SQL-Jobs kann einige Minuten dauern. Sie können den Job nach der Erstellung nicht mehr aktualisieren. Dataflow-SQL-Jobs nutzen Autoscaling und Dataflow wählt automatisch den Ausführungsmodus Batch oder Streaming. Sie können dieses Verhalten gegenüber Dataflow SQL-Jobs nicht steuern. Verwenden Sie den Befehl cancel
, um Dataflow SQL-Jobs zu beenden. Das Beenden eines Dataflow SQL-Jobs per drain
wird nicht unterstützt.
Weitere Informationen zur Verwendung von SQL-Befehlen für Dataflow finden Sie in der Dataflow-SQL-Referenz und in der Dokumentation zu gcloud Dataflow sql query
.
Befehle mit Regionen verwenden
Die Dataflow-Befehlszeile unterstützt ab Version 176 der gcloud CLI Regionen. Verwenden Sie die Option --region
mit einem beliebigen Befehl, um die Region anzugeben, in der Ihr Job verwaltet wird.
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.