Modèles Dataflow de traitement par lots fournis par Google

Google fournit un ensemble de modèles Dataflow Open Source.

Ces modèles Dataflow peuvent vous aider à traiter des tâches de données volumineuses, y compris l'importation, l'exportation, la sauvegarde et la restauration de données, ainsi que les opérations d'API groupées, le tout sans avoir à utiliser un environnement de développement dédié. Les modèles sont basés sur Apache Beam et exploitent Dataflow pour transformer les données.

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

Dans le shell ou le terminal, exécutez le modèle :

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

Remplacez les éléments suivants :

  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/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 éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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

Dans le shell ou le terminal, exécutez le modèle :

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

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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

API

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

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/VERSION/flex/BigQuery_to_Parquet",
   }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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

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 Google Cloud 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, 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
propertyAsIndex (Facultatif) Propriété du document indexée dont la valeur spécifie les métadonnées _index à inclure dans le document de la requête groupée (prioritaire sur une UDF _index). Valeur par défaut = none
propertyAsId (Facultatif) Propriété du document indexée dont la valeur spécifie les métadonnées _id à inclure dans le document de la requête groupée (prioritaire sur une UDF _id). Valeur par défaut = none
javaScriptIndexFnGcsPath (Facultatif) Chemin d'accès Cloud Storage à la source JavaScript définie par l'utilisateur pour une fonction qui spécifie les métadonnées _index à inclure dans le document de la requête groupée. Valeur par défaut = none
javaScriptIndexFnName (Facultatif) Nom de la fonction JavaScript définie par l'utilisateur pour la fonction qui spécifie les métadonnées _index à inclure dans le document de requête groupée. Valeur par défaut = none
javaScriptIdFnGcsPath (Facultatif) Chemin d'accès Cloud Storage à la source JavaScript définie par l'utilisateur pour une fonction qui spécifie les métadonnées _id à inclure dans le document de la requête groupée. Valeur par défaut = none
javaScriptIdFnName (Facultatif) Nom de la fonction JavaScript définie par l'utilisateur pour la fonction qui spécifie les métadonnées _id à inclure dans le document de requête groupée. Valeur par défaut = none
javaScriptTypeFnGcsPath (Facultatif) Chemin d'accès Cloud Storage à la source JavaScript définie par l'utilisateur pour une fonction qui spécifie les métadonnées _type à inclure dans le document de la requête groupée. Valeur par défaut = none
javaScriptTypeFnName (Facultatif) Nom de la fonction JavaScript définie par l'utilisateur pour la fonction qui spécifie les métadonnées _type à inclure dans le document de requête groupée. Valeur par défaut = none
javaScriptIsDeleteFnGcsPath (Facultatif) Chemin d'accès Cloud Storage à la source JavaScript définie par l'utilisateur pour la fonction qui déterminera si le document doit être supprimé plutôt que d'être inséré ou mis à jour. La fonction doit renvoyer une valeur de chaîne "true" ou "false". Valeur par défaut = none
javaScriptIsDeleteFnName (Facultatif) Nom de la fonction JavaScript définie par l'utilisateur pour la fonction qui déterminera si le document doit être supprimé plutôt que d'être inséré ou mis à jour. La fonction doit renvoyer une valeur de chaîne "true" ou "false". Valeur par défaut = none
usePartialUpdate (Facultatif) Indique si les requêtes partielles doivent être utilisées (mises à jour plutôt que créées ou indexées, et autoriser les documents partiels) avec des requêtes Elasticsearch. Valeur par défaut : false
bulkInsertMethod (Facultatif) Indique s'il faut utiliser INDEX (index, upsert autorisé) ou CREATE (création, erreurs sur l'identifiant dupliqué) avec les requêtes groupées Elasticsearch. Valeur par défaut : CREATE

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

Dans le shell ou le terminal, exécutez le modèle :

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

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • 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

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

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/VERSION/flex/BigQuery_to_Elasticsearch",
   }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • 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.

BigQuery vers MongoDB

Le modèle BigQuery vers MongoDB est un pipeline par lots qui lit les lignes d'une table BigQuery et les écrit dans MongoDB sous forme de documents. Actuellement, chaque ligne est stockée en tant que document.

Conditions requises pour ce pipeline

  • La table BigQuery source doit exister.
  • L'instance MongoDB cible doit être accessible à partir des machines de nœud de calcul Dataflow.

Paramètres de modèle

Paramètres Description
mongoDbUri URI de connexion MongoDB au format mongodb+srv://:@.
database Base de données dans MongoDB pour stocker la collection. Exemple : my-db.
collection Nom de la collection dans la base de données MongoDB. Exemple : my-collection.
inputTableSpec Table BigQuery à lire. Par exemple, bigquery-project:dataset.input_table.

Exécuter le modèle BigQuery vers MongoDB

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 MongoDB template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

Dans le shell ou le terminal, exécutez le modèle :

  gcloud beta dataflow flex-template run JOB_NAME \
      --project=PROJECT_ID \
      --region=REGION_NAME \
      --template-file-gcs-location=gs://dataflow-templates/VERSION/flex/BigQuery_to_MongoDB \
      --parameters \
  inputTableSpec=INPUT_TABLE_SPEC,\
  mongoDbUri=MONGO_DB_URI,\
  database=DATABASE,\
  collection=COLLECTION
  

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • INPUT_TABLE_SPEC : nom de votre table BigQuery source.
  • MONGO_DB_URI : votre URI MongoDB.
  • DATABASE : votre base de données MongoDB.
  • COLLECTION : votre collection MongoDB.

API

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

  POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch
  {
     "launch_parameter": {
        "jobName": "JOB_NAME",
        "parameters": {
            "inputTableSpec": "INPUT_TABLE_SPEC",
            "mongoDbUri": "MONGO_DB_URI",
            "database": "DATABASE",
            "collection": "COLLECTION"
        },
        "containerSpecGcsPath": "gs://dataflow-templates/VERSION/flex/BigQuery_to_MongoDB",
     }
  }

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • INPUT_TABLE_SPEC : nom de votre table BigQuery source.
  • MONGO_DB_URI : votre URI MongoDB.
  • DATABASE : votre base de données MongoDB.
  • COLLECTION : votre collection MongoDB.

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

Dans le shell ou le terminal, exécutez le modèle :

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

Remplacez les éléments suivants :

  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/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 :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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

Dans le shell ou le terminal, exécutez le modèle :

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_Parquet \
    --region REGION_NAME \
    --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 :

  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/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 :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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

Dans le shell ou le terminal, exécutez le modèle :

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_SequenceFile \
    --region REGION_NAME \
    --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 :

  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/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 :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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 [obsolète]

Ce modèle est obsolète et sera supprimé au premier trimestre 2022. Veuillez migrer vers le modèle Firestore 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 (Facultatif) URI Cloud Storage du fichier .js contenant la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser. Par exemple, gs://my-bucket/my-udfs/my_file.js.
javascriptTextTransformFunctionName (Facultatif) Nom de la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser. Par exemple, si le code de votre fonction JavaScript est myTransform(inJson) { /*...do stuff...*/ }, le nom de la fonction est myTransform. Pour obtenir des exemples de fonctions JavaScript définies par l'utilisateur, consultez la page Exemples de fonctions définies par l'utilisateur.
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

Dans le shell ou le terminal, exécutez le modèle :

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/Datastore_to_GCS_Text \
    --region REGION_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/

Remplacez les éléments suivants :

  • JOB_NAME : nom de la tâche de votre choix
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • 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 la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser.

    Par exemple, si le code de votre fonction JavaScript est myTransform(inJson) { /*...do stuff...*/ }, le nom de la fonction est myTransform. Pour obtenir des exemples de fonctions JavaScript définies par l'utilisateur, consultez la page Exemples de fonctions définies par l'utilisateur.

  • PATH_TO_JAVASCRIPT_UDF_FILE : URI Cloud Storage du fichier .js contenant la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser (par exemple, gs://my-bucket/my-udfs/my_file.js).

API

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/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 :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • 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 la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser.

    Par exemple, si le code de votre fonction JavaScript est myTransform(inJson) { /*...do stuff...*/ }, le nom de la fonction est myTransform. Pour obtenir des exemples de fonctions JavaScript définies par l'utilisateur, consultez la page Exemples de fonctions définies par l'utilisateur.

  • PATH_TO_JAVASCRIPT_UDF_FILE : URI Cloud Storage du fichier .js contenant la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser (par exemple, gs://my-bucket/my-udfs/my_file.js).

Firestore vers texte Cloud Storage

Le modèle Firestore vers texte Cloud Storage est un pipeline par lots qui lit les entités Firestore 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 :

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

Paramètres de modèle

Paramètres Description
firestoreReadGqlQuery Une requête GQL qui spécifie les entités à saisir. Par exemple, SELECT * FROM MyKind.
firestoreReadProjectId ID de projet Google Cloud de l'instance Firestore dont vous souhaitez lire les données.
firestoreReadNamespace Espace de noms des entités demandées. Pour utiliser l'espace de noms par défaut, ne renseignez pas ce paramètre.
javascriptTextTransformGcsPath (Facultatif) URI Cloud Storage du fichier .js contenant la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser. Par exemple, gs://my-bucket/my-udfs/my_file.js.
javascriptTextTransformFunctionName (Facultatif) Nom de la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser. Par exemple, si le code de votre fonction JavaScript est myTransform(inJson) { /*...do stuff...*/ }, le nom de la fonction est myTransform. Pour obtenir des exemples de fonctions JavaScript définies par l'utilisateur, consultez la page Exemples de fonctions définies par l'utilisateur.
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 Firestore 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 Firestore 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

Dans le shell ou le terminal, exécutez le modèle :

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/Firestore_to_GCS_Text \
    --region REGION_NAME \
    --parameters \
firestoreReadGqlQuery="SELECT * FROM FIRESTORE_KIND",\
firestoreReadProjectId=FIRESTORE_PROJECT_ID,\
firestoreReadNamespace=FIRESTORE_NAMESPACE,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\
textWritePrefix=gs://BUCKET_NAME/output/

Remplacez les éléments suivants :

  • JOB_NAME : nom de la tâche de votre choix
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • BUCKET_NAME : nom de votre bucket Cloud Storage
  • FIRESTORE_PROJECT_ID : ID de projet Cloud dans lequel se trouve l'instance Firestore
  • FIRESTORE_KIND : type de vos entités Firestore
  • FIRESTORE_NAMESPACE : espace de noms de vos entités Firestore
  • JAVASCRIPT_FUNCTION Nom de la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser.

    Par exemple, si le code de votre fonction JavaScript est myTransform(inJson) { /*...do stuff...*/ }, le nom de la fonction est myTransform. Pour obtenir des exemples de fonctions JavaScript définies par l'utilisateur, consultez la page Exemples de fonctions définies par l'utilisateur.

  • PATH_TO_JAVASCRIPT_UDF_FILE : URI Cloud Storage du fichier .js contenant la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser (par exemple, gs://my-bucket/my-udfs/my_file.js).

API

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Firestore_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "firestoreReadGqlQuery": "SELECT * FROM FIRESTORE_KIND"
       "firestoreReadProjectId": "FIRESTORE_PROJECT_ID",
       "firestoreReadNamespace": "FIRESTORE_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 :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • BUCKET_NAME : nom de votre bucket Cloud Storage
  • FIRESTORE_PROJECT_ID : ID de projet Cloud dans lequel se trouve l'instance Firestore
  • FIRESTORE_KIND : type de vos entités Firestore
  • FIRESTORE_NAMESPACE : espace de noms de vos entités Firestore
  • JAVASCRIPT_FUNCTION Nom de la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser.

    Par exemple, si le code de votre fonction JavaScript est myTransform(inJson) { /*...do stuff...*/ }, le nom de la fonction est myTransform. Pour obtenir des exemples de fonctions JavaScript définies par l'utilisateur, consultez la page Exemples de fonctions définies par l'utilisateur.

  • PATH_TO_JAVASCRIPT_UDF_FILE : URI Cloud Storage du fichier .js contenant la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser (par exemple, gs://my-bucket/my-udfs/my_file.js).

Cloud Spanner to 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.
tableNames (Facultatif) Liste de tables séparées par une virgule spécifiant le sous-ensemble de la base de données Cloud Spanner à exporter. La liste doit inclure toutes les tables associées (tables parentes, tables étrangères référencées par clé). Si elles ne sont pas explicitement répertoriées, l'option "shouldExportRelatedTables" doit être définie pour que l'exportation réussisse.
shouldExportRelatedTables (Facultatif) Option utilisée conjointement avec le paramètre "tableNames" pour inclure toutes les tables associées à exporter.
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 la console Google Cloud, le nom de la tâche doit correspondre au format suivant :

    cloud-spanner-export-SPANNER_INSTANCE_ID-SPANNER_DATABASE_NAME

    Remplacez les éléments suivants :

    • 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

Dans le shell ou le terminal, exécutez le modèle :

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

Remplacez les éléments suivants :

  • 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 la console Google Cloud.

  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre 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

API

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/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 les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • 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 la console Google Cloud.

  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre 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

Cloud Spanner to Cloud Storage Text

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/.
spannerSnapshotTime (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.

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

Dans le shell ou le terminal, exécutez le modèle :

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

Remplacez les éléments suivants :

  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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

API

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/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 :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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

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

Dans le shell ou le terminal, exécutez le modèle :

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

Remplacez les éléments suivants :

  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/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 :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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 la console Google Cloud, le nom de la tâche doit correspondre au format suivant :

    cloud-spanner-import-SPANNER_INSTANCE_ID-SPANNER_DATABASE_NAME

    Remplacez les éléments suivants :

    • 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

Dans le shell ou le terminal, exécutez le modèle :

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

Remplacez les éléments suivants :

  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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
  • GCS_DIRECTORY : chemin d'accès à Cloud Storage à partir duquel les fichiers Avro sont importés, par exemple, gs://mybucket/somefolder

API

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/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 les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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
  • 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

Dans le shell ou le terminal, exécutez le modèle :

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

Remplacez les éléments suivants :

  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/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 :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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 SequenceFile 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

Dans le shell ou le terminal, exécutez le modèle :

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

Remplacez les éléments suivants :

  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/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 :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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 JavaScript définie par l'utilisateur que vous souhaitez utiliser. Par exemple, si le code de votre fonction JavaScript est myTransform(inJson) { /*...do stuff...*/ }, le nom de la fonction est myTransform. Pour obtenir des exemples de fonctions JavaScript définies par l'utilisateur, consultez la page Exemples de fonctions définies par l'utilisateur.
JSONPath Chemin d'accès gs:// vers le fichier JSON qui définit votre schéma BigQuery, stocké dans Cloud Storage. Exemple :gs://path/to/my/schema.json
javascriptTextTransformGcsPath URI Cloud Storage du fichier .js contenant la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser. Par exemple, gs://my-bucket/my-udfs/my_file.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

Dans le shell ou le terminal, exécutez le modèle :

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/GCS_Text_to_BigQuery \
    --region REGION_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

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • JAVASCRIPT_FUNCTION Nom de la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser.

    Par exemple, si le code de votre fonction JavaScript est myTransform(inJson) { /*...do stuff...*/ }, le nom de la fonction est myTransform. Pour obtenir des exemples de fonctions JavaScript définies par l'utilisateur, consultez la page Exemples de fonctions définies par l'utilisateur.

  • 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 : URI Cloud Storage du fichier .js contenant la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser (par exemple, gs://my-bucket/my-udfs/my_file.js).
  • 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

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/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 les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • JAVASCRIPT_FUNCTION Nom de la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser.

    Par exemple, si le code de votre fonction JavaScript est myTransform(inJson) { /*...do stuff...*/ }, le nom de la fonction est myTransform. Pour obtenir des exemples de fonctions JavaScript définies par l'utilisateur, consultez la page Exemples de fonctions définies par l'utilisateur.

  • 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 : URI Cloud Storage du fichier .js contenant la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser (par exemple, gs://my-bucket/my-udfs/my_file.js).
  • 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 [obsolète]

Ce modèle est obsolète et sera supprimé au premier trimestre 2022. Veuillez migrer vers le modèle Texte Cloud Storage vers Firestore.

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 (Facultatif) URI Cloud Storage du fichier .js contenant la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser. Par exemple, gs://my-bucket/my-udfs/my_file.js.
javascriptTextTransformFunctionName (Facultatif) Nom de la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser. Par exemple, si le code de votre fonction JavaScript est myTransform(inJson) { /*...do stuff...*/ }, le nom de la fonction est myTransform. Pour obtenir des exemples de fonctions JavaScript définies par l'utilisateur, consultez la page Exemples de fonctions définies par l'utilisateur.
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

Dans le shell ou le terminal, exécutez le modèle :

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/GCS_Text_to_Datastore \
    --region REGION_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

Remplacez les éléments suivants :

  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • PATH_TO_INPUT_TEXT_FILES : modèle de fichiers d'entrée sur Cloud Storage
  • JAVASCRIPT_FUNCTION Nom de la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser.

    Par exemple, si le code de votre fonction JavaScript est myTransform(inJson) { /*...do stuff...*/ }, le nom de la fonction est myTransform. Pour obtenir des exemples de fonctions JavaScript définies par l'utilisateur, consultez la page Exemples de fonctions définies par l'utilisateur.

  • PATH_TO_JAVASCRIPT_UDF_FILE : URI Cloud Storage du fichier .js contenant la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser (par exemple, gs://my-bucket/my-udfs/my_file.js).
  • ERROR_FILE_WRITE_PATH : chemin d'accès vers le fichier d'erreur sur Cloud Storage de votre choix

API

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/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 les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • PATH_TO_INPUT_TEXT_FILES : modèle de fichiers d'entrée sur Cloud Storage
  • JAVASCRIPT_FUNCTION Nom de la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser.

    Par exemple, si le code de votre fonction JavaScript est myTransform(inJson) { /*...do stuff...*/ }, le nom de la fonction est myTransform. Pour obtenir des exemples de fonctions JavaScript définies par l'utilisateur, consultez la page Exemples de fonctions définies par l'utilisateur.

  • PATH_TO_JAVASCRIPT_UDF_FILE : URI Cloud Storage du fichier .js contenant la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser (par exemple, gs://my-bucket/my-udfs/my_file.js).
  • ERROR_FILE_WRITE_PATH : chemin d'accès vers le fichier d'erreur sur Cloud Storage de votre choix

Texte Cloud Storage vers Firestore

Le modèle Texte Cloud Storage vers Firestore 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 Firestore. Chaque ligne des fichiers texte d'entrée doit être au format JSON spécifié.

Conditions requises pour ce pipeline :

  • Firestore 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 (Facultatif) URI Cloud Storage du fichier .js contenant la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser. Par exemple, gs://my-bucket/my-udfs/my_file.js.
javascriptTextTransformFunctionName (Facultatif) Nom de la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser. Par exemple, si le code de votre fonction JavaScript est myTransform(inJson) { /*...do stuff...*/ }, le nom de la fonction est myTransform. Pour obtenir des exemples de fonctions JavaScript définies par l'utilisateur, consultez la page Exemples de fonctions définies par l'utilisateur.
firestoreWriteProjectId ID du projet Google Cloud dans lequel écrire les entités Firestore
firestoreHintNumWorkers (Facultatif) Informations sur le nombre attendu de nœuds de calcul dans l'étape de limitation de la montée en puissance progressive de Firestore. 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 de texte Cloud Storage vers Firestore

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 Firestore template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

Dans le shell ou le terminal, exécutez le modèle :

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/GCS_Text_to_Firestore \
    --region REGION_NAME \
    --parameters \
textReadPattern=PATH_TO_INPUT_TEXT_FILES,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=JAVASCRIPT_FUNCTION,\
firestoreWriteProjectId=PROJECT_ID,\
errorWritePath=ERROR_FILE_WRITE_PATH

Remplacez les éléments suivants :

  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • PATH_TO_INPUT_TEXT_FILES : modèle de fichiers d'entrée sur Cloud Storage
  • JAVASCRIPT_FUNCTION Nom de la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser.

    Par exemple, si le code de votre fonction JavaScript est myTransform(inJson) { /*...do stuff...*/ }, le nom de la fonction est myTransform. Pour obtenir des exemples de fonctions JavaScript définies par l'utilisateur, consultez la page Exemples de fonctions définies par l'utilisateur.

  • PATH_TO_JAVASCRIPT_UDF_FILE : URI Cloud Storage du fichier .js contenant la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser (par exemple, gs://my-bucket/my-udfs/my_file.js).
  • ERROR_FILE_WRITE_PATH : chemin d'accès vers le fichier d'erreur sur Cloud Storage de votre choix

API

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

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

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • PATH_TO_INPUT_TEXT_FILES : modèle de fichiers d'entrée sur Cloud Storage
  • JAVASCRIPT_FUNCTION Nom de la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser.

    Par exemple, si le code de votre fonction JavaScript est myTransform(inJson) { /*...do stuff...*/ }, le nom de la fonction est myTransform. Pour obtenir des exemples de fonctions JavaScript définies par l'utilisateur, consultez la page Exemples de fonctions définies par l'utilisateur.

  • PATH_TO_JAVASCRIPT_UDF_FILE : URI Cloud Storage du fichier .js contenant la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser (par exemple, gs://my-bucket/my-udfs/my_file.js).
  • 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

Dans le shell ou le terminal, exécutez le modèle :

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

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • TOPIC_NAME : nom de votre sujet Pub/Sub
  • BUCKET_NAME : nom de votre bucket Cloud Storage

API

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/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 les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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 types suivants :

    GoogleSQL

        BOOL
        INT64
        FLOAT64
        NUMERIC
        STRING
        DATE
        TIMESTAMP
        BYPES
        JSON

    PostgreSQL

        boolean
        bigint
        double precision
        numeric
        character varying, text
        date
        timestamp with time zone
        bytea

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

Dans le shell ou le terminal, exécutez le modèle :

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

Remplacez les éléments suivants :

  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre 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

API

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/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 les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre 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

Cloud Storage vers Elasticsearch

Le modèle Cloud Storage vers Elasticsearch est un pipeline par lots qui lit les données 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 Google Cloud ou sur Elasticsearch Cloud accessible à partir de 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 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) Chemin d'accès au schéma JSON. Valeur par défaut : null
largeNumFiles (Facultatif) Définie sur "true" si le nombre de fichiers est de l'ordre de plusieurs dizaines de milliers. Valeur par défaut : false
javascriptTextTransformGcsPath (Facultatif) URI Cloud Storage du fichier .js contenant la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser. Par exemple, gs://my-bucket/my-udfs/my_file.js.
javascriptTextTransformFunctionName (Facultatif) Nom de la fonction JavaScript définie par l'utilisateur que vous souhaitez utiliser. Par exemple, si le code de votre fonction JavaScript est myTransform(inJson) { /*...do stuff...*/ }, le nom de la fonction est myTransform. Pour obtenir des exemples de fonctions JavaScript définies par l'utilisateur, consultez la page Exemples de fonctions définies par l'utilisateur.
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, 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.
propertyAsIndex (Facultatif) Propriété du document indexée dont la valeur spécifie les métadonnées _index à inclure dans le document de la requête groupée (prioritaire sur une UDF _index). Valeur par défaut = none
propertyAsId (Facultatif) Propriété du document indexée dont la valeur spécifie les métadonnées _id à inclure dans le document de la requête groupée (prioritaire sur une UDF _id). Valeur par défaut = none
javaScriptIndexFnGcsPath (Facultatif) Chemin d'accès Cloud Storage à la source JavaScript définie par l'utilisateur pour une fonction qui spécifie les métadonnées _index à inclure dans le document de la requête groupée. Valeur par défaut = none
javaScriptIndexFnName (Facultatif) Nom de la fonction JavaScript définie par l'utilisateur pour la fonction qui spécifie les métadonnées _index à inclure dans le document de requête groupée. Valeur par défaut = none
javaScriptIdFnGcsPath (Facultatif) Chemin d'accès Cloud Storage à la source JavaScript définie par l'utilisateur pour une fonction qui spécifie les métadonnées _id à inclure dans le document de la requête groupée. Valeur par défaut = none
javaScriptIdFnName (Facultatif) Nom de la fonction JavaScript définie par l'utilisateur pour la fonction qui spécifie les métadonnées _id à inclure dans le document de requête groupée. Valeur par défaut = none
javaScriptTypeFnGcsPath (Facultatif) Chemin d'accès Cloud Storage à la source JavaScript définie par l'utilisateur pour une fonction qui spécifie les métadonnées _type à inclure dans le document de la requête groupée. Valeur par défaut = none
javaScriptTypeFnName (Facultatif) Nom de la fonction JavaScript définie par l'utilisateur pour la fonction qui spécifie les métadonnées _type à inclure dans le document de requête groupée. Valeur par défaut = none
javaScriptIsDeleteFnGcsPath (Facultatif) Chemin d'accès Cloud Storage à la source JavaScript définie par l'utilisateur pour la fonction qui déterminera si le document doit être supprimé plutôt que d'être inséré ou mis à jour. La fonction doit renvoyer une valeur de chaîne "true" ou "false". Valeur par défaut = none
javaScriptIsDeleteFnName (Facultatif) Nom de la fonction JavaScript définie par l'utilisateur pour la fonction qui déterminera si le document doit être supprimé plutôt que d'être inséré ou mis à jour. La fonction doit renvoyer une valeur de chaîne "true" ou "false". Valeur par défaut = none
usePartialUpdate (Facultatif) Indique si les requêtes partielles doivent être utilisées (mises à jour plutôt que créées ou indexées, et autoriser les documents partiels) avec des requêtes Elasticsearch. Valeur par défaut : false
bulkInsertMethod (Facultatif) Indique s'il faut utiliser INDEX (index, upsert autorisé) ou CREATE (création, erreurs sur l'identifiant dupliqué) avec les requêtes groupées Elasticsearch. Valeur par défaut : CREATE

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

Dans le shell ou le terminal, exécutez le modèle :

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

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche 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

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

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/VERSION/flex/GCS_to_Elasticsearch",
   }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche 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. Le format de la chaîne doit être [propertyName=property;]*. 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.
disabledAlgorithms (Facultatif) Algorithmes à désactiver séparés par une virgule. Si cette valeur est définie sur none, aucun algorithme n'est désactivé. Soyez prudent, car les algorithmes désactivés par défaut souffrent de failles ou de problèmes de performances connus. Par exemple : SSLv3, RC4.
extraFilesToStage Chemins d'accès Cloud Storage ou secrets Secret Manager séparés par une virgule afin que les fichiers soient traités dans le nœud de calcul. Ces fichiers seront enregistrés dans le répertoire /extra_files de chaque nœud de calcul. Exemple :gs://<my-bucket>/file.txt,projects/<project-id>/secrets/<secret-id>/versions/<version-id>

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

Dans le shell ou le terminal, exécutez le modèle :

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/Jdbc_to_BigQuery \
    --region REGION_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

Remplacez les éléments suivants :

  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/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 les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • 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

Java Database Connectivity (JDBC) vers Pub/Sub

Le modèle Java Database Connectivity (JDBC) vers Pub/Sub est un pipeline de traitement par lot qui ingère les données d'une source JDBC et écrit les enregistrements obtenus dans un sujet Pub/Sub préexistant en tant que chaîne JSON.

Conditions requises pour ce pipeline :

  • La source JDBC doit exister avant l'exécution du pipeline.
  • Le sujet Cloud Pub/Sub doit exister avant l'exécution du pipeline.

Paramètres de modèle

Paramètres Description
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.
driverJars Chemins Cloud Storage séparés par une virgule pour les pilotes JDBC. Par exemple, gs://your-bucket/driver_jar1.jar,gs://your-bucket/driver_jar2.jar.
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.
connectionProperties (Facultatif) Chaîne de propriétés à utiliser pour la connexion JDBC. Le format de la chaîne doit être [propertyName=property;]*. Exemple :unicode=true;characterEncoding=UTF-8
query Requête à exécuter sur la source pour extraire les données. Par exemple, select * from sampledb.sample_table.
outputTopic Sujet Pub/Sub vers lequel publier, au format projects/<project>/topics/<topic>.
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.
extraFilesToStage Chemins d'accès Cloud Storage ou secrets Secret Manager séparés par une virgule afin que les fichiers soient traités dans le nœud de calcul. Ces fichiers seront enregistrés dans le répertoire /extra_files de chaque nœud de calcul. Exemple :gs://<my-bucket>/file.txt,projects/<project-id>/secrets/<secret-id>/versions/<version-id>

Exécuter le modèle JDBC (Java Database Connectivity) vers Pub/Sub

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 Pub/Sub template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

Dans le shell ou le terminal, exécutez le modèle :

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/flex/Jdbc_to_PubSub \
    --region REGION_NAME \
    --parameters \
driverClassName=DRIVER_CLASS_NAME,\
connectionURL=JDBC_CONNECTION_URL,\
driverJars=DRIVER_PATHS,\
username=CONNECTION_USERNAME,\
password=CONNECTION_PASSWORD,\
connectionProperties=CONNECTION_PROPERTIES,\
query=SOURCE_SQL_QUERY,\
outputTopic=OUTPUT_TOPIC,\
KMSEncryptionKey=KMS_ENCRYPTION_KEY

Remplacez les éléments suivants :

  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • DRIVER_CLASS_NAME : nom de la classe du pilote
  • JDBC_CONNECTION_URL : URL de connexion JDBC
  • DRIVER_PATHS : chemin(s) d'accès Cloud Storage séparé(s) par des virgules vers le(s) pilote(s) JDBC
  • CONNECTION_USERNAME : nom d'utilisateur de la connexion JDBC
  • CONNECTION_PASSWORD : mot de passe de la connexion JDBC
  • CONNECTION_PROPERTIES : les propriétés de connexion JDBC, le cas échéant
  • SOURCE_SQL_QUERY : requête SQL à exécuter sur la base de données source
  • OUTPUT_TOPIC : sujet Pub/Sub dans lequel publier
  • KMS_ENCRYPTION_KEY : clé de chiffrement Cloud KMS

API

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch
{
   "jobName": "JOB_NAME",
   "parameters": {
       "driverClassName": "DRIVER_CLASS_NAME",
       "connectionURL": "JDBC_CONNECTION_URL",
       "driverJars": "DRIVER_PATHS",
       "username": "CONNECTION_USERNAME",
       "password": "CONNECTION_PASSWORD",
       "connectionProperties": "CONNECTION_PROPERTIES",
       "query": "SOURCE_SQL_QUERY",
       "outputTopic": "OUTPUT_TOPIC",
       "KMSEncryptionKey":"KMS_ENCRYPTION_KEY"
   },
   "environment": { "zone": "us-central1-f" },
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • DRIVER_CLASS_NAME : nom de la classe du pilote
  • JDBC_CONNECTION_URL : URL de connexion JDBC
  • DRIVER_PATHS : chemin(s) d'accès Cloud Storage séparé(s) par des virgules vers le(s) pilote(s) JDBC
  • CONNECTION_USERNAME : nom d'utilisateur de la connexion JDBC
  • CONNECTION_PASSWORD : mot de passe de la connexion JDBC
  • CONNECTION_PROPERTIES : les propriétés de connexion JDBC, le cas échéant
  • SOURCE_SQL_QUERY : requête SQL à exécuter sur la base de données source
  • OUTPUT_TOPIC : sujet Pub/Sub dans lequel publier
  • 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'élément de la liste, tel que "mylist[0]".

row mylist[0] mylist[1] mylist[2]
1 a b c

Le pipeline traite les ensembles de la même manière que les listes, mais ajoute un suffixe supplémentaire pour indiquer si la cellule est une clé ou une valeur.

row mymap
1 {"first_key":"first_value","another_key":"different_value"}

Après la transformation, la table se présente comme suit :

row mymap[0].key mymap[0].value mymap[1].key mymap[1].value
1 first_key first_value another_key different_value

Conversion des clés primaires

Dans Apache Cassandra, les clés primaires sont définies à l'aide d'un langage de définition des données. Elles peuvent être simples, composites ou composées avec des colonnes de clustering. Cloud Bigtable est compatible avec la création manuelle des clés de ligne, qui sont triées dans l'ordre lexicographique en fonction du tableau d'octets. Le pipeline collecte automatiquement des informations sur les types de clés, puis crée les clés en suivant les bonnes pratiques de création de clés de ligne basées sur plusieurs valeurs.

Paramètres de modèle

Paramètres Description
cassandraHosts Hôtes des nœuds Apache Cassandra sous la forme d'une liste de valeurs séparées par des virgules.
cassandraPort (Facultatif) Port TCP permettant d'accéder à Apache Cassandra sur les nœuds (9042 par défaut).
cassandraKeyspace Espace de clés Apache Cassandra dans lequel se trouve la table.
cassandraTable Table Apache Cassandra à copier.
bigtableProjectId ID de projet Google Cloud de l'instance Bigtable dans laquelle la table Apache Cassandra est copiée.
bigtableInstanceId ID de l'instance Bigtable dans laquelle la table Apache Cassandra doit être copiée.
bigtableTableId Nom de la table Bigtable dans laquelle la table Apache Cassandra doit être copiée.
defaultColumnFamily (Facultatif) Nom de la famille de colonnes de la table Bigtable (valeur par défaut : default).
rowKeySeparator (Facultatif) Séparateur utilisé pour créer la clé de ligne (# par défaut).

Exécuter le modèle Apache Cassandra vers Cloud 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 Cassandra 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

Dans le shell ou le terminal, exécutez le modèle :

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/Cassandra_To_Cloud_Bigtable \
    --region REGION_NAME \
    --parameters \
bigtableProjectId=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=BIGTABLE_INSTANCE_ID,\
bigtableTableId=BIGTABLE_TABLE_ID,\
cassandraHosts=CASSANDRA_HOSTS,\
cassandraKeyspace=CASSANDRA_KEYSPACE,\
cassandraTable=CASSANDRA_TABLE

Remplacez les éléments suivants :

  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • BIGTABLE_PROJECT_ID : ID du projet dans lequel se trouve l'instance Cloud Bigtable
  • BIGTABLE_INSTANCE_ID : ID de l'instance Cloud Bigtable
  • BIGTABLE_TABLE_ID : nom de votre table Cloud Bigtable
  • CASSANDRA_HOSTS : liste d'hôtes Apache Cassandra ; si plusieurs hôtes sont fournis, suivez les instructions expliquant comment échapper les virgules
  • CASSANDRA_KEYSPACE : espace de clés Apache Cassandra dans lequel se trouve la table
  • CASSANDRA_TABLE : table Apache Cassandra qui doit être migrée

API

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates/VERSION/Cassandra_To_Cloud_Bigtable
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProjectId": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "BIGTABLE_INSTANCE_ID",
       "bigtableTableId": "BIGTABLE_TABLE_ID",
       "cassandraHosts": "CASSANDRA_HOSTS",
       "cassandraKeyspace": "CASSANDRA_KEYSPACE",
       "cassandraTable": "CASSANDRA_TABLE"
   },
   "environment": { "zone": "us-central1-f" }
}

Remplacez les éléments suivants :

  • PROJET_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • BIGTABLE_PROJECT_ID : ID du projet dans lequel se trouve l'instance Cloud Bigtable
  • BIGTABLE_INSTANCE_ID : ID de l'instance Cloud Bigtable
  • BIGTABLE_TABLE_ID : nom de votre table Cloud Bigtable
  • CASSANDRA_HOSTS : liste d'hôtes Apache Cassandra ; si plusieurs hôtes sont fournis, suivez les instructions expliquant comment échapper les virgules
  • CASSANDRA_KEYSPACE : espace de clés Apache Cassandra dans lequel se trouve la table
  • CASSANDRA_TABLE : table Apache Cassandra qui doit être migrée

MongoDB vers BigQuery

Le modèle MongoDB vers BigQuery est un pipeline par lots qui lit les documents de MongoDB et les écrit dans BigQuery, comme spécifié par le paramètre userOption.

Conditions requises pour ce pipeline

  • L'ensemble de données BigQuery cible doit exister.
  • L'instance MongoDB source doit être accessible à partir des machines de nœud de calcul Dataflow.

Paramètres de modèle

Paramètres Description
mongoDbUri URI de connexion MongoDB au format mongodb+srv://:@.
database Base de données de MongoDB à partir de laquelle lire la collection. Exemple : my-db.
collection Nom de la collection dans la base de données MongoDB. Exemple : my-collection.
outputTableSpec Table BigQuery dans laquelle écrire. Par exemple, bigquery-project:dataset.output_table.
userOption FLATTEN ou NONE. FLATTEN aplatit les documents au premier niveau. NONE stocke l'intégralité du document sous forme de chaîne JSON.

Exécuter le modèle MongoDB 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 MongoDB 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

Dans le shell ou le terminal, exécutez le modèle :

gcloud beta dataflow flex-template run JOB_NAME \
    --project=PROJECT_ID \
    --region=REGION_NAME \
    --template-file-gcs-location=gs://dataflow-templates/VERSION/flex/MongoDB_to_BigQuery \
    --parameters \
outputTableSpec=OUTPUT_TABLE_SPEC,\
mongoDbUri=MONGO_DB_URI,\
database=DATABASE,\
collection=COLLECTION,\
userOption=USER_OPTION

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • REGION_NAME : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • OUTPUT_TABLE_SPEC : nom de votre table BigQuery cible.
  • MONGO_DB_URI : votre URI MongoDB.
  • DATABASE : votre base de données MongoDB.
  • COLLECTION : votre collection MongoDB.
  • USER_OPTION : FLATTEN ou NONE.

API

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch
{
   "launch_parameter": {
      "jobName": "JOB_NAME",
      "parameters": {
          "inputTableSpec": "INPUT_TABLE_SPEC",
          "mongoDbUri": "MONGO_DB_URI",
          "database": "DATABASE",
          "collection": "COLLECTION",
          "userOption": "USER_OPTION"
      },
      "containerSpecGcsPath": "gs://dataflow-templates/VERSION/flex/MongoDB_to_BigQuery",
   }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet Cloud dans lequel vous souhaitez exécuter la tâche Dataflow
  • JOB_NAME : nom de la tâche de votre choix
  • LOCATION : point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exemple us-central1
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

    • latest pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates/latest/
    • Le nom de la version, par exemple :2021-09-20-00_RC00, pour utiliser une version spécifique du modèle, qui peut être imbriquée dans le dossier parent daté du bucket :gs://dataflow-templates/
  • OUTPUT_TABLE_SPEC : nom de votre table BigQuery cible.
  • MONGO_DB_URI : votre URI MongoDB.
  • DATABASE : votre base de données MongoDB.
  • COLLECTION : votre collection MongoDB.
  • USER_OPTION : FLATTEN ou NONE.