Modèles par lots fournis par Google

Google fournit un ensemble de modèles Dataflow Open Source. Pour obtenir des informations générales sur les modèles, consultez la page Modèles Dataflow. Pour obtenir la liste de tous les modèles fournis par Google, consultez la page Premiers pas avec les modèles fournis par Google.

Ce guide décrit les modèles par lots.

BigQuery vers TFRecords Cloud Storage

Le modèle BigQuery vers TFRecords Cloud Storage est un pipeline qui lit les données à partir d'une requête BigQuery et les écrit dans un bucket Cloud Storage au format TFRecord. Vous pouvez spécifier les pourcentages de répartition pour l'entraînement, les tests et la validation. Par défaut, la répartition est de 1 ou 100 % pour l'ensemble d'entraînement, et de 0 ou 0 % pour les ensembles de test et de validation. Lorsque vous définissez la répartition des ensembles de données, la somme des valeurs assignées à l'entraînement, aux tests et à la validation doit être égale à 1 ou 100 % (par exemple : 0,6 + 0,2 + 0,2). Dataflow détermine automatiquement le nombre optimal de segments pour chaque ensemble de données de sortie.

Conditions requises pour ce pipeline :

  • L'ensemble de données et la table BigQuery doivent exister.
  • Le bucket Cloud Storage de sortie doit exister avant l'exécution du pipeline. Les sous-répertoires d'entraînement, de test et de validation n'ont pas besoin d'exister au préalable, ils sont générés automatiquement.

Paramètres de modèle

Paramètres Description
readQuery Requête SQL BigQuery qui extrait les données de la source. Par exemple, select * from dataset1.sample_table.
outputDirectory Préfixe du chemin d'accès de niveau supérieur dans Cloud Storage pour l'écriture des fichiers TFRecord d'entraînement, de test et de validation. Par exemple, gs://mybucket/output. Les sous-répertoires dédiés aux fichiers TFRecord d'entraînement, de test et de validation résultants sont générés à partir de outputDirectory. Par exemple, gs://mybucket/output/train.
trainingPercentage (Facultatif) Pourcentage des données de requête alloué aux fichiers TFRecord d'entraînement. La valeur par défaut est 1 ou 100 %.
testingPercentage (Facultatif) Pourcentage des données de requête alloué aux fichiers TFRecord de test. La valeur par défaut est 0 ou 0 %.
validationPercentage (Facultatif) Pourcentage des données de requête alloué aux fichiers TFRecord de validation. La valeur par défaut est 0 ou 0 %.
outputSuffix (Facultatif) Suffixe des fichiers TFRecord d'entraînement, de test et de validation écrits. La valeur par défaut est .tfrecord.

Exécuter le modèle BigQuery vers des fichiers TFRecord Cloud Storage

Console

  1. Accédez à la page Dataflow Créer une tâche à partir d'un modèle.
  2. Accéder à la page Créer une tâche à partir d'un modèle
  3. Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
  4. Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. Le point de terminaison régional par défaut est us-central1.

    Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter une tâche Dataflow, consultez la page Emplacements Dataflow.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the BigQuery to TFRecords template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

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

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

gs://dataflow-templates/VERSION/Cloud_BigQuery_to_GCS_TensorFlow_Records
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Cloud_BigQuery_to_GCS_TensorFlow_Records \
    --parameters \
readQuery=READ_QUERY,\
outputDirectory=OUTPUT_DIRECTORY,\
trainingPercentage=TRAINING_PERCENTAGE,\
testingPercentage=TESTING_PERCENTAGE,\
validationPercentage=VALIDATION_PERCENTAGE,\
outputSuffix=OUTPUT_FILENAME_SUFFIX

Remplacez les valeurs suivantes :

  • (API uniquement) PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • READ_QUERY : requête BigQuery à exécuter
  • OUTPUT_DIRECTORY : préfixe du chemin d'accès Cloud Storage pour les ensembles de données de sortie
  • TRAINING_PERCENTAGE : valeur décimale du pourcentage représentant la fraction de l'ensemble de données d'entraînement
  • TESTING_PERCENTAGE : valeur décimale du pourcentage représentant la fraction de l'ensemble de données de test
  • VALIDATION_PERCENTAGE : valeur décimale du pourcentage représentant la fraction de l'ensemble de données de validation
  • OUTPUT_FILENAME_SUFFIX : suffixe souhaité pour les fichiers TensorFlow Record de sortie

API

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

gs://dataflow-templates/VERSION/Cloud_BigQuery_to_GCS_TensorFlow_Records

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

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_BigQuery_to_GCS_TensorFlow_Records
{
   "jobName": "JOB_NAME",
   "parameters": {
       "readQuery":"READ_QUERY",
       "outputDirectory":"OUTPUT_DIRECTORY",
       "trainingPercentage":"TRAINING_PERCENTAGE",
       "testingPercentage":"TESTING_PERCENTAGE",
       "validationPercentage":"VALIDATION_PERCENTAGE",
       "outputSuffix":"OUTPUT_FILENAME_SUFFIX"
   },
   "environment": { "zone": "us-central1-f" }
}

Remplacez les valeurs suivantes :

  • (API uniquement) PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • READ_QUERY : requête BigQuery à exécuter
  • OUTPUT_DIRECTORY : préfixe du chemin d'accès Cloud Storage pour les ensembles de données de sortie
  • TRAINING_PERCENTAGE : valeur décimale du pourcentage représentant la fraction de l'ensemble de données d'entraînement
  • TESTING_PERCENTAGE : valeur décimale du pourcentage représentant la fraction de l'ensemble de données de test
  • VALIDATION_PERCENTAGE : valeur décimale du pourcentage représentant la fraction de l'ensemble de données de validation
  • OUTPUT_FILENAME_SUFFIX : suffixe souhaité pour les fichiers TensorFlow Record de sortie

Exporter de BigQuery vers Parquet (via l'API Storage)

L'export de BigQuery vers Parquet est un pipeline par lots qui lit les données à partir d'une table BigQuery et les écrit dans un bucket Cloud Storage au format Parquet. Ce modèle utilise l'API BigQuery Storage pour exporter les données.

Conditions requises pour ce pipeline :

  • La table d'entrée BigQuery doit exister avant l'exécution du pipeline.
  • Le bucket Cloud Storage de sortie doit exister avant l'exécution du pipeline.

Paramètres de modèle

Paramètres Description
tableRef Emplacement de la table d'entrée BigQuery. Par exemple, <my-project>:<my-dataset>.<my-table>.
bucket Dossier Cloud Storage dans lequel écrire les fichiers Parquet. Par exemple, gs://mybucket/exports.
numShards (Facultatif) Nombre de segments de fichiers de sortie. La valeur par défaut est de 1.
fields (Facultatif) Liste des champs à sélectionner dans la table BigQuery d'entrée, séparés par une virgule.

Exécuter le modèle BigQuery vers fichier Parquet Cloud Storage

Console

  1. Accédez à la page Dataflow Créer une tâche à partir d'un modèle.
  2. Accéder à la page Créer une tâche à partir d'un modèle
  3. Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
  4. Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. Le point de terminaison régional par défaut est us-central1.

    Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter une tâche Dataflow, consultez la page Emplacements Dataflow.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the BigQuery export to Parquet (via Storage API) template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

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

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

gs://dataflow-templates/VERSION/flex/BigQuery_to_Parquet
gcloud beta dataflow flex-template run JOB_NAME \
    --project=PROJECT_ID \
    --template-file-gcs-location=gs://dataflow-templates/latest/flex/BigQuery_to_Parquet \
    --parameters \
tableRef=BIGQUERY_TABLE,\
bucket=OUTPUT_DIRECTORY,\
numShards=NUM_SHARDS,\
fields=FIELDS

Remplacez les valeurs suivantes :

  • PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • BIGQUERY_TABLE : nom de votre table BigQuery
  • OUTPUT_DIRECTORY : dossier Cloud Storage pour les fichiers de sortie
  • NUM_SHARDS : nombre de segments de fichiers de sortie souhaité
  • FIELDS : liste des champs à sélectionner dans la table BigQuery d'entrée, séparés par une virgule
  • LOCATION : région d'exécution (par exemple, us-central1)

API

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

gs://dataflow-templates/VERSION/flex/BigQuery_to_Parquet

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.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch
{
   "launch_parameter": {
      "jobName": "JOB_NAME",
      "parameters": {
          "tableRef": "BIGQUERY_TABLE",
          "bucket": "OUTPUT_DIRECTORY",
          "numShards": "NUM_SHARDS",
          "fields": "FIELDS"
      },
      "containerSpecGcsPath": "gs://dataflow-templates/latest/flex/BigQuery_to_Parquet",
   }
}

Remplacez les valeurs suivantes :

  • PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • BIGQUERY_TABLE : nom de votre table BigQuery
  • OUTPUT_DIRECTORY : dossier Cloud Storage pour les fichiers de sortie
  • NUM_SHARDS : nombre de segments de fichiers de sortie souhaité
  • FIELDS : liste des champs à sélectionner dans la table BigQuery d'entrée, séparés par une virgule
  • LOCATION : région d'exécution (par exemple, us-central1)

BigQuery vers Elasticsearch

Le modèle BigQuery vers Elasticsearch est un pipeline par lots qui ingère les données d'une table BigQuery dans Elasticsearch sous forme de documents. Le modèle peut lire la table entière ou lire des enregistrements spécifiques indiqués par une requête fournie.

Conditions requises pour ce pipeline

  • La table BigQuery source doit exister.
  • Un hôte Elasticsearch sur une instance GCP ou sur Elastic Cloud avec Elasticsearch version 7.0 ou ultérieure (doit être accessible à partir des machines de nœud de calcul Dataflow).

Paramètres de modèle

Paramètres Description
connectionUrl URL Elasticsearch au format https://hostname:[port], ou spécifiez CloudID si vous utilisez Elastic Cloud.
apiKey Clé API encodée en base64 utilisée pour l'authentification.
index Index Elasticsearch vers lequel les requêtes seront émises, par exemple my-index.
inputTableSpec [Facultatif] Table BigQuery à lire pour l'insérer dans Elasticsearch. Une table ou une requête doit être fournie. Par exemple, projectId:datasetId.tablename.
query [Facultatif] Requête SQL pour extraire des données de BigQuery. Une table ou une requête doit être fournie.
useLegacySql [Facultatif] Définissez la valeur sur "True" pour utiliser l'ancien SQL (uniquement applicable si vous fournissez la requête). Valeur par défaut : false
batchSize [Facultatif] Taille de lot en nombre de documents. Valeur par défaut : 1000
batchSizeBytes [Facultatif] Taille de lot en octets. Valeur par défaut : 5242880 (5 Mo).
maxRetryAttempts [Facultatif] Nombre maximal de nouvelles tentatives à dépasser, doit être supérieur 0. Valeur par défaut : no retries.
maxRetryDuration [Facultatif] Durée maximale de la nouvelle tentative en millisecondes (doit être supérieure à 0). Valeur par défaut : no retries

Exécuter le modèle BigQuery vers Elasticsearch

Console

  1. Accédez à la page Dataflow Créer une tâche à partir d'un modèle.
  2. Accéder à la page Créer une tâche à partir d'un modèle
  3. Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
  4. Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. Le point de terminaison régional par défaut est us-central1.

    Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter une tâche Dataflow, consultez la page Emplacements Dataflow.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the BigQuery to Elasticsearch template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

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

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

gs://dataflow-templates/VERSION/flex/BigQuery_to_Elasticsearch
gcloud beta dataflow flex-template run JOB_NAME \
    --project=PROJECT_ID \
    --region=REGION_NAME \
    --template-file-gcs-location=gs://dataflow-templates/latest/flex/BigQuery_to_Elasticsearch \
    --parameters \
inputTableSpec=INPUT_TABLE_SPEC,\
connectionUrl=CONNECTION_URL,\
apiKey=APIKEY,\
index=INDEX
  

Remplacez l'élément suivant :

  • PROJECT_ID : ID de votre projet de modèle
  • JOB_NAME : nom de la tâche de votre choix
  • REGION_NAME : nom de la région Dataflow. Par exemple : us-central1
  • INPUT_TABLE_SPEC : nom de votre table BigQuery.
  • CONNECTION_URL : URL Elasticsearch.
  • APIKEY : clé API encodée en base64 pour l'authentification.
  • INDEX : votre index Elasticsearch.

API

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

gs://dataflow-templates/VERSION/flex/BigQuery_to_Elasticsearch

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.

POST  https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch
{
   "launch_parameter": {
      "jobName": "JOB_NAME",
      "parameters": {
          "inputTableSpec": "INPUT_TABLE_SPEC",
          "connectionUrl": "CONNECTION_URL",
          "apiKey": "APIKEY",
          "index": "INDEX"
      },
      "containerSpecGcsPath": "gs://dataflow-templates/latest/flex/BigQuery_to_Elasticsearch",
   }
}
  

Remplacez l'élément suivant :

  • PROJECT_ID : ID de votre projet de modèle
  • JOB_NAME : nom de la tâche de votre choix
  • LOCATION : nom de la région Dataflow. Par exemple : us-central1
  • INPUT_TABLE_SPEC : nom de votre table BigQuery.
  • CONNECTION_URL : URL Elasticsearch.
  • APIKEY : clé API encodée en base64 pour l'authentification.
  • INDEX : votre index Elasticsearch.

Bigtable vers Cloud Storage Avro

Le modèle "Bigtable vers Cloud Storage Avro" est un pipeline qui lit les données d'une table Bigtable et les écrit dans un bucket Cloud Storage au format Avro. Vous pouvez utiliser le modèle pour déplacer des données de Bigtable vers Cloud Storage.

Conditions requises pour ce pipeline :

  • La table Bigtable doit exister.
  • Le bucket Cloud Storage de sortie doit exister avant l'exécution du pipeline.

Paramètres de modèle

Paramètres Description
bigtableProjectId ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les données.
bigtableInstanceId ID de l'instance Bigtable qui contient la table.
bigtableTableId ID de la table Bigtable à exporter.
outputDirectory Chemin d'accès Cloud Storage où les données sont écrites. Par exemple, gs://mybucket/somefolder.
filenamePrefix Préfixe du nom de fichier Avro. Par exemple, output-.

Exécuter le modèle Bigtable vers fichier Avro Cloud Storage

Console

  1. Accédez à la page Dataflow Créer une tâche à partir d'un modèle.
  2. Accéder à la page Créer une tâche à partir d'un modèle
  3. Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
  4. Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. Le point de terminaison régional par défaut est us-central1.

    Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter une tâche Dataflow, consultez la page Emplacements Dataflow.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the Cloud Bigtable to Avro Files on Cloud Storage template .
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

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

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

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Avro
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_Avro \
    --parameters \
bigtableProjectId=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
outputDirectory=OUTPUT_DIRECTORY,\
filenamePrefix=FILENAME_PREFIX

Remplacez les éléments suivants :

  • (API uniquement) PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • BIGTABLE_PROJECT_ID : ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les données
  • INSTANCE_ID : ID de l'instance Bigtable qui contient la table
  • TABLE_ID : ID de la table Bigtable à exporter
  • OUTPUT_DIRECTORY : chemin d'accès à Cloud Storage où les données sont écrites, par exemple, gs://mybucket/somefolder
  • FILENAME_PREFIX : préfixe du nom de fichier Avro (par exemple, output-)

API

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

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Avro

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 et vous devez spécifier un tempLocation dans lequel vous disposez d'autorisations en écriture. Utilisez cet exemple de requête comme indiqué dans la section Utiliser l'API REST.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_Avro
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProjectId": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "outputDirectory": "OUTPUT_DIRECTORY",
       "filenamePrefix": "FILENAME_PREFIX",
   },
   "environment": { "zone": "us-central1-f" }
}

Remplacez les éléments suivants :

  • (API uniquement) PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • BIGTABLE_PROJECT_ID : ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les données
  • INSTANCE_ID : ID de l'instance Bigtable qui contient la table
  • TABLE_ID : ID de la table Bigtable à exporter
  • OUTPUT_DIRECTORY : chemin d'accès à Cloud Storage où les données sont écrites, par exemple, gs://mybucket/somefolder
  • FILENAME_PREFIX : préfixe du nom de fichier Avro (par exemple, output-)

Bigtable vers Cloud Storage Parquet

Le modèle "Bigtable vers Cloud Storage Parquet" est un pipeline qui lit les données d'une table Bigtable et les écrit dans un bucket Cloud Storage au format Parquet. Vous pouvez utiliser le modèle pour déplacer des données de Bigtable vers Cloud Storage.

Conditions requises pour ce pipeline :

  • La table Bigtable doit exister.
  • Le bucket Cloud Storage de sortie doit exister avant l'exécution du pipeline.

Paramètres de modèle

Paramètres Description
bigtableProjectId ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les données.
bigtableInstanceId ID de l'instance Bigtable qui contient la table.
bigtableTableId ID de la table Bigtable à exporter.
outputDirectory Chemin d'accès Cloud Storage où les données sont écrites. Par exemple, gs://mybucket/somefolder.
filenamePrefix Préfixe du nom de fichier Parquet. Par exemple, output-.
numShards Nombre de partitions de fichiers de sortie. Par exemple, 2.

Exécuter le modèle Bigtable vers fichier Parquet Cloud Storage

Console

  1. Accédez à la page Dataflow Créer une tâche à partir d'un modèle.
  2. Accéder à la page Créer une tâche à partir d'un modèle
  3. Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
  4. Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. Le point de terminaison régional par défaut est us-central1.

    Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter une tâche Dataflow, consultez la page Emplacements Dataflow.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the Cloud Bigtable to Parquet Files on Cloud Storage template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

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

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

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Parquet
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_Parquet \
    --parameters \
bigtableProjectId=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
outputDirectory=OUTPUT_DIRECTORY,\
filenamePrefix=FILENAME_PREFIX,\
numShards=NUM_SHARDS

Remplacez les éléments suivants :

  • (API uniquement) PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • BIGTABLE_PROJECT_ID : ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les données
  • INSTANCE_ID : ID de l'instance Bigtable qui contient la table
  • TABLE_ID : ID de la table Bigtable à exporter
  • OUTPUT_DIRECTORY : chemin d'accès à Cloud Storage où les données sont écrites, par exemple, gs://mybucket/somefolder
  • FILENAME_PREFIX : préfixe du nom du fichier Parquet (par exemple, output-)
  • NUM_SHARDS : nombre de fichiers Parquet à générer (par exemple, 1)

API

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

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Parquet

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 et vous devez spécifier un tempLocation dans lequel vous disposez d'autorisations en écriture. Utilisez cet exemple de requête comme indiqué dans la section Utiliser l'API REST.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_Parquet
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProjectId": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "outputDirectory": "OUTPUT_DIRECTORY",
       "filenamePrefix": "FILENAME_PREFIX",
       "numShards": "NUM_SHARDS"
   },
   "environment": { "zone": "us-central1-f" }
}

Remplacez les éléments suivants :

  • (API uniquement) PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • BIGTABLE_PROJECT_ID : ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les données
  • INSTANCE_ID : ID de l'instance Bigtable qui contient la table
  • TABLE_ID : ID de la table Bigtable à exporter
  • OUTPUT_DIRECTORY : chemin d'accès à Cloud Storage où les données sont écrites, par exemple, gs://mybucket/somefolder
  • FILENAME_PREFIX : préfixe du nom du fichier Parquet (par exemple, output-)
  • NUM_SHARDS : nombre de fichiers Parquet à générer (par exemple, 1)

Bigtable vers Cloud Storage SequenceFile

Le modèle "Bigtable vers Cloud Storage SequenceFile" est un pipeline qui lit les données d'une table Bigtable et les écrit dans un bucket Cloud Storage au format SequenceFile. Vous pouvez utiliser ce modèle pour copier des données de Bigtable vers Cloud Storage.

Conditions requises pour ce pipeline :

  • La table Bigtable doit exister.
  • Le bucket Cloud Storage de sortie doit exister avant l'exécution du pipeline.

Paramètres de modèle

Paramètres Description
bigtableProject ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les données.
bigtableInstanceId ID de l'instance Bigtable qui contient la table.
bigtableTableId ID de la table Bigtable à exporter.
bigtableAppProfileId ID du profil d'application Bigtable à utiliser pour l'exportation. Si vous ne spécifiez pas de profil d'application, Bigtable utilise le profil d'application par défaut de l'instance.
destinationPath Chemin d'accès Cloud Storage où les données sont écrites. Par exemple, gs://mybucket/somefolder.
filenamePrefix Préfixe du nom de fichier SequenceFile. Par exemple, output-.

Exécuter le modèle Bigtable vers Cloud Storage SequenceFile

Console

  1. Accédez à la page Dataflow Créer une tâche à partir d'un modèle.
  2. Accéder à la page Créer une tâche à partir d'un modèle
  3. Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
  4. Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. Le point de terminaison régional par défaut est us-central1.

    Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter une tâche Dataflow, consultez la page Emplacements Dataflow.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the Cloud Bigtable to SequenceFile Files on Cloud Storage template .
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

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

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

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_SequenceFile
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_SequenceFile \
    --parameters \
bigtableProject=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
bigtableAppProfileId=APPLICATION_PROFILE_ID,\
destinationPath=DESTINATION_PATH,\
filenamePrefix=FILENAME_PREFIX

Remplacez les éléments suivants :

  • (API uniquement) PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • BIGTABLE_PROJECT_ID : ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les données
  • INSTANCE_ID : ID de l'instance Bigtable qui contient la table
  • TABLE_ID : ID de la table Bigtable à exporter
  • APPLICATION_PROFILE_ID : ID du profil d'application Bigtable à utiliser pour l'exportation
  • DESTINATION_PATH : chemin d'accès à Cloud Storage où les données sont écrites, par exemple, gs://mybucket/somefolder
  • FILENAME_PREFIX : préfixe du nom de fichier SequenceFile (par exemple, output-)

API

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

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_SequenceFile

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 et vous devez spécifier un tempLocation dans lequel vous disposez d'autorisations en écriture. Utilisez cet exemple de requête comme indiqué dans la section Utiliser l'API REST.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_SequenceFile
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProject": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "bigtableAppProfileId": "APPLICATION_PROFILE_ID",
       "destinationPath": "DESTINATION_PATH",
       "filenamePrefix": "FILENAME_PREFIX",
   },
   "environment": { "zone": "us-central1-f" }
}

Remplacez les éléments suivants :

  • (API uniquement) PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • BIGTABLE_PROJECT_ID : ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les données
  • INSTANCE_ID : ID de l'instance Bigtable qui contient la table
  • TABLE_ID : ID de la table Bigtable à exporter
  • APPLICATION_PROFILE_ID : ID du profil d'application Bigtable à utiliser pour l'exportation
  • DESTINATION_PATH : chemin d'accès à Cloud Storage où les données sont écrites, par exemple, gs://mybucket/somefolder
  • FILENAME_PREFIX : préfixe du nom de fichier SequenceFile (par exemple, output-)

Datastore vers texte Cloud Storage

Le modèle Datastore vers texte Cloud Storage est un pipeline par lots qui lit les entités Datastore et les écrit dans Cloud Storage sous forme de fichiers texte. Vous pouvez fournir une fonction pour traiter chaque entité en tant que chaîne JSON. Si vous ne fournissez pas de fonction, chaque ligne du fichier de sortie sera une entité sérialisée JSON.

Conditions requises pour ce pipeline :

Datastore doit être configuré dans le projet avant l'exécution du pipeline.

Paramètres de modèle

Paramètres Description
datastoreReadGqlQuery Une requête GQL qui spécifie les entités à saisir. Par exemple, SELECT * FROM MyKind.
datastoreReadProjectId ID de projet Google Cloud de l'instance Datastore dont vous souhaitez lire les données.
datastoreReadNamespace Espace de noms des entités demandées. Pour utiliser l'espace de noms par défaut, ne renseignez pas ce paramètre.
javascriptTextTransformGcsPath Chemin d'accès Cloud Storage contenant tout votre code JavaScript. Par exemple, gs://mybucket/mytransforms/*.js. Si vous ne souhaitez pas fournir de fonction, ne renseignez pas ce paramètre.
javascriptTextTransformFunctionName Nom de la fonction JavaScript à appeler. Par exemple, si votre fonction JavaScript est function myTransform(inJson) { ...dostuff...}, le nom de la fonction est myTransform. Si vous ne souhaitez pas fournir de fonction, ne renseignez pas ce paramètre.
textWritePrefix Préfixe du chemin d'accès Cloud Storage pour spécifier l'emplacement d'écriture des données. Par exemple, gs://mybucket/somefolder/.

Exécuter le modèle Datastore vers texte Cloud Storage

Console

  1. Accédez à la page Dataflow Créer une tâche à partir d'un modèle.
  2. Accéder à la page Créer une tâche à partir d'un modèle
  3. Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
  4. Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. Le point de terminaison régional par défaut est us-central1.

    Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter une tâche Dataflow, consultez la page Emplacements Dataflow.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the Datastore to Text Files on Cloud Storage template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

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

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

gs://dataflow-templates/VERSION/Datastore_to_GCS_Text
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Datastore_to_GCS_Text \
    --parameters \
datastoreReadGqlQuery="SELECT * FROM DATASTORE_KIND",\
datastoreReadProjectId=DATASTORE_PROJECT_ID,\
datastoreReadNamespace=DATASTORE_NAMESPACE,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\
textWritePrefix=gs://BUCKET_NAME/output/

Remplacez les éléments suivants :

  • (API uniquement) PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • BUCKET_NAME : nom de votre bucket Cloud Storage
  • DATASTORE_PROJECT_ID : ID de projet Cloud dans lequel se trouve l'instance Datastore
  • DATASTORE_KIND : type de vos entités Datastore
  • DATASTORE_NAMESPACE : espace de noms de vos entités Datastore
  • JAVASCRIPT_FUNCTION : nom de votre fonction JavaScript
  • PATH_TO_JAVASCRIPT_UDF_FILE : chemin d'accès Cloud Storage au fichier .js contenant votre code JavaScript

API

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

gs://dataflow-templates/VERSION/Datastore_to_GCS_Text

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.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Datastore_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "datastoreReadGqlQuery": "SELECT * FROM DATASTORE_KIND"
       "datastoreReadProjectId": "DATASTORE_PROJECT_ID",
       "datastoreReadNamespace": "DATASTORE_NAMESPACE",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION",
       "textWritePrefix": "gs://BUCKET_NAME/output/"
   },
   "environment": { "zone": "us-central1-f" }
}

Remplacez les éléments suivants :

  • (API uniquement) PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • BUCKET_NAME : nom de votre bucket Cloud Storage
  • DATASTORE_PROJECT_ID : ID de projet Cloud dans lequel se trouve l'instance Datastore
  • DATASTORE_KIND : type de vos entités Datastore
  • DATASTORE_NAMESPACE : espace de noms de vos entités Datastore
  • JAVASCRIPT_FUNCTION : nom de votre fonction JavaScript
  • PATH_TO_JAVASCRIPT_UDF_FILE : chemin d'accès Cloud Storage au fichier .js contenant votre code JavaScript

Cloud Spanner vers Cloud Storage Avro

Le modèle Cloud Spanner vers Avro sur Cloud Storage est un pipeline par lots qui exporte une base de données Cloud Spanner complète vers Cloud Storage au format Avro. L'exportation d'une base de données Cloud Spanner crée un dossier dans le bucket que vous sélectionnez. Le dossier contient :

  • Un fichier spanner-export.json
  • Un fichier TableName-manifest.json pour chaque table de la base de données que vous avez exportée
  • Un ou plusieurs fichiers TableName.avro-#####-of-#####

Par exemple, l'exportation d'une base de données avec deux tables, Singers et Albums, crée l'ensemble de fichiers suivant :

  • Albums-manifest.json
  • Albums.avro-00000-of-00002
  • Albums.avro-00001-of-00002
  • Singers-manifest.json
  • Singers.avro-00000-of-00003
  • Singers.avro-00001-of-00003
  • Singers.avro-00002-of-00003
  • spanner-export.json

Conditions requises pour ce pipeline :

  • La base de données Cloud Spanner doit exister.
  • Le bucket Cloud Storage de sortie doit exister.
  • Outre les rôles IAM nécessaires pour exécuter les tâches Dataflow, vous devez également disposer des rôles IAM appropriés pour lire vos données Cloud Spanner et écrire dans votre bucket Cloud Storage.

Paramètres de modèle

Paramètres Description
instanceId ID d'instance de la base de données Cloud Spanner à exporter.
databaseId ID de base de données de la base de données Cloud Spanner que vous souhaitez exporter.
outputDir Le chemin d'accès Cloud Storage vers lequel vous souhaitez exporter les fichiers Avro. La tâche d'exportation crée un dépôt contenant les fichiers exportés sous ce chemin d'accès.
snapshotTime (Facultatif) Horodatage correspondant à la version de la base de données Cloud Spanner que vous souhaitez lire. L'horodatage doit être spécifié conformément au format RFC 3339 UTC "Zulu". Par exemple, 1990-12-31T23:59:60Z. L'horodatage doit être antérieur à la date et l'heure actuelles et l'Obsolescence maximale de l'horodatage s'applique.
spannerProjectId (Facultatif) ID du projet Google Cloud de la base de données Cloud Spanner à partir de laquelle vous souhaitez lire les données.

Exécuter le modèle Cloud Spanner vers fichiers Avro dans Cloud Storage

Console

  1. Accédez à la page Dataflow Créer une tâche à partir d'un modèle.
  2. Accéder à la page Créer une tâche à partir d'un modèle
  3. Dans le champ Nom de la tâche, saisissez un nom de tâche unique.

    Pour que la tâche s'affiche sur la page Instances Spanner de Cloud Console, le nom de la tâche doit correspondre au format suivant :

    cloud-spanner-export-SPANNER_INSTANCE_ID-SPANNER_DATABASE_NAME

    Remplacez l'élément suivant :

    • SPANNER_INSTANCE_ID : ID de votre instance Spanner
    • SPANNER_DATABASE_NAME : nom de votre base de données Spanner
  4. Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. Le point de terminaison régional par défaut est us-central1.

    Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter une tâche Dataflow, consultez la page Emplacements Dataflow.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the Cloud Spanner to Avro Files on Cloud Storage template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

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

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

gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro \
    --region DATAFLOW_REGION \
    --staging-location GCS_STAGING_LOCATION \
    --parameters \
instanceId=INSTANCE_ID,\
databaseId=DATABASE_ID,\
outputDir=GCS_DIRECTORY

Remplacez l'élément suivant :

  • DATAFLOW_REGION : région dans laquelle vous souhaitez exécuter la tâche Dataflow (par exemple, us-central1)
  • GCS_STAGING_LOCATION : chemin d'accès permettant d'écrire les fichiers temporaires (par exemple, gs://mybucket/temp)
  • INSTANCE_ID : votre ID d'instance Cloud Spanner
  • DATABASE_ID : votre ID de base de données Cloud Spanner
  • GCS_DIRECTORY : le chemin d'accès à Cloud Storage vers lequel les fichiers Avro sont exportés vers
  • JOB_NAME : nom de la tâche de votre choix

    Le nom de la tâche doit correspondre au format cloud-spanner-export-INSTANCE_ID -DATABASE_ID pour apparaître dans la section Cloud Spanner de Cloud Console.

API

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

gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro

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 et vous devez spécifier un tempLocation dans lequel vous disposez d'autorisations en écriture. Utilisez cet exemple de requête comme indiqué dans la section Utiliser l'API REST.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/DATAFLOW_REGION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro
{
   "jobName": "JOB_NAME",
   "parameters": {
       "instanceId": "INSTANCE_ID",
       "databaseId": "DATABASE_ID",
       "outputDir": "gs://GCS_DIRECTORY"
   }
}

Remplacez l'élément suivant :

  • PROJECT_ID : ID de votre projet
  • DATAFLOW_REGION : région dans laquelle vous souhaitez exécuter la tâche Dataflow (par exemple, us-central1)
  • GCS_STAGING_LOCATION : chemin d'accès permettant d'écrire les fichiers temporaires (par exemple, gs://mybucket/temp)
  • INSTANCE_ID : votre ID d'instance Cloud Spanner
  • DATABASE_ID : votre ID de base de données Cloud Spanner
  • GCS_DIRECTORY : le chemin d'accès à Cloud Storage vers lequel les fichiers Avro sont exportés vers
  • JOB_NAME : nom de la tâche de votre choix

    Le nom de la tâche doit correspondre au format cloud-spanner-export-INSTANCE_ID -DATABASE_ID pour apparaître dans la section Cloud Spanner de Cloud Console.

Cloud Spanner vers texte Cloud Storage

Le modèle Cloud Spanner vers texte Cloud Storage est un pipeline par lots qui lit les données d'une table Cloud Spanner et les écrit dans Cloud Storage sous forme de fichiers texte CSV.

Conditions requises pour ce pipeline :

  • La table d'entrée Spanner doit exister avant l'exécution du pipeline.

Paramètres de modèle

Paramètres Description
spannerProjectId ID du projet Google Cloud de la base de données Cloud Spanner à partir de laquelle vous souhaitez lire les données.
spannerDatabaseId ID de base de données de la table demandée.
spannerInstanceId ID d'instance de la table demandée.
spannerTable Table servant à lire les données.
textWritePrefix Répertoire d'écriture des fichiers texte de sortie. Ajoutez / à la fin. Par exemple, gs://mybucket/somefolder/.

Exécuter le modèle Cloud Spanner vers Texte Cloud Storage

Console

  1. Accédez à la page Dataflow Créer une tâche à partir d'un modèle.
  2. Accéder à la page Créer une tâche à partir d'un modèle
  3. Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
  4. Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. Le point de terminaison régional par défaut est us-central1.

    Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter une tâche Dataflow, consultez la page Emplacements Dataflow.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the Cloud Spanner to Text Files on Cloud Storage template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

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

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

gs://dataflow-templates/VERSION/Spanner_to_GCS_Text
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Spanner_to_GCS_Text \
    --parameters \
spannerProjectId=SPANNER_PROJECT_ID,\
spannerDatabaseId=DATABASE_ID,\
spannerInstanceId=INSTANCE_ID,\
spannerTable=TABLE_ID,\
textWritePrefix=gs://BUCKET_NAME/output/

Remplacez les éléments suivants :

  • (API uniquement) PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • SPANNER_PROJECT_ID : ID de projet Cloud de la base de données Spanner à partir de laquelle vous souhaitez lire les données
  • DATABASE_ID : ID de la base de données Spanner
  • BUCKET_NAME : nom du bucket Cloud Storage
  • INSTANCE_ID : ID d'instance Spanner
  • TABLE_ID : ID de la table Spanner
  • PATH_TO_JAVASCRIPT_UDF_FILE : chemin d'accès Cloud Storage au fichier .js contenant votre code JavaScript
  • JAVASCRIPT_FUNCTION : nom de votre fonction JavaScript

API

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

gs://dataflow-templates/VERSION/Spanner_to_GCS_Text

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.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Spanner_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "spannerProjectId": "SPANNER_PROJECT_ID",
       "spannerDatabaseId": "DATABASE_ID",
       "spannerInstanceId": "INSTANCE_ID",
       "spannerTable": "TABLE_ID",
       "textWritePrefix": "gs://BUCKET_NAME/output/"
   },
   "environment": { "zone": "us-central1-f" }
}

Remplacez les éléments suivants :

  • (API uniquement) PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • SPANNER_PROJECT_ID : ID de projet Cloud de la base de données Spanner à partir de laquelle vous souhaitez lire les données
  • DATABASE_ID : ID de la base de données Spanner
  • BUCKET_NAME : nom du bucket Cloud Storage
  • INSTANCE_ID : ID d'instance Spanner
  • TABLE_ID : ID de la table Spanner
  • PATH_TO_JAVASCRIPT_UDF_FILE : chemin d'accès Cloud Storage au fichier .js contenant votre code JavaScript
  • JAVASCRIPT_FUNCTION : nom de votre fonction JavaScript

Cloud Storage Avro vers Bigtable

Le modèle "Cloud Storage Avro vers Bigtable" est un pipeline qui lit les données à partir de fichiers Avro dans un bucket Cloud Storage et les écrit dans une table Bigtable. Vous pouvez utiliser ce modèle pour copier des données de Cloud Storage vers Bigtable.

Conditions requises pour ce pipeline :

  • La table Bigtable doit exister et posséder les mêmes familles de colonnes que dans les fichiers Avro exportés.
  • Les fichiers d'entrée Avro doivent exister dans un bucket Cloud Storage avant l'exécution du pipeline.
  • Bigtable attend un schéma spécifique des fichiers d'entrée Avro.

Paramètres de modèle

Paramètres Description
bigtableProjectId ID du projet Google Cloud de l'instance Bigtable vers laquelle vous souhaitez écrire les données.
bigtableInstanceId ID de l'instance Bigtable qui contient la table.
bigtableTableId ID de la table Bigtable à importer.
inputFilePattern Modèle de chemin d'accès Cloud Storage où se trouvent les données. Par exemple, gs://mybucket/somefolder/prefix*.

Exécuter le modèle Fichier Avro Cloud Storage vers Bigtable

Console

  1. Accédez à la page Dataflow Créer une tâche à partir d'un modèle.
  2. Accéder à la page Créer une tâche à partir d'un modèle
  3. Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
  4. Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. Le point de terminaison régional par défaut est us-central1.

    Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter une tâche Dataflow, consultez la page Emplacements Dataflow.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the Avro Files on Cloud Storage to Cloud Bigtable template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

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

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

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Bigtable
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Avro_to_Cloud_Bigtable \
    --parameters \
bigtableProjectId=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
inputFilePattern=INPUT_FILE_PATTERN

Remplacez les éléments suivants :

  • (API uniquement) PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • BIGTABLE_PROJECT_ID : ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les données
  • INSTANCE_ID : ID de l'instance Bigtable qui contient la table
  • TABLE_ID : ID de la table Bigtable à exporter
  • INPUT_FILE_PATTERN : modèle de chemin d'accès Cloud Storage où se trouvent les données (par exemple, gs://mybucket/somefolder/prefix*)

API

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

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Bigtable

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 et vous devez spécifier un tempLocation dans lequel vous disposez d'autorisations en écriture. Utilisez cet exemple de requête comme indiqué dans la section Utiliser l'API REST.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Avro_to_Cloud_Bigtable
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProjectId": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "inputFilePattern": "INPUT_FILE_PATTERN",
   },
   "environment": { "zone": "us-central1-f" }
}

Remplacez les éléments suivants :

  • (API uniquement) PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • BIGTABLE_PROJECT_ID : ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les données
  • INSTANCE_ID : ID de l'instance Bigtable qui contient la table
  • TABLE_ID : ID de la table Bigtable à exporter
  • INPUT_FILE_PATTERN : modèle de chemin d'accès Cloud Storage où se trouvent les données (par exemple, gs://mybucket/somefolder/prefix*)

Cloud Storage Avro vers Cloud Spanner

Le modèle de fichiers Avro Cloud Storage vers Cloud Spanner est un pipeline par lots qui lit les fichiers Avro exportés à partir de Cloud Spanner et stockés dans Cloud Storage, et qui les importe dans une base de données Cloud Spanner.

Conditions requises pour ce pipeline :

  • La base de données Cloud Spanner cible doit exister et être vide.
  • Vous devez disposer d'autorisations en lecture pour le bucket Cloud Storage et d'autorisations en écriture pour la base de données Cloud Spanner cible.
  • Le chemin d'accès à Cloud Storage en entrée doit exister et inclure un fichier spanner-export.json contenant une description JSON des fichiers à importer.

Paramètres de modèle

Paramètres Description
instanceId ID d'instance de la base de données Cloud Spanner.
databaseId ID de base de données de la base de données Cloud Spanner.
inputDir Chemin d'accès Cloud Storage à partir duquel les fichiers Avro sont importés.

Exécuter le modèle Fichier Avro Cloud Storage vers Cloud Spanner

Console

  1. Accédez à la page Dataflow Créer une tâche à partir d'un modèle.
  2. Accéder à la page Créer une tâche à partir d'un modèle
  3. Dans le champ Nom de la tâche, saisissez un nom de tâche unique.

    Pour que la tâche s'affiche sur la page Instances Spanner de Cloud Console, le nom de la tâche doit correspondre au format suivant :

    cloud-spanner-import-SPANNER_INSTANCE_ID-SPANNER_DATABASE_NAME

    Remplacez l'élément suivant :

    • SPANNER_INSTANCE_ID : ID de votre instance Spanner
    • SPANNER_DATABASE_NAME : nom de votre base de données Spanner
  4. Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. Le point de terminaison régional par défaut est us-central1.

    Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter une tâche Dataflow, consultez la page Emplacements Dataflow.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the Avro Files on Cloud Storage to Cloud Spanner template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

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

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

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner \
    --region DATAFLOW_REGION \
    --staging-location GCS_STAGING_LOCATION \
    --parameters \
instanceId=INSTANCE_ID,\
databaseId=DATABASE_ID,\
inputDir=GCS_DIRECTORY

Remplacez l'élément suivant :

  • (API uniquement)PROJECT_ID : ID de votre projet
  • DATAFLOW_REGION : région dans laquelle vous souhaitez exécuter la tâche Dataflow (par exemple, us-central1)
  • JOB_NAME : nom de la tâche de votre choix
  • INSTANCE_ID : ID de l'instance Spanner contenant la base de données
  • DATABASE_ID : ID de la base de données Spanner dans laquelle effectuer l'importation
  • (gcloud uniquement)GCS_STAGING_LOCATION : chemin d'accès pour l'écriture de fichiers temporaires (par exemple, gs://mybucket/temp)
  • GCS_DIRECTORY : chemin d'accès à Cloud Storage à partir duquel les fichiers Avro sont importés, par exemple, gs://mybucket/somefolder

API

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

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner

Cette requête nécessite une autorisation et vous devez spécifier un tempLocation dans lequel vous disposez d'autorisations en écriture. Utilisez cet exemple de requête comme indiqué dans la section Utiliser l'API REST.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/DATAFLOW_REGION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner
{
   "jobName": "JOB_NAME",
   "parameters": {
       "instanceId": "INSTANCE_ID",
       "databaseId": "DATABASE_ID",
       "inputDir": "gs://GCS_DIRECTORY"
   },
   "environment": {
       "machineType": "n1-standard-2"
   }
}

Remplacez l'élément suivant :

  • (API uniquement)PROJECT_ID : ID de votre projet
  • DATAFLOW_REGION : région dans laquelle vous souhaitez exécuter la tâche Dataflow (par exemple, us-central1)
  • JOB_NAME : nom de la tâche de votre choix
  • INSTANCE_ID : ID de l'instance Spanner contenant la base de données
  • DATABASE_ID : ID de la base de données Spanner dans laquelle effectuer l'importation
  • (gcloud uniquement)GCS_STAGING_LOCATION : chemin d'accès pour l'écriture de fichiers temporaires (par exemple, gs://mybucket/temp)
  • GCS_DIRECTORY : chemin d'accès à Cloud Storage à partir duquel les fichiers Avro sont importés, par exemple, gs://mybucket/somefolder

Cloud Storage Parquet vers Bigtable

Le modèle "Cloud Storage Parquet vers Bigtable" est un pipeline qui lit les données à partir de fichiers Parquet dans un bucket Cloud Storage et les écrit dans une table Bigtable. Vous pouvez utiliser ce modèle pour copier des données de Cloud Storage vers Bigtable.

Conditions requises pour ce pipeline :

  • La table Bigtable doit exister et posséder les mêmes familles de colonnes que dans les fichiers Parquet exportés.
  • Les fichiers d'entrée Parquet doivent exister dans un bucket Cloud Storage avant l'exécution du pipeline.
  • Bigtable attend un schéma spécifique des fichiers d'entrée Parquet.

Paramètres de modèle

Paramètres Description
bigtableProjectId ID du projet Google Cloud de l'instance Bigtable vers laquelle vous souhaitez écrire les données.
bigtableInstanceId ID de l'instance Bigtable qui contient la table.
bigtableTableId ID de la table Bigtable à importer.
inputFilePattern Modèle de chemin d'accès Cloud Storage où se trouvent les données. Par exemple, gs://mybucket/somefolder/prefix*.

Exécuter le modèle Fichier Parquet Cloud Storage vers Bigtable

Console

  1. Accédez à la page Dataflow Créer une tâche à partir d'un modèle.
  2. Accéder à la page Créer une tâche à partir d'un modèle
  3. Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
  4. Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. Le point de terminaison régional par défaut est us-central1.

    Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter une tâche Dataflow, consultez la page Emplacements Dataflow.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the Parquet Files on Cloud Storage to Cloud Bigtable template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

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

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

gs://dataflow-templates/VERSION/GCS_Parquet_to_Cloud_Bigtable
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Parquet_to_Cloud_Bigtable \
    --parameters \
bigtableProjectId=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
inputFilePattern=INPUT_FILE_PATTERN

Remplacez les éléments suivants :

  • (API uniquement) PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • BIGTABLE_PROJECT_ID : ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les données
  • INSTANCE_ID : ID de l'instance Bigtable qui contient la table
  • TABLE_ID : ID de la table Bigtable à exporter
  • INPUT_FILE_PATTERN : modèle de chemin d'accès Cloud Storage où se trouvent les données (par exemple, gs://mybucket/somefolder/prefix*)

API

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

gs://dataflow-templates/VERSION/GCS_Parquet_to_Cloud_Bigtable

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 et vous devez spécifier un tempLocation dans lequel vous disposez d'autorisations en écriture. Utilisez cet exemple de requête comme indiqué dans la section Utiliser l'API REST.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Parquet_to_Cloud_Bigtable
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProjectId": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "inputFilePattern": "INPUT_FILE_PATTERN",
   },
   "environment": { "zone": "us-central1-f" }
}

Remplacez les éléments suivants :

  • (API uniquement) PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • BIGTABLE_PROJECT_ID : ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les données
  • INSTANCE_ID : ID de l'instance Bigtable qui contient la table
  • TABLE_ID : ID de la table Bigtable à exporter
  • INPUT_FILE_PATTERN : modèle de chemin d'accès Cloud Storage où se trouvent les données (par exemple, gs://mybucket/somefolder/prefix*)

Cloud Storage SequenceFile vers Bigtable

Le modèle "Cloud Storage SequenceFile vers Bigtable" est un pipeline qui lit les données à partir de fichiers SequenceFile dans un bucket Cloud Storage et les écrit dans une table Bigtable. Vous pouvez utiliser ce modèle pour copier des données de Cloud Storage vers Bigtable.

Conditions requises pour ce pipeline :

  • La table Bigtable doit exister.
  • Les fichiers d'entrée SequenceFiles doivent exister dans un bucket Cloud Storage avant l'exécution du pipeline.
  • Les fichiers d'entrée SequenceFiles doivent avoir été exportés depuis Bigtable ou HBase.

Paramètres de modèle

Paramètres Description
bigtableProject ID du projet Google Cloud de l'instance Bigtable vers laquelle vous souhaitez écrire les données.
bigtableInstanceId ID de l'instance Bigtable qui contient la table.
bigtableTableId ID de la table Bigtable à importer.
bigtableAppProfileId ID du profil d'application Bigtable à utiliser pour l'importation. Si vous ne spécifiez pas de profil d'application, Bigtable utilise le profil d'application par défaut de l'instance.
sourcePattern Modèle de chemin d'accès Cloud Storage où se trouvent les données. Par exemple, gs://mybucket/somefolder/prefix*.

Exécuter le modèle SequenceFile Cloud Storage vers Bigtable

Console

  1. Accédez à la page Dataflow Créer une tâche à partir d'un modèle.
  2. Accéder à la page Créer une tâche à partir d'un modèle
  3. Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
  4. Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. Le point de terminaison régional par défaut est us-central1.

    Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter une tâche Dataflow, consultez la page Emplacements Dataflow.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the Parquet Files on Cloud Storage to Cloud Bigtable template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

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

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

gs://dataflow-templates/VERSION/GCS_SequenceFile_to_Cloud_Bigtable
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_SequenceFile_to_Cloud_Bigtable \
    --parameters \
bigtableProject=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
bigtableAppProfileId=APPLICATION_PROFILE_ID,\
sourcePattern=SOURCE_PATTERN

Remplacez les éléments suivants :

  • (API uniquement) PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • BIGTABLE_PROJECT_ID : ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les données
  • INSTANCE_ID : ID de l'instance Bigtable qui contient la table
  • TABLE_ID : ID de la table Bigtable à exporter
  • APPLICATION_PROFILE_ID : ID du profil d'application Bigtable à utiliser pour l'exportation
  • SOURCE_PATTERN : modèle de chemin d'accès Cloud Storage où se trouvent les données (par exemple, gs://mybucket/somefolder/prefix*)

API

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

gs://dataflow-templates/VERSION/GCS_SequenceFile_to_Cloud_Bigtable

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 et vous devez spécifier un tempLocation dans lequel vous disposez d'autorisations en écriture. Utilisez cet exemple de requête comme indiqué dans la section Utiliser l'API REST.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_SequenceFile_to_Cloud_Bigtable
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProject": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "bigtableAppProfileId": "APPLICATION_PROFILE_ID",
       "sourcePattern": "SOURCE_PATTERN",
   },
   "environment": { "zone": "us-central1-f" }
}

Remplacez les éléments suivants :

  • (API uniquement) PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • BIGTABLE_PROJECT_ID : ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les données
  • INSTANCE_ID : ID de l'instance Bigtable qui contient la table
  • TABLE_ID : ID de la table Bigtable à exporter
  • APPLICATION_PROFILE_ID : ID du profil d'application Bigtable à utiliser pour l'exportation
  • SOURCE_PATTERN : modèle de chemin d'accès Cloud Storage où se trouvent les données (par exemple, gs://mybucket/somefolder/prefix*)

Texte Cloud Storage vers BigQuery

Le pipeline Texte Cloud Storage vers BigQuery est un pipeline par lots qui vous permet de lire des fichiers texte stockés dans Cloud Storage, de les transformer à l'aide de la fonction définie par l'utilisateur (UDF) JavaScript que vous fournissez et d'ajouter le résultat à une table BigQuery.

Conditions requises pour ce pipeline :

  • Créez un fichier JSON décrivant votre schéma BigQuery.

    Assurez-vous qu'il existe un tableau JSON de niveau supérieur intitulé BigQuery Schema et que son contenu suit le modèle {"name": "COLUMN_NAME", "type": "DATA_TYPE"}.

    Le modèle de traitement par lots du texte Cloud Storage vers BigQuery n'est pas compatible avec l'importation de données dans les champs STRUCT (Enregistrement) de la table BigQuery cible.

    Le code JSON suivant décrit un exemple de schéma BigQuery:

    {
      "BigQuery Schema": [
        {
          "name": "location",
          "type": "STRING"
        },
        {
          "name": "name",
          "type": "STRING"
        },
        {
          "name": "age",
          "type": "STRING"
        },
        {
          "name": "color",
          "type": "STRING"
        },
        {
          "name": "coffee",
          "type": "STRING"
        }
      ]
    }
    
  • Créez un fichier JavaScript (.js) à l'aide de la fonction définie par l'utilisateur (UDF) qui fournit la logique pour transformer les lignes de texte. Votre fonction doit renvoyer une chaîne JSON.

    Par exemple, cette fonction divise chaque ligne d'un fichier CSV et renvoie une chaîne JSON après avoir transformé les valeurs.

    function transform(line) {
    var values = line.split(',');
    
    var obj = new Object();
    obj.location = values[0];
    obj.name = values[1];
    obj.age = values[2];
    obj.color = values[3];
    obj.coffee = values[4];
    var jsonString = JSON.stringify(obj);
    
    return jsonString;
    }
    

Paramètres de modèle

Paramètres Description
javascriptTextTransformFunctionName Nom de la fonction que vous souhaitez appeler à partir de votre fichier .js.
JSONPath Chemin d'accès gs:// vers le fichier JSON qui définit votre schéma BigQuery, stocké dans Cloud Storage. Par exemple, gs://path/to/my/schema.json.
javascriptTextTransformGcsPath Chemin d'accès gs:// vers le fichier JavaScript qui définit votre UDF. Par exemple, gs://path/to/my/javascript_function.js.
inputFilePattern Chemin d'accès gs:// vers le texte de Cloud Storage que vous souhaitez traiter. Par exemple, gs://path/to/my/text/data.txt.
outputTable Nom de la table BigQuery que vous souhaitez créer pour stocker vos données traitées. Si vous réutilisez une table BigQuery existante, les données sont ajoutées à la table de destination. Par exemple, my-project-name:my-dataset.my-table.
bigQueryLoadingTemporaryDirectory Répertoire temporaire du processus de chargement BigQuery. Par exemple, gs://my-bucket/my-files/temp_dir.

Exécuter le modèle Texte Cloud Storage vers BigQuery

Console

  1. Accédez à la page Dataflow Créer une tâche à partir d'un modèle.
  2. Accéder à la page Créer une tâche à partir d'un modèle
  3. Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
  4. Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. Le point de terminaison régional par défaut est us-central1.

    Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter une tâche Dataflow, consultez la page Emplacements Dataflow.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the Text Files on Cloud Storage to BigQuery (Batch) template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

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

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

gs://dataflow-templates/VERSION/GCS_Text_to_BigQuery
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_BigQuery \
    --parameters \
javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\
JSONPath=PATH_TO_BIGQUERY_SCHEMA_JSON,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
inputFilePattern=PATH_TO_TEXT_DATA,\
outputTable=BIGQUERY_TABLE,\
bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS

Remplacez l'élément suivant :

  • PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • JAVASCRIPT_FUNCTION : nom de votre fonction définie par l'utilisateur (UDF)
  • PATH_TO_BIGQUERY_SCHEMA_JSON : chemin d'accès Cloud Storage au fichier JSON contenant la définition du schéma
  • PATH_TO_JAVASCRIPT_UDF_FILE : chemin d'accès Cloud Storage au fichier .js contenant votre code JavaScript
  • PATH_TO_TEXT_DATA : chemin d'accès Cloud Storage à votre ensemble de données texte
  • BIGQUERY_TABLE : nom de votre table BigQuery
  • PATH_TO_TEMP_DIR_ON_GCS : chemin d'accès Cloud Storage au répertoire temporaire

API

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

gs://dataflow-templates/VERSION/GCS_Text_to_BigQuery

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.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Text_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION",
       "JSONPath": "PATH_TO_BIGQUERY_SCHEMA_JSON",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "inputFilePattern":"PATH_TO_TEXT_DATA",
       "outputTable":"BIGQUERY_TABLE",
       "bigQueryLoadingTemporaryDirectory": "PATH_TO_TEMP_DIR_ON_GCS"
   },
   "environment": { "zone": "us-central1-f" }
}

Remplacez l'élément suivant :

  • PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • JAVASCRIPT_FUNCTION : nom de votre fonction définie par l'utilisateur (UDF)
  • PATH_TO_BIGQUERY_SCHEMA_JSON : chemin d'accès Cloud Storage au fichier JSON contenant la définition du schéma
  • PATH_TO_JAVASCRIPT_UDF_FILE : chemin d'accès Cloud Storage au fichier .js contenant votre code JavaScript
  • PATH_TO_TEXT_DATA : chemin d'accès Cloud Storage à votre ensemble de données texte
  • BIGQUERY_TABLE : nom de votre table BigQuery
  • PATH_TO_TEMP_DIR_ON_GCS : chemin d'accès Cloud Storage au répertoire temporaire

Texte Cloud Storage vers Datastore

Le modèle Texte Cloud Storage vers Datastore est un pipeline par lots qui vous permet de lire des fichiers texte stockés dans Cloud Storage et d'écrire des entités encodées au format JSON dans Datastore. Chaque ligne des fichiers texte d'entrée doit être au format JSON spécifié.

Conditions requises pour ce pipeline :

  • Datastore doit être activé dans le projet de destination.

Paramètres de modèle

Paramètres Description
textReadPattern Modèle de chemin d'accès à Cloud Storage qui spécifie l'emplacement de vos fichiers de données textuelles. Par exemple, gs://mybucket/somepath/*.json.
javascriptTextTransformGcsPath Modèle de chemin d'accès Cloud Storage contenant tout votre code JavaScript. Par exemple, gs://mybucket/mytransforms/*.js. Si vous ne souhaitez pas fournir de fonction, ne renseignez pas ce paramètre.
javascriptTextTransformFunctionName Nom de la fonction JavaScript à appeler. Par exemple, si votre fonction JavaScript est function myTransform(inJson) { ...dostuff...}, le nom de la fonction est myTransform. Si vous ne souhaitez pas fournir de fonction, ne renseignez pas ce paramètre.
datastoreWriteProjectId ID du projet Google Cloud dans lequel écrire les entités Datastore
datastoreHintNumWorkers (Facultatif) Informations sur le nombre attendu de nœuds de calcul dans l'étape de limitation de la montée en puissance progressive de Datastore. La valeur par défaut est 500.
errorWritePath Fichier de sortie de journal d'erreurs à utiliser pour les échecs d'écriture en cours de traitement. Par exemple, gs://bucket-name/errors.txt.

Exécuter le modèle Texte Cloud Storage vers Datastore

Console

  1. Accédez à la page Dataflow Créer une tâche à partir d'un modèle.
  2. Accéder à la page Créer une tâche à partir d'un modèle
  3. Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
  4. Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. Le point de terminaison régional par défaut est us-central1.

    Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter une tâche Dataflow, consultez la page Emplacements Dataflow.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the Text Files on Cloud Storage to Datastore template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

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

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

gs://dataflow-templates/VERSION/GCS_Text_to_Datastore
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_Datastore \
    --parameters \
textReadPattern=PATH_TO_INPUT_TEXT_FILES,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\
datastoreWriteProjectId=PROJECT_ID,\
errorWritePath=ERROR_FILE_WRITE_PATH

Remplacez l'élément suivant :

  • PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • PATH_TO_INPUT_TEXT_FILES : modèle de fichiers d'entrée sur Cloud Storage
  • JAVASCRIPT_FUNCTION : nom de votre fonction JavaScript
  • PATH_TO_JAVASCRIPT_UDF_FILE : chemin d'accès Cloud Storage au fichier .js contenant votre code JavaScript
  • ERROR_FILE_WRITE_PATH : chemin d'accès vers le fichier d'erreur sur Cloud Storage de votre choix

API

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

gs://dataflow-templates/VERSION/GCS_Text_to_Datastore

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.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Text_to_Datastore
{
   "jobName": "JOB_NAME",
   "parameters": {
       "textReadPattern": "PATH_TO_INPUT_TEXT_FILES",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "JAVASCRIPT_FUNCTION",
       "datastoreWriteProjectId": "PROJECT_ID",
       "errorWritePath": "ERROR_FILE_WRITE_PATH"
   },
   "environment": { "zone": "us-central1-f" }
}

Remplacez l'élément suivant :

  • PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • PATH_TO_INPUT_TEXT_FILES : modèle de fichiers d'entrée sur Cloud Storage
  • JAVASCRIPT_FUNCTION : nom de votre fonction JavaScript
  • PATH_TO_JAVASCRIPT_UDF_FILE : chemin d'accès Cloud Storage au fichier .js contenant votre code JavaScript
  • ERROR_FILE_WRITE_PATH : chemin d'accès vers le fichier d'erreur sur Cloud Storage de votre choix

Texte Cloud Storage vers Pub/Sub (lot)

Ce modèle crée un pipeline par lots qui lit les enregistrements à partir de fichiers texte stockés dans Cloud Storage et les publie vers un sujet Pub/Sub. Le modèle peut être utilisé pour publier les enregistrements inclus dans un fichier CSV ou dans un fichier délimité par un retour à la ligne contenant des enregistrements JSON vers un sujet Cloud Pub/Sub, afin qu'ils soient traités en temps réel. Vous pouvez utiliser ce modèle pour relire les données dans Pub/Sub.

Ce modèle ne définit aucun horodatage sur les enregistrements individuels. L'heure de l'événement correspond à l'heure de publication pendant l'exécution. Si votre pipeline dépend d'une heure d'événement précise pour le traitement, vous ne devez pas l'utiliser.

Conditions requises pour ce pipeline :

  • Les fichiers à lire doivent être au format JSON ou CSV délimité par une nouvelle ligne. Les enregistrements qui occupent plusieurs lignes dans les fichiers source peuvent poser des problèmes en aval, car chaque ligne des fichiers sera publiée sous forme de message dans Pub/Sub.
  • Le sujet Pub/Sub doit exister avant l'exécution du pipeline.

Paramètres de modèle

Paramètres Description
inputFilePattern Modèle de fichier d'entrée à lire. Par exemple, gs://bucket-name/files/*.json.
outputTopic Sujet d'entrée Pub/Sub dans lequel écrire. Le nom doit être au format projects/<project-id>/topics/<topic-name>.

Exécuter le modèle Texte Cloud Storage vers Pub/Sub (lot)

Console

  1. Accédez à la page Dataflow Créer une tâche à partir d'un modèle.
  2. Accéder à la page Créer une tâche à partir d'un modèle
  3. Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
  4. Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. Le point de terminaison régional par défaut est us-central1.

    Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter une tâche Dataflow, consultez la page Emplacements Dataflow.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the Text Files on Cloud Storage to Pub/Sub (Batch) template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

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

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

gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_PubSub
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_Cloud_PubSub \
    --parameters \
inputFilePattern=gs://BUCKET_NAME/files/*.json,\
outputTopic=projects/PROJECT_ID/topics/TOPIC_NAME

Remplacez l'élément suivant :

  • PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • TOPIC_NAME : nom de votre sujet Pub/Sub
  • BUCKET_NAME : nom de votre bucket Cloud Storage

API

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

gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_PubSub

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.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Text_to_Cloud_PubSub
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputFilePattern": "gs://BUCKET_NAME/files/*.json",
       "outputTopic": "projects/PROJECT_ID/topics/TOPIC_NAME"
   },
   "environment": { "zone": "us-central1-f" }
}

Remplacez l'élément suivant :

  • PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • TOPIC_NAME : nom de votre sujet Pub/Sub
  • BUCKET_NAME : nom de votre bucket Cloud Storage

Texte Cloud Storage vers Cloud Spanner

Le modèle Texte Cloud Storage vers Cloud Spanner est un pipeline par lots qui lit les fichiers texte CSV dans Cloud Storage et les importe dans une base de données Cloud Spanner.

Conditions requises pour ce pipeline :

  • La base de données et la table Cloud Spanner cibles doivent exister.
  • Vous devez disposer d'autorisations en lecture pour le bucket Cloud Storage et d'autorisations en écriture pour la base de données Cloud Spanner cible.
  • Le chemin d'accès Cloud Storage en entrée contenant les fichiers CSV doit exister.
  • Vous devez créer un fichier manifeste d'importation contenant une description JSON des fichiers CSV, puis le stocker dans Cloud Storage.
  • Si la base de données Cloud Spanner cible possède déjà un schéma, toutes les colonnes spécifiées dans le fichier manifeste doivent disposer des mêmes types de données que les colonnes correspondantes dans le schéma de la base de données cible.
  • Le fichier manifeste, encodé au format ASCII ou UTF-8, doit respecter le format suivant :

  • Les fichiers texte à importer doivent être au format CSV, avec un encodage ASCII ou UTF-8. Nous vous déconseillons d'utiliser l'indicateur d'ordre des octets (BOM) dans les fichiers encodés au format UTF-8.
  • Les données doivent correspondre à l'un des typessuivants :
    • INT64
    • FLOAT64
    • BOOL
    • STRING
    • DATE
    • TIMESTAMP

Paramètres de modèle

Paramètres Description
instanceId ID d'instance de la base de données Cloud Spanner.
databaseId ID de base de données de la base de données Cloud Spanner.
importManifest Chemin d'accès Cloud Storage au fichier manifeste d'importation.
columnDelimiter Séparateur de colonne utilisé par le fichier source. La valeur par défaut est ,.
fieldQualifier Caractère devant entourer toutes les valeurs du fichier source contenant le code columnDelimiter. La valeur par défaut est ".
trailingDelimiter Indique si les lignes des fichiers sources comportent des séparateurs finaux (c'est-à-dire si le caractère columnDelimiter apparaît à la fin de chaque ligne, après la dernière valeur de colonne). La valeur par défaut est true.
escape Caractère d'échappement utilisé par le fichier source. Par défaut, ce paramètre n'est pas défini et le modèle n'utilise pas de caractère d'échappement.
nullString Chaîne représentant une valeur NULL. Par défaut, ce paramètre n'est pas défini et le modèle n'utilise pas de chaîne NULL.
dateFormat Format utilisé pour l'analyse des colonnes de date. Par défaut, le pipeline tente d'analyser les colonnes de date au format yyyy-M-d[' 00:00:00'] (par exemple, 2019-01-31 ou 2019-1-1 00:00:00). Si votre format de date est différent, spécifiez-le à l'aide des modèles java.time.format.DateTimeFormatter.
timestampFormat Format utilisé pour l'analyse des colonnes d'horodatage. Si l'horodatage est un entier long, il est analysé selon l'epoch Unix. Dans le cas contraire, il est analysé comme chaîne au format java.time.format.DateTimeFormatter.ISO_INSTANT. Dans les autres cas, spécifiez votre propre chaîne de modèle (par exemple, MMM dd yyyy HH:mm:ss.SSSVV pour les horodatages au format "Jan 21 1998 01:02:03.456+08:00".).

Si vous devez utiliser des formats de date ou d'horodatage personnalisés, assurez-vous qu'ils constituent des modèles java.time.format.DateTimeFormatter valides. Le tableau suivant présente des exemples supplémentaires de formats personnalisés pour les colonnes de date et d'horodatage :

Type Valeur d'entrée Format Remarque
DATE 2011-3-31 Par défaut, le modèle peut analyser ce format. Vous n'avez pas besoin de spécifier le paramètre dateFormat.
DATE 2011-3-31 00:00:00 Par défaut, le modèle peut analyser ce format. Vous n'avez pas besoin de spécifier le format. Si vous le souhaitez, vous pouvez utiliser le format yyyy-M-d' 00:00:00'.
DATE 01 Apr, 18 dd MMM, yy
DATE Wednesday, April 3, 2019 AD EEEE, LLLL d, yyyy G
TIMESTAMP 2019-01-02T11:22:33Z
2019-01-02T11:22:33.123Z
2019-01-02T11:22:33.12356789Z
Le format par défaut ISO_INSTANT permet d'analyser ce type d'horodatage. Vous n'avez pas besoin de spécifier le paramètre timestampFormat.
TIMESTAMP 1568402363 Par défaut, le modèle peut analyser ce type d'horodatage et le traiter selon l'epoch Unix.
TIMESTAMP Tue, 3 Jun 2008 11:05:30 GMT EEE, d MMM yyyy HH:mm:ss VV
TIMESTAMP 2018/12/31 110530.123PST yyyy/MM/dd HHmmss.SSSz
TIMESTAMP 2019-01-02T11:22:33Z ou 2019-01-02T11:22:33.123Z yyyy-MM-dd'T'HH:mm:ss[.SSS]VV Si la colonne d'entrée est un mélange entre 2019-01-02T11:22:33Z et 2019-01-02T11:22:33.123Z, le format par défaut peut analyser ce type d'horodatage. Vous n'avez pas besoin de spécifier votre propre format. Vous pouvez exploiter le format yyyy-MM-dd'T'HH:mm:ss[.SSS]VV dans ces deux cas. Vous ne pouvez pas utiliser le format yyyy-MM-dd'T'HH:mm:ss[.SSS]'Z', car le suffixe "Z" doit être analysé en tant qu'ID de fuseau horaire, et non en tant que littéral de caractères. En interne, la colonne d'horodatage est convertie en élément java.time.Instant. Par conséquent, elle doit être spécifiée au format UTC ou associée à des informations de fuseau horaire. Il est impossible d'analyser le format date/heure local, tel que 2019-01-02 11:22:33, en tant qu'élément java.time.Instant valide.

Exécuter le modèle Fichiers texte dans Cloud Storage vers Cloud Spanner

Console

  1. Accédez à la page Dataflow Créer une tâche à partir d'un modèle.
  2. Accéder à la page Créer une tâche à partir d'un modèle
  3. Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
  4. Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. Le point de terminaison régional par défaut est us-central1.

    Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter une tâche Dataflow, consultez la page Emplacements Dataflow.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the Text Files on Cloud Storage to Cloud Spanner template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

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

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

gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_Spanner
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_Spanner \
    --region DATAFLOW_REGION \
    --parameters \
instanceId=INSTANCE_ID,\
databaseId=DATABASE_ID,\
importManifest=GCS_PATH_TO_IMPORT_MANIFEST

Remplacez l'élément suivant :

  • DATAFLOW_REGION : région dans laquelle vous souhaitez exécuter la tâche Dataflow (par exemple, us-central1)
  • INSTANCE_ID : votre ID d'instance Cloud Spanner
  • DATABASE_ID : votre ID de base de données Cloud Spanner
  • GCS_PATH_TO_IMPORT_MANIFEST : chemin d'accès Cloud Storage au fichier manifeste d'importation
  • JOB_NAME : nom de la tâche de votre choix

API

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

gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_Spanner

Cette requête nécessite une autorisation et vous devez spécifier un tempLocation dans lequel vous disposez d'autorisations en écriture. Utilisez cet exemple de requête comme indiqué dans la section Utiliser l'API REST.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/DATAFLOW_REGION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_Spanner

{
   "jobName": "JOB_NAME",
   "parameters": {
       "instanceId": "INSTANCE_ID",
       "databaseId": "DATABASE_ID",
       "importManifest": "GCS_PATH_TO_IMPORT_MANIFEST"
   },
   "environment": {
       "machineType": "n1-standard-2"
   }
}

Remplacez l'élément suivant :

  • PROJECT_ID : ID de votre projet
  • DATAFLOW_REGION : région dans laquelle vous souhaitez exécuter la tâche Dataflow (par exemple, us-central1)
  • INSTANCE_ID : votre ID d'instance Cloud Spanner
  • DATABASE_ID : votre ID de base de données Cloud Spanner
  • GCS_PATH_TO_IMPORT_MANIFEST : chemin d'accès Cloud Storage au fichier manifeste d'importation
  • JOB_NAME : nom de la tâche de votre choix

Cloud Storage vers Elasticsearch

Le modèle Cloud Storage vers Elasticsearch est un pipeline par lots qui lit les données à partir de fichiers csv stockés dans un bucket Cloud Storage et les écrit dans Elasticsearch sous forme de documents JSON.

Conditions requises pour ce pipeline :

  • Le bucket Cloud Storage doit exister.
  • Un hôte Elasticsearch sur une instance GCP ou sur Elasticsearch Cloud accessible depuis Dataflow doit exister.
  • Une table BigQuery pour la sortie d'erreur doit exister.

Paramètres de modèle

Paramètres Description
inputFileSpec Modèle de fichier Cloud Storage permettant de rechercher des fichiers CSV. Exemple : gs://mybucket/test-*.csv.
connectionUrl URL Elasticsearch au format https://hostname:[port], ou spécifiez CloudID si vous utilisez Elastic Cloud.
apiKey Clé API encodée en base64 utilisée pour l'authentification.
index Index Elasticsearch vers lequel les requêtes seront émises, tel que my-index.
deadletterTable La table de lettres mortes BigQuery à laquelle envoyer les insertions ayant échoué. Exemple : <your-project>:<your-dataset>.<your-table-name>.
containsHeaders [Facultatif] Valeur booléenne indiquant si les en-têtes sont inclus dans le fichier CSV. true par défaut.
delimiter [Facultatif] Délimiteur utilisé par le fichier CSV. Exemple : ,
csvFormat [Facultatif] Format CSV conforme au format CSV Apache Commons. Valeur par défaut : Default
jsonSchemaPath [Facultatif] Schéma du chemin d'accès au fichier JSON. Valeur par défaut : null
largeNumFiles [Facultatif] Définissez cette valeur sur "true" si le nombre de fichiers est de l'ordre de plusieurs dizaines de milliers. Valeur par défaut : false
javascriptTextTransformGcsPath [Facultatif] URL complète du fichier .js. Par exemple, gs://your-bucket/your-function.js.
javascriptTextTransformFunctionName [Facultatif] Nom de la fonction JavaScript à appeler. Par exemple, si votre fonction JavaScript est myTransform(inJson) { .../*dostuff*/...}, le nom de la fonction est myTransform.
batchSize [Facultatif] Taille de lot en nombre de documents. Valeur par défaut : 1000
batchSizeBytes [Facultatif] Taille de lot en octets. Valeur par défaut : 5242880 (5 Mo).
maxRetryAttempts [Facultatif] Nombre maximal de nouvelles tentatives à dépasser, doit être supérieur 0. Par défaut : aucune nouvelle tentative.
maxRetryDuration [Facultatif] Durée maximale de la nouvelle tentative en millisecondes (doit être supérieure à 0). Par défaut : aucune nouvelle tentative.
csvFileEncoding [Facultatif] Encodage des fichiers CSV.

Exécuter le modèle Cloud Storage vers Elasticsearch

Console

  1. Accédez à la page Dataflow Créer une tâche à partir d'un modèle.
  2. Accéder à la page Créer une tâche à partir d'un modèle
  3. Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
  4. Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. Le point de terminaison régional par défaut est us-central1.

    Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter une tâche Dataflow, consultez la page Emplacements Dataflow.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the Cloud Storage to Elasticsearch template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

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

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

gs://dataflow-templates/VERSION/flex/GCS_To_Elasticsearch
gcloud beta dataflow flex-template run JOB_NAME \
    --project=PROJECT_ID\
    --region=REGION_NAME \
    --template-file-gcs-location=gs://dataflow-templates/latest/flex/GCS_To_Elasticsearch \
    --parameters \
inputFileSpec=INPUT_FILE_SPEC,\
connectionUrl=CONNECTION_URL,\
apiKey=APIKEY,\
index=INDEX,\
deadletterTable=DEADLETTER_TABLE,\

Remplacez l'élément suivant :

  • PROJECT_ID : ID de votre projet de modèle
  • JOB_NAME : nom de la tâche de votre choix
  • REGION_NAME : nom de la région Dataflow. Par exemple : us-central1
  • INPUT_FILE_SPEC : modèle de votre fichier Cloud Storage.
  • CONNECTION_URL : URL Elasticsearch.
  • APIKEY : clé API encodée en base64 pour l'authentification.
  • INDEX : votre index Elasticsearch.
  • DEADLETTER_TABLE : votre table BigQuery.

API

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

gs://dataflow-templates/VERSION/flex/GCS_To_Elasticsearch

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.

POST  https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch
{
   "launch_parameter": {
      "jobName": "JOB_NAME",
      "parameters": {
          "inputFileSpec": "INPUT_FILE_SPEC",
          "connectionUrl": "CONNECTION_URL",
          "apiKey": "APIKEY",
          "index": "INDEX",
          "deadletterTable": "DEADLETTER_TABLE"
      },
      "containerSpecGcsPath": "gs://dataflow-templates/latest/flex/GCS_To_Elasticsearch",
   }
}

Remplacez l'élément suivant :

  • PROJECT_ID : ID de votre projet de modèle
  • JOB_NAME : nom de la tâche de votre choix
  • LOCATION : nom de la région Dataflow. Par exemple : us-central1
  • INPUT_FILE_SPEC : modèle de votre fichier Cloud Storage.
  • CONNECTION_URL : URL Elasticsearch.
  • APIKEY : clé API encodée en base64 pour l'authentification.
  • INDEX : votre index Elasticsearch.
  • DEADLETTER_TABLE : votre table BigQuery.

Java Database Connectivity (JDBC) vers BigQuery

Le modèle JDBC vers BigQuery est un pipeline par lots qui copie les données d'une table de base de données relationnelle vers une table BigQuery existante. Ce pipeline utilise JDBC pour se connecter à la base de données relationnelle. Vous pouvez utiliser ce modèle pour copier des données de toute base de données relationnelle contenant les pilotes JDBC disponibles dans BigQuery. Pour obtenir une couche supplémentaire de protection, vous pouvez également transmettre une clé Cloud KMS chiffrée avec des paramètres de nom d'utilisateur, de mot de passe et de chaîne de connexion encodés en base64. Pour en savoir plus sur le chiffrement des paramètres de nom d'utilisateur, de mot de passe et de chaîne de connexion, consultez la page sur le point de terminaison du chiffrement de l'API Cloud KMS.

Conditions requises pour ce pipeline :

  • Les pilotes JDBC de la base de données relationnelle doivent être disponibles.
  • La table BigQuery doit exister avant l'exécution du pipeline.
  • La table BigQuery doit avoir un schéma compatible.
  • La base de données relationnelle doit être accessible à partir du sous-réseau dans lequel Dataflow est exécuté.

Paramètres de modèle

Paramètres Description
driverJars Liste des fichiers JAR du pilote, séparés par une virgule. Par exemple, gs://<my-bucket>/driver_jar1.jar,gs://<my-bucket>/driver_jar2.jar.
driverClassName Nom de la classe du pilote JDBC. Par exemple, com.mysql.jdbc.Driver.
connectionURL Chaîne d'URL de connexion JDBC. Par exemple, jdbc:mysql://some-host:3306/sampledb. Peut être transmis en tant que chaîne encodée en base64 et chiffrée avec une clé Cloud KMS.
query Requête à exécuter sur la source pour extraire les données. Par exemple, select * from sampledb.sample_table.
outputTable Emplacement de la table de sortie BigQuery, au format <my-project>:<my-dataset>.<my-table>.
bigQueryLoadingTemporaryDirectory Répertoire temporaire du processus de chargement BigQuery. Par exemple, gs://<my-bucket>/my-files/temp_dir.
connectionProperties (Facultatif) Chaîne de propriétés à utiliser pour la connexion JDBC. Par exemple, unicode=true&characterEncoding=UTF-8.
username (Facultatif) Nom d'utilisateur à utiliser pour la connexion JDBC. Peut être transmis en tant que chaîne encodée en base64 et chiffrée avec une clé Cloud KMS.
password (Facultatif) Mot de passe à utiliser pour la connexion JDBC. Peut être transmis en tant que chaîne encodée en base64 et chiffrée avec une clé Cloud KMS.
KMSEncryptionKey (Facultatif) Clé de chiffrement Cloud KMS permettant de déchiffrer le nom d'utilisateur, le mot de passe et la chaîne de connexion. Si la clé Cloud KMS est transmise, le nom d'utilisateur, le mot de passe et la chaîne de connexion doivent tous être transmis de manière chiffrée.

Exécuter le modèle JDBC vers BigQuery

Console

  1. Accédez à la page Dataflow Créer une tâche à partir d'un modèle.
  2. Accéder à la page Créer une tâche à partir d'un modèle
  3. Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
  4. Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. Le point de terminaison régional par défaut est us-central1.

    Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter une tâche Dataflow, consultez la page Emplacements Dataflow.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the JDBC to BigQuery template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

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

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

gs://dataflow-templates/VERSION/Jdbc_to_BigQuery
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Jdbc_to_BigQuery \
    --parameters \
driverJars=DRIVER_PATHS,\
driverClassName=DRIVER_CLASS_NAME,\
connectionURL=JDBC_CONNECTION_URL,\
query=SOURCE_SQL_QUERY,\
outputTable=PROJECT_ID:DATASET.TABLE_NAME,
bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS,\
connectionProperties=CONNECTION_PROPERTIES,\
username=CONNECTION_USERNAME,\
password=CONNECTION_PASSWORD,\
KMSEncryptionKey=KMS_ENCRYPTION_KEY

Remplacez l'élément suivant :

  • PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • DRIVER_PATHS : chemin(s) d'accès Cloud Storage séparé(s) par des virgules vers le(s) pilote(s) JDBC
  • DRIVER_CLASS_NAME : nom de classe du pilote
  • JDBC_CONNECTION_URL : URL de connexion JDBC
  • SOURCE_SQL_QUERY : requête SQL à exécuter sur la base de données source
  • DATASET : votre ensemble de données BigQuery, et TABLE_NAME : le nom de votre table BigQuery
  • PATH_TO_TEMP_DIR_ON_GCS : chemin d'accès Cloud Storage au répertoire temporaire
  • CONNECTION_PROPERTIES : les propriétés de connexion JDBC, le cas échéant
  • CONNECTION_USERNAME : nom d'utilisateur de la connexion JDBC
  • CONNECTION_PASSWORD : mot de passe de la connexion JDBC
  • KMS_ENCRYPTION_KEY : clé de chiffrement Cloud KMS

API

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

gs://dataflow-templates/VERSION/Jdbc_to_BigQuery

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.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Jdbc_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "driverJars": "DRIVER_PATHS",
       "driverClassName": "DRIVER_CLASS_NAME",
       "connectionURL": "JDBC_CONNECTION_URL",
       "query": "SOURCE_SQL_QUERY",
       "outputTable": "PROJECT_ID:DATASET.TABLE_NAME",
       "bigQueryLoadingTemporaryDirectory": "PATH_TO_TEMP_DIR_ON_GCS",
       "connectionProperties": "CONNECTION_PROPERTIES",
       "username": "CONNECTION_USERNAME",
       "password": "CONNECTION_PASSWORD",
       "KMSEncryptionKey":"KMS_ENCRYPTION_KEY"
   },
   "environment": { "zone": "us-central1-f" }
}

Remplacez l'élément suivant :

  • PROJECT_ID : ID de votre projet
  • JOB_NAME : nom de la tâche de votre choix
  • DRIVER_PATHS : chemin(s) d'accès Cloud Storage séparé(s) par des virgules vers le(s) pilote(s) JDBC
  • DRIVER_CLASS_NAME : nom de classe du pilote
  • JDBC_CONNECTION_URL : URL de connexion JDBC
  • SOURCE_SQL_QUERY : requête SQL à exécuter sur la base de données source
  • DATASET : votre ensemble de données BigQuery, et TABLE_NAME : le nom de votre table BigQuery
  • PATH_TO_TEMP_DIR_ON_GCS : chemin d'accès Cloud Storage au répertoire temporaire
  • CONNECTION_PROPERTIES : les propriétés de connexion JDBC, le cas échéant
  • CONNECTION_USERNAME : nom d'utilisateur de la connexion JDBC
  • CONNECTION_PASSWORD : mot de passe de la connexion JDBC
  • KMS_ENCRYPTION_KEY : clé de chiffrement Cloud KMS

Apache Cassandra vers Cloud Bigtable

Le modèle Apache Cassandra vers Cloud Bigtable copie une table d'Apache Cassandra vers Cloud Bigtable. Ce modèle nécessite une configuration minimale et réplique la structure de la table Cassandra aussi fidèlement que possible dans Cloud Bigtable.

Le modèle Apache Cassandra vers Cloud Bigtable est utile pour les tâches suivantes :

  • Migrer une base de données Apache Cassandra lorsqu'un temps d'arrêt de courte durée est toléré
  • Répliquer périodiquement des tables Cassandra dans Cloud Bigtable à des fins de diffusion mondiale

Conditions requises pour ce pipeline :

  • La table Bigtable cible doit exister avant l'exécution du pipeline.
  • Une connexion réseau doit être établie entre les nœuds de calcul Dataflow et les nœuds Apache Cassandra.

Conversion des types de données

Le modèle Apache Cassandra vers Cloud Bigtable convertit automatiquement les types de données Apache Cassandra en types de données Cloud Bigtable.

La plupart des données de type primitif sont représentées de la même manière dans Cloud Bigtable et Apache Cassandra. Toutefois, les données de type primitif suivantes présentent des différences :

  • Date et Timestamp sont convertis en objets DateTime.
  • UUID est converti en String.
  • Varint est converti en BigDecimal.

En outre, Apache Cassandra accepte de manière native des types de données plus complexes, tels que Tuple, List, Set et Map. Le type Tuple n'est pas compatible avec ce pipeline, car il n'existe pas de type correspondant dans Apache Beam.

Par exemple, dans Apache Cassandra, vous pouvez avoir une colonne de type List appelée "mylist" et des valeurs semblables à celles du tableau suivant :

row mylist
1 (a,b,c)

Le pipeline étend les données de cette colonne dans trois colonnes différentes (appelées "qualificatifs de colonne" dans Cloud Bigtable). Les colonnes sont nommées "mylist", mais le pipeline ajoute l'index de l'