Lorsque vous exécutez votre pipeline à l'aide du service géré Dataflow, vous pouvez obtenir des informations sur votre tâche Dataflow à l'aide de l'interface de ligne de commande Dataflow. Celle-ci fait partie de l'outil de ligne de commande de Google Cloud CLI.
Si vous préférez afficher et interagir avec vos tâches Dataflow à l'aide de la console Google Cloud, utilisez l'interface de surveillance Dataflow.
Installer le composant de ligne de commande Dataflow
Pour utiliser l'interface de ligne de commande Dataflow depuis votre terminal local, installez et configurez Google Cloud CLI.
Pour Cloud Shell, l'interface de ligne de commande Dataflow est automatiquement disponible.
Exécuter les commandes
Vous interagissez avec l'interface de ligne de commande Dataflow en exécutant les commandes disponibles. Pour afficher la liste des commandes Dataflow disponibles, saisissez la commande suivante dans votre shell ou votre terminal :
gcloud dataflow --help
Comme le montre le résultat, la commande Dataflow comporte les quatre groupes suivants : flex-template
, jobs
, snapshots
et sql
.
Commandes de modèle Flex
La sous-commande flex-template
vous permet de travailler avec des modèles Dataflow Flex. Les opérations suivantes sont acceptées :
build
: crée un fichier de modèle Flex à partir des paramètres spécifiés.run
: exécute une tâche à partir du chemin spécifié.
Pour exécuter un modèle, vous devez créer un fichier de spécification de modèle stocké dans un bucket Cloud Storage. Le fichier de spécification de modèle contient toutes les informations nécessaires à l'exécution de la tâche, telles que les informations et les métadonnées du SDK. Le fichier metadata.json
contient également des informations sur le modèle, telles que le nom, la description et les paramètres d'entrée. Après avoir créé le fichier de spécification de modèle, vous pouvez créer le modèle Flex à l'aide de Java ou de Python.
Pour en savoir plus sur la création et l'exécution d'un modèle Flex à l'aide de Google Cloud CLI, consultez le tutoriel Créer et exécuter des modèles Flex.
Commandes des tâches
La sous-commande jobs
vous permet de travailler avec des jobs Dataflow dans votre projet. Les opérations suivantes sont acceptées :
cancel
: annule toutes les tâches qui correspondent aux arguments de ligne de commande.describe
: renvoie l'objet "Job" obtenu à partir de l'API Get.drain
: draine toutes les tâches qui correspondent aux arguments de ligne de commande.list
: répertorie toutes les tâches d'un projet particulier, éventuellement filtrées par région.run
: exécute une tâche à partir du chemin spécifié.show
: affiche une brève description de la tâche donnée.
Pour obtenir la liste de toutes les tâches Dataflow de votre projet, exécutez la commande suivante dans votre interface système ou votre terminal :
gcloud dataflow jobs list
La commande renvoie la liste de vos tâches en cours. Voici un exemple de résultat :
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
En utilisant la tâche ID
affichée pour chaque tâche, vous pouvez exécuter la commande describe
pour afficher plus d'informations sur une tâche.
gcloud dataflow jobs describe JOB_ID
Remplacez JOB_ID par la tâche ID
de l'une des tâches Dataflow de votre projet.
Par exemple, si vous exécutez la commande pour l'ID de tâche 2015-02-09_11_39_40-15635991037808002875
, voici un exemple de résultat :
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
Pour formater le résultat au format JSON, exécutez la commande avec l'option --format=json
:
gcloud --format=json dataflow jobs describe JOB_ID
Remplacez JOB_ID par la tâche ID
de l'une des tâches Dataflow de votre projet.
L'exemple de résultat suivant est au format JSON :
{ "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" }
Commandes d'instantanés
Le sous-groupe snapshots
vous permet de travailler avec des instantanés Dataflow. Les opérations suivantes sont acceptées :
create
: crée un instantané pour une tâche Dataflow.delete
: supprime un instantané Dataflow.describe
: décrit un instantané Dataflow.list
: répertorie tous les instantanés Dataflow d'un projet dans la région spécifiée, éventuellement filtrés par ID de tâche.
Pour en savoir plus sur l'utilisation des instantanés dans Dataflow, consultez la page Utiliser des instantanés Dataflow.
Commandes SQL
La sous-commande sql
vous permet de travailler avec Dataflow SQL. La commande gcloud Dataflow sql query
accepte et exécute une requête SQL spécifiée par l'utilisateur sur Dataflow.
Par exemple, pour exécuter une requête SQL simple sur une tâche Dataflow qui lit un ensemble de données BigQuery et écrit dans un autre ensemble de données BigQuery, exécutez la commande suivante dans votre interface système ou votre terminal :
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
Remplacez l'élément suivant :
- PROJECT_ID : nom unique attribué à votre projet
- JOB_NAME : nom de votre tâche Dataflow
- OUTPUT_DATASET : nom de l'ensemble de données de sortie
- OUTPUT_TABLE : nom de la table de sortie
Le démarrage d'une tâche Dataflow SQL peut prendre plusieurs minutes. Vous ne pouvez pas mettre à jour la tâche après l'avoir créée. Les tâches Dataflow SQL utilisent l'autoscaling et Dataflow choisit automatiquement le mode d'exécution soit par lot, soit par flux. Vous ne pouvez pas contrôler ce comportement pour les tâches Dataflow SQL. Pour arrêter des jobs Dataflow SQL, utilisez la commande cancel
. L'arrêt d'une tâche Dataflow SQL avec drain
n'est pas pris en charge.
Pour en savoir plus sur l'utilisation des commandes SQL pour Dataflow, consultez la documentation de référence sur Dataflow SQL et gcloud Dataflow sql query
.
Utiliser des commandes avec des régions
L'interface de ligne de commande Dataflow est compatible avec les régions à partir de la version 176 de la gcloud CLI. Utilisez l'option --region
avec n'importe quelle commande pour spécifier la région qui gère votre job.
Par exemple, gcloud dataflow jobs list
répertorie les tâches de toutes les régions, mais gcloud dataflow jobs list --region=europe-west1
ne répertorie que les tâches gérées à partir de europe-west1
.