Modèles d'utilitaires fournis par Google

Google fournit un ensemble de modèles Cloud Dataflow open source. Des informations générales sur les modèles sont disponibles dans la page Présentation. Pour obtenir la liste de tous les modèles fournis par Google, consultez la page Premiers pas avec les modèles fournis par Google.

Cette page traite des modèles d'utilitaires :

Compression groupée de fichiers Cloud Storage

Le modèle de compression groupée des fichiers Cloud Storage est un pipeline par lots qui compresse des fichiers de Cloud Storage vers un emplacement spécifié. Ce modèle peut être utile lorsque vous devez compresser de grands lots de fichiers dans le cadre d'un processus d'archivage périodique. Les modes de compression compatibles sont : BZIP2, DEFLATE, GZIP, ZIP. Les fichiers produits à l'emplacement de destination suivront un schéma de dénomination associant le nom de fichier d'origine à l'extension du mode de compression. Les extensions ajoutées seront les suivantes : .bzip2, .deflate, .gz et .zip.

Toute erreur survenant pendant le processus de compression sera sortie dans le fichier d'échec au format CSV du nom de fichier, le message d'erreur. Si aucune erreur ne survient pendant l'exécution, le fichier d'erreur sera toujours créé mais ne contiendra aucun enregistrement

Conditions requises pour ce pipeline :

  • La compression doit être dans l'un des formats suivants : BZIP2, DEFLATE, GZIP, ZIP.
  • Le répertoire de sortie doit exister avant l'exécution du pipeline.

Paramètres de modèle

Paramètre Description
inputFilePattern Modèle de fichier d'entrée à lire. Par exemple, gs://bucket-name/uncompressed/*.txt.
outputDirectory Emplacement de sortie où écrire. Par exemple, gs://bucket-name/compressed/.
outputFailureFile Fichier de sortie du journal des erreurs à utiliser pour les échecs d'écriture lors du processus de compression. Par exemple, gs://bucket-name/compressed/failed.csv. S'il n'y a pas d'échec, le fichier est quand même créé mais sera vide. Le contenu du fichier est au format CSV (nom de fichier, erreur) et contient une ligne pour chaque fichier dont la compression échoue.
compression Algorithme de compression utilisé pour compresser les fichiers correspondants. Doit être l'un des suivants : BZIP2, DEFLATE, GZIP, ZIP

Exécuter le modèle de fichiers Cloud Storage de compression par lots

CONSOLE

Exécuter à partir de la console Google Cloud Platform
  1. Accédez à la page Cloud Dataflow dans la console GCP.
  2. Accéder à la page "Cloud Dataflow"
  3. Cliquez sur CREATE JOB FROM TEMPLATE (CRÉER UNE TÂCHE À PARTIR D'UN MODÈLE).
  4. Bouton "Créer une tâche à partir d'un modèle" dans la console Cloud Platform
  5. Sélectionnezthe Bulk Compress Cloud Storage Files templatedans le menu déroulant des modèles Cloud Dataflow.
  6. Entrez un nom de tâche dans le champ Nom de la tâche. Le nom de votre tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  7. Entrez vos valeurs de paramètre dans les champs de paramètre fournis.
  8. Cliquez sur Exécuter la tâche.

GCLOUD

Exécuter à partir de l'outil de ligne de commande gcloud

Remarque : Pour utiliser l'outil de ligne de commande gcloud afin d'exécuter des modèles, vous devez disposer du SDK Cloud version 138.0.0 ou ultérieure.

Vous devez remplacer les valeurs suivantes dans l'exemple ci-dessous :

  • Remplacez YOUR_PROJECT_ID par votre ID de projet.
  • Remplacez JOB_NAME par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez YOUR_BUCKET_NAME par le nom de votre bucket Cloud Storage.
  • Remplacez COMPRESSION par l'algorithme de compression de votre choix.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Bulk_Compress_GCS_Files \
    --parameters \
inputFilePattern=gs://YOUR_BUCKET_NAME/uncompressed/*.txt,\
outputDirectory=gs://YOUR_BUCKET_NAME/compressed,\
outputFailureFile=gs://YOUR_BUCKET_NAME/failed/failure.csv,\
compression=COMPRESSION

API

Exécuter à partir de l'API REST

Lors de l'exécution de ce modèle, vous aurez besoin du chemin d'accès Cloud Storage au modèle :

gs://dataflow-templates/VERSION/Bulk_Compress_GCS_Files

Pour exécuter ce modèle avec une requête API REST, envoyez une requête HTTP POST avec votre ID de projet. Cette requête nécessite une autorisation.

Vous devez remplacer les valeurs suivantes dans l'exemple ci-dessous :

  • Remplacez YOUR_PROJECT_ID par votre ID de projet.
  • Remplacez JOB_NAME par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez YOUR_BUCKET_NAME par le nom de votre bucket Cloud Storage.
  • Remplacez COMPRESSION par l'algorithme de compression de votre choix.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Bulk_Compress_GCS_Files
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputFilePattern": "gs://YOUR_BUCKET_NAME/uncompressed/*.txt",
       "outputDirectory": "gs://YOUR_BUCKET_NAME/compressed",
       "outputFailureFile": "gs://YOUR_BUCKET_NAME/failed/failure.csv",
       "compression": "COMPRESSION"
   },
   "environment": { "zone": "us-central1-f" }
}

Décompression groupée de fichiers Cloud Storage

Le modèle de décompression groupée de fichiers Cloud Storage est un pipeline par lots qui décompresse les fichiers de Cloud Storage vers un emplacement spécifié. Cette fonctionnalité est utile lorsque vous souhaitez utiliser des données compressées pour réduire les coûts de bande passante réseau lors d'une migration, tout en optimisant la vitesse de traitement analytique en opérant sur des données non compressées après la migration. Le pipeline gère automatiquement plusieurs modes de compression lors d'une seule exécution et détermine le mode de décompression à utiliser en fonction de l'extension de fichier (.bzip2, .deflate, .gz, .zip).

Conditions requises pour ce pipeline :

  • Les fichiers à décompresser doivent être dans l'un des formats suivants : Bzip2, Deflate, Gzip, Zip.
  • Le répertoire de sortie doit exister avant l'exécution du pipeline.

Paramètres de modèle

Paramètre Description
inputFilePattern Modèle de fichier d'entrée à lire. Par exemple, gs://bucket-name/compressed/*.gz.
outputDirectory Emplacement de sortie où écrire. Par exemple, gs://bucket-name/decompressed.
outputFailureFile Le fichier de sortie du journal des erreurs à utiliser pour les échecs d'écriture lors du processus de décompression. Par exemple, gs://bucket-name/decompressed/failed.csv. S'il n'y a pas d'échec, le fichier est quand même créé mais sera vide. Le contenu du fichier est au format CSV (nom de fichier, erreur) et consiste en une ligne pour chaque fichier qui échoue à la décompression.

Exécuter le modèle de décompression groupée de fichiers Cloud Storage

CONSOLE

Exécuter à partir de la console Google Cloud Platform
  1. Accédez à la page Cloud Dataflow dans la console GCP.
  2. Accéder à la page "Cloud Dataflow"
  3. Cliquez sur CREATE JOB FROM TEMPLATE (CRÉER UNE TÂCHE À PARTIR D'UN MODÈLE).
  4. Bouton "Créer une tâche à partir d'un modèle" dans la console Cloud Platform
  5. Sélectionnezthe Bulk Decompress Cloud Storage Files templatedans le menu déroulant des modèles Cloud Dataflow.
  6. Entrez un nom de tâche dans le champ Nom de la tâche. Le nom de votre tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  7. Entrez vos valeurs de paramètre dans les champs de paramètre fournis.
  8. Cliquez sur Exécuter la tâche.

GCLOUD

Exécuter à partir de l'outil de ligne de commande gcloud

Remarque : Pour utiliser l'outil de ligne de commande gcloud afin d'exécuter des modèles, vous devez disposer du SDK Cloud version 138.0.0 ou ultérieure.

Lors de l'exécution de ce modèle, vous aurez besoin du chemin d'accès Cloud Storage au modèle :

gs://dataflow-templates/VERSION/Bulk_Decompress_GCS_Files

Vous devez remplacer les valeurs suivantes dans l'exemple ci-dessous :

  • Remplacez YOUR_PROJECT_ID par votre ID de projet.
  • Remplacez JOB_NAME par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez YOUR_BUCKET_NAME par le nom de votre bucket Cloud Storage.
  • Remplacez OUTPUT_FAILURE_FILE_PATH par le chemin d'accès au fichier contenant les informations sur l'échec de votre choix.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Bulk_Decompress_GCS_Files \
    --parameters \
inputFilePattern=gs://YOUR_BUCKET_NAME/compressed/*.gz,\
outputDirectory=gs://YOUR_BUCKET_NAME/decompressed,\
outputFailureFile=OUTPUT_FAILURE_FILE_PATH

API

Exécuter à partir de l'API REST

Lors de l'exécution de ce modèle, vous aurez besoin du chemin d'accès Cloud Storage au modèle :

gs://dataflow-templates/VERSION/Bulk_Decompress_GCS_Files

Pour exécuter ce modèle avec une requête API REST, envoyez une requête HTTP POST avec votre ID de projet. Cette requête nécessite une autorisation.

Vous devez remplacer les valeurs suivantes dans l'exemple ci-dessous :

  • Remplacez YOUR_PROJECT_ID par votre ID de projet.
  • Remplacez JOB_NAME par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez YOUR_BUCKET_NAME par le nom de votre bucket Cloud Storage.
  • Remplacez OUTPUT_FAILURE_FILE_PATH par le chemin d'accès au fichier contenant les informations sur l'échec de votre choix.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Bulk_Decompress_GCS_Files
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputFilePattern": "gs://YOUR_BUCKET_NAME/compressed/*.gz",
       "outputDirectory": "gs://YOUR_BUCKET_NAME/decompressed",
       "outputFailureFile": "OUTPUT_FAILURE_FILE_PATH"
   },
   "environment": { "zone": "us-central1-f" }
}

Suppression groupée Cloud Datastore

Le modèle de suppression groupée de Cloud Datastore est un pipeline qui lit les entités de Cloud Datastore avec une requête GQL donnée, puis supprime toutes les entités correspondantes du projet cible sélectionné. Le pipeline peut éventuellement transmettre les entités Datastore encodées en JSON à votre fichier UDF JavaScript, que vous pouvez utiliser pour filtrer les entités en renvoyant des valeurs nulles.

Conditions requises pour ce pipeline :

Paramètres de modèle

Paramètre Description
datastoreReadGqlQuery Requête GQL qui spécifie les entités à rechercher pour la suppression. Par exemple : "SELECT * FROM MyKind".
datastoreReadProjectId ID du projet GCP de l'instance Cloud Datastore à partir de laquelle vous souhaitez lire les entités (à l'aide de votre requête GQL) utilisées pour la mise en correspondance.
datastoreDeleteProjectId ID du projet GCP de l'instance Cloud Datastore dans laquelle supprimer les entités correspondantes. Cela peut être identique à datastoreReadProjectId si vous souhaitez lire et supprimer au sein de la même instance Cloud Datastore.
datastoreReadNamespace [Facultatif] Espace de noms des entités demandées. Défini comme "" pour l'espace de noms par défaut.
javascriptTextTransformGcsPath [Facultatif] Un chemin d'accès Cloud Storage contenant tout votre code JavaScript, par exemple : "gs://mybucket/mytransforms/*.js". Si vous ne souhaitez pas utiliser de fonction définie par l'utilisateur, ne renseignez pas ce champ.
javascriptTextTransformFunctionName [Facultatif] Nom de la fonction à appeler. Si cette fonction renvoie une valeur indéfinie ou nulle pour une entité Datastore donnée, cette entité ne sera pas supprimée. Si votre code JavaScript est le suivant : "function myTransform(inJson) { ...dostuff...}", le nom de votre fonction est "myTransform". Si vous ne souhaitez pas utiliser de fonction définie par l'utilisateur, ne renseignez pas ce champ.

Exécuter le modèle de suppression groupée Cloud Datastore

CONSOLE

Exécuter à partir de la console Google Cloud Platform
  1. Accédez à la page Cloud Dataflow dans la console GCP.
  2. Accéder à la page "Cloud Dataflow"
  3. Cliquez sur CREATE JOB FROM TEMPLATE (CRÉER UNE TÂCHE À PARTIR D'UN MODÈLE).
  4. Bouton "Créer une tâche à partir d'un modèle" dans la console Cloud Platform
  5. Sélectionnezthe Cloud Datastore Bulk Delete templatedans le menu déroulant des modèles Cloud Dataflow.
  6. Entrez un nom de tâche dans le champ Nom de la tâche. Le nom de votre tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  7. Entrez vos valeurs de paramètre dans les champs de paramètre fournis.
  8. Cliquez sur Exécuter la tâche.

GCLOUD

Exécuter à partir de l'outil de ligne de commande gcloud

Remarque : Pour utiliser l'outil de ligne de commande gcloud afin d'exécuter des modèles, vous devez disposer du SDK Cloud version 138.0.0 ou ultérieure.

Lors de l'exécution de ce modèle, vous aurez besoin du chemin d'accès Cloud Storage au modèle :

gs://dataflow-templates/VERSION/Bulk_Decompress_GCS_Files

Vous devez remplacer les valeurs suivantes dans l'exemple ci-dessous :

  • Remplacez JOB_NAME par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez GQL_QUERY par la requête que vous utiliserez pour rechercher les entités à supprimer.
  • Remplacez DATASTORE_READ_AND_DELETE_PROJECT_ID par l'ID de projet de votre instance Datastore. Cet exemple lira et supprimera dans la même instance Datastore
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Datastore_to_Datastore_Delete \
    --parameters \
datastoreReadGqlQuery="GQL_QUERY",\
datastoreReadProjectId=DATASTORE_READ_AND_DELETE_PROJECT_ID,\
datastoreDeleteProjectId=DATASTORE_READ_AND_DELETE_PROJECT_ID

API

Exécuter à partir de l'API REST

Lors de l'exécution de ce modèle, vous aurez besoin du chemin d'accès Cloud Storage au modèle :

gs://dataflow-templates/VERSION/Bulk_Decompress_GCS_Files

Pour exécuter ce modèle avec une requête API REST, envoyez une requête HTTP POST avec votre ID de projet. Cette requête nécessite une autorisation.

Vous devez remplacer les valeurs suivantes dans l'exemple ci-dessous :

  • Remplacez JOB_NAME par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez GQL_QUERY par la requête que vous utiliserez pour rechercher les entités à supprimer.
  • Remplacez DATASTORE_READ_AND_DELETE_PROJECT_ID par l'ID de projet de votre instance Datastore. Cet exemple lira et supprimera dans la même instance Datastore
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Datastore_to_Datastore_Delete
{
   "jobName": "JOB_NAME",
   "parameters": {
       "datastoreReadGqlQuery": "GQL_QUERY",
       "datastoreReadProjectId": "READ_PROJECT_ID",
       "datastoreDeleteProjectId": "DELETE_PROJECT_ID"
   },
   "environment": { "zone": "us-central1-f" }
   }
}
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Besoin d'aide ? Consultez notre page d'assistance.