Modèles par lots fournis par Google

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

Cette page traite des modèles par lots :

Cloud Bigtable vers Cloud Storage Avro

Le modèle Cloud Bigtable vers Cloud Storage Avro est un pipeline qui lit les données d'une table Cloud 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 Cloud Bigtable vers Cloud Storage.

Conditions requises pour ce pipeline :

  • La table Cloud 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 GCP de l'instance Cloud Bigtable à partir de laquelle vous souhaitez lire des données.
bigtableInstanceId ID de l'instance Cloud Bigtable qui contient la table.
bigtableTableId ID de la table Cloud Bigtable à exporter.
outputDirectory Chemin d'accès vers Cloud Storage où les données doivent être écrites. Par exemple : gs://mybucket/somefolder.
filenamePrefix Préfixe du nom de fichier Avro. Par exemple : output-.

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

CONSOLE

Exécuter à partir de la console Google Cloud Platform
  1. Accédez à la page Cloud Dataflow dans la console GCP.
  2. Accéder à la page Cloud Dataflow
  3. Cliquez sur CREATE JOB FROM TEMPLATE (Créer une tâche à partir d'un modèle).
  4. Bouton "Créer une tâche à partir d'un modèle" dans la console Cloud Platform
  5. Sélectionnez dans le menu déroulant du modèle Cloud Dataflow.
  6. Saisissez un nom de tâche dans le champ Job Name (Nom de la tâche). Votre nom de tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  7. Saisissez les valeurs de paramètres dans les champs fournis à cet effet.
  8. Cliquez sur Run Job (Exécuter la tâche).

GCLOUD

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

Remarque : Afin de pouvoir utiliser l'outil de ligne de commande gcloud pour exécuter des modèles, vous devez disposer du SDK Cloud version 138.0. ou de version ultérieure.

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

gs://dataflow-templates/VERSION/

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

  • Remplacez [YOUR_PROJECT_ID] par votre ID de projet.
  • Remplacez [JOB_NAME] par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez [PROJECT_ID] par l'ID de projet GCP de l'instance Cloud Bigtable à partir de laquelle vous souhaitez lire les données.
  • Remplacez [INSTANCE_ID] par l'ID de l'instance Cloud Bigtable contenant la table.
  • Remplacez [TABLE_ID] par l'ID de la table Cloud Bigtable à exporter.
  • Remplacez [OUTPUT_DIRECTORY] par le chemin d'accès à Cloud Storage où les données doivent être écrites. Par exemple : gs://mybucket/somefolder.
  • Remplacez [FILENAME_PREFIX] par le préfixe du nom du fichier Avro. Par exemple : output-.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/ \
    --parameters bigtableProjectId=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],outputDirectory=[OUTPUT_DIRECTORY],filenamePrefix=[FILENAME_PREFIX]

API

Exécuter depuis l'API REST

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

gs://dataflow-templates/VERSION/

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

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

  • Remplacez [YOUR_PROJECT_ID] par votre ID de projet.
  • Remplacez [JOB_NAME] par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez [PROJECT_ID] par l'ID de projet GCP de l'instance Cloud Bigtable à partir de laquelle vous souhaitez lire les données.
  • Remplacez [INSTANCE_ID] par l'ID de l'instance Cloud Bigtable contenant la table.
  • Remplacez [TABLE_ID] par l'ID de la table Cloud Bigtable à exporter.
  • Remplacez [OUTPUT_DIRECTORY] par le chemin d'accès à Cloud Storage où les données doivent être écrites. Par exemple : gs://mybucket/somefolder.
  • Remplacez [FILENAME_PREFIX] par le préfixe du nom du fichier Avro. Par exemple : output-.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProjectId": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "outputDirectory": "[OUTPUT_DIRECTORY]",
       "filenamePrefix": "[FILENAME_PREFIX]",
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Bigtable vers Cloud Storage SequenceFile

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

Conditions requises pour ce pipeline :

  • La table Cloud 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 GCP de l'instance Cloud Bigtable à partir de laquelle vous souhaitez lire des données.
bigtableInstanceId ID de l'instance Cloud Bigtable qui contient la table.
bigtableTableId ID de la table Cloud Bigtable à exporter.
bigtableAppProfileId ID du profil d'application Cloud Bigtable à utiliser pour l'exportation. Si vous ne spécifiez pas de profil d'application, Cloud Bigtable utilise le profil d'application par défaut de l'instance.
destinationPath Chemin d'accès vers Cloud Storage où les données doivent être écrites. Par exemple : gs://mybucket/somefolder.
filenamePrefix Préfixe du nom de fichier SequenceFile. Par exemple : output-.

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

CONSOLE

Exécuter à partir de la console Google Cloud Platform
  1. Accédez à la page Cloud Dataflow dans la console GCP.
  2. Accéder à la page Cloud Dataflow
  3. Cliquez sur CREATE JOB FROM TEMPLATE (Créer une tâche à partir d'un modèle).
  4. Bouton "Créer une tâche à partir d'un modèle" dans la console Cloud Platform
  5. Sélectionnez dans le menu déroulant du modèle Cloud Dataflow.
  6. Saisissez un nom de tâche dans le champ Job Name (Nom de la tâche). Votre nom de tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  7. Saisissez les valeurs de paramètres dans les champs fournis à cet effet.
  8. Cliquez sur Run Job (Exécuter la tâche).

GCLOUD

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

Remarque : Afin de pouvoir utiliser l'outil de ligne de commande gcloud pour exécuter des modèles, vous devez disposer du SDK Cloud version 138.0. ou de version ultérieure.

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

gs://dataflow-templates/VERSION/

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

  • Remplacez [YOUR_PROJECT_ID] par votre ID de projet.
  • Remplacez [JOB_NAME] par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez [PROJECT_ID] par l'ID de projet GCP de l'instance Cloud Bigtable à partir de laquelle vous souhaitez lire les données.
  • Remplacez [INSTANCE_ID] par l'ID de l'instance Cloud Bigtable contenant la table.
  • Remplacez [TABLE_ID] par l'ID de la table Cloud Bigtable à exporter.
  • Remplacez [APPLICATION_PROFILE_ID] par l'ID du profil d'application Cloud Bigtable à utiliser pour l'exportation.
  • Remplacez [DESTINATION_PATH] par le chemin d'accès à Cloud Storage où les données doivent être écrites. Par exemple : gs://mybucket/somefolder.
  • Remplacez [FILENAME_PREFIX] par le préfixe du nom du fichier SequenceFile. Par exemple : output-.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/ \
    --parameters bigtableProject=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],bigtableAppProfileId=[APPLICATION_PROFILE_ID],destinationPath=[DESTINATION_PATH],filenamePrefix=[FILENAME_PREFIX]

API

Exécuter depuis l'API REST

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

gs://dataflow-templates/VERSION/

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

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

  • Remplacez [YOUR_PROJECT_ID] par votre ID de projet.
  • Remplacez [JOB_NAME] par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez [PROJECT_ID] par l'ID de projet GCP de l'instance Cloud Bigtable à partir de laquelle vous souhaitez lire les données.
  • Remplacez [INSTANCE_ID] par l'ID de l'instance Cloud Bigtable contenant la table.
  • Remplacez [TABLE_ID] par l'ID de la table Cloud Bigtable à exporter.
  • Remplacez [APPLICATION_PROFILE_ID] par l'ID du profil d'application Cloud Bigtable à utiliser pour l'exportation.
  • Remplacez [DESTINATION_PATH] par le chemin d'accès à Cloud Storage où les données doivent être écrites. Par exemple : gs://mybucket/somefolder.
  • Remplacez [FILENAME_PREFIX] par le préfixe du nom du fichier SequenceFile. Par exemple : output-.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProject": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "bigtableAppProfileId": "[APPLICATION_PROFILE_ID]",
       "destinationPath": "[DESTINATION_PATH]",
       "filenamePrefix": "[FILENAME_PREFIX]",
   },
   "environment": { "zone": "us-central1-f" }
}

Texte Cloud Datastore vers Cloud Storage

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

Cloud Datastore doit être configuré dans le projet avant son exécution.

Paramètres de modèle

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

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

CONSOLE

Exécuter à partir de la console Google Cloud Platform
  1. Accédez à la page Cloud Dataflow dans la console GCP.
  2. Accéder à la page Cloud Dataflow
  3. Cliquez sur CREATE JOB FROM TEMPLATE (Créer une tâche à partir d'un modèle).
  4. Bouton "Créer une tâche à partir d'un modèle" dans la console Cloud Platform
  5. Sélectionnez the Cloud Datastore to Cloud Storage Text template dans le menu déroulant du modèle Cloud Dataflow.
  6. Saisissez un nom de tâche dans le champ Job Name (Nom de la tâche). Votre nom de tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  7. Saisissez les valeurs de paramètres dans les champs fournis à cet effet.
  8. Cliquez sur Run Job (Exécuter la tâche).

GCLOUD

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

Remarque : Afin de pouvoir utiliser l'outil de ligne de commande gcloud pour exécuter des modèles, vous devez disposer du SDK Cloud version 138.0. ou de version ultérieure.

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

gs://dataflow-templates/VERSION/Datastore_to_GCS_Text

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

  • Remplacez YOUR_PROJECT_ID par votre ID de projet.
  • Remplacez JOB_NAME par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez YOUR_BUCKET_NAME par le nom de votre bucket Cloud Storage.
  • Remplacez YOUR_DATASTORE_KIND par le type de vos entités Datastore.
  • Remplacez YOUR_DATASTORE_NAMESPACE par l'espace de noms de vos entités Datastore.
  • Remplacez YOUR_JAVASCRIPT_FUNCTION par le nom de votre fonction JavaScript.
  • Remplacez PATH_TO_JAVASCRIPT_UDF_FILE par le chemin d'accès Cloud Storage au fichier .js contenant votre code JavaScript.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Datastore_to_GCS_Text \
    --parameters \
datastoreReadGqlQuery="SELECT * FROM YOUR_DATASTORE_KIND",\
datastoreReadProjectId=YOUR_PROJECT_ID,\
datastoreReadNamespace=YOUR_DATASTORE_NAMESPACE,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION,\
textWritePrefix=gs://YOUR_BUCKET_NAME/output/

API

Exécuter depuis l'API REST

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

gs://dataflow-templates/VERSION/Datastore_to_GCS_Text

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

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

  • Remplacez YOUR_PROJECT_ID par votre ID de projet.
  • Remplacez JOB_NAME par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez YOUR_BUCKET_NAME par le nom de votre bucket Cloud Storage.
  • Remplacez YOUR_DATASTORE_KIND par le type de vos entités Datastore.
  • Remplacez YOUR_DATASTORE_NAMESPACE par l'espace de noms de vos entités Datastore.
  • Remplacez YOUR_JAVASCRIPT_FUNCTION par le nom de votre fonction JavaScript.
  • Remplacez PATH_TO_JAVASCRIPT_UDF_FILE par le chemin d'accès Cloud Storage au fichier .js contenant votre code JavaScript.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Datastore_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "datastoreReadGqlQuery": "SELECT * FROM YOUR_DATASTORE_KIND"
       "datastoreReadProjectId": "YOUR_PROJECT_ID",
       "datastoreReadNamespace": "YOUR_DATASTORE_NAMESPACE",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION",
       "textWritePrefix": "gs://YOUR_BUCKET_NAME/output/"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Spanner vers Cloud Storage au format Avro

Le modèle Cloud Spanner vers 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 Cloud IAM nécessaires pour exécuter les tâches Cloud Dataflow, vous devez également disposer des rôles Cloud 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 nouveau dépôt contenant les fichiers exportés sous ce chemin d'accès.

Exécuter le modèle

CONSOLE

Exécuter à partir de la console Google Cloud Platform
  1. Accédez à la page Cloud Dataflow dans la console GCP.
  2. Accéder à la page Cloud Dataflow
  3. Cliquez sur CREATE JOB FROM TEMPLATE (Créer une tâche à partir d'un modèle).
  4. Bouton "Créer une tâche à partir d'un modèle" dans la console Cloud Platform
  5. Sélectionnez the Cloud Spanner to Cloud Storage Avro template dans le menu déroulant du modèle Cloud Dataflow.
  6. Saisissez un nom de tâche dans le champ Job Name (Nom de la tâche).
    • Votre nom de tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
    • Le nom de la tâche doit être conforme au format cloud-spanner-export-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] afin de pouvoir s'afficher dans la partie Cloud Spanner de la console GCP.
  7. Saisissez les valeurs de paramètres dans les champs fournis à cet effet.
  8. Cliquez sur Run Job (Exécuter la tâche).

GCLOUD

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

Remarque : Afin de pouvoir utiliser l'outil de ligne de commande gcloud pour exécuter des modèles, vous devez disposer du SDK Cloud version 138.0. ou de version ultérieure.

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

gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro

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

  • Remplacez [DATAFLOW_REGION] par la région dans laquelle vous souhaitez que la tâche Cloud Dataflow s'exécute (par exemple : us-central1).
  • Remplacez [YOUR_INSTANCE_ID] par votre ID d'instance Cloud Spanner.
  • Remplacez [YOUR_DATABASE_ID] par votre ID de base de données Cloud Spanner.
  • Remplacez [YOUR_GCS_DIRECTORY] par le chemin d'accès Cloud Storage vers lequel les fichiers Avro doivent s'exporter
  • Remplacez [JOB_NAME] par le nom de tâche de votre choix.
    • Le nom de tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
    • Le nom de la tâche doit être conforme au format cloud-spanner-export-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] pour s'afficher dans la partie Cloud Spanner de la console GCP.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location='gs://dataflow-templates/[VERSION]/Cloud_Spanner_to_GCS_Avro' \
    --region=[DATAFLOW_REGION] \
    --parameters='instanceId=[YOUR_INSTANCE_ID],databaseId=[YOUR_DATABASE_ID],outputDir=[YOUR_GCS_DIRECTORY]

API

Exécuter depuis l'API REST

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

gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro

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

  • Remplacez [YOUR_PROJECT_ID] par votre ID de projet.
  • Remplacez [DATAFLOW_REGION] par la région dans laquelle vous souhaitez que la tâche Cloud Dataflow s'exécute (par exemple : us-central1).
  • Remplacez [YOUR_INSTANCE_ID] par votre ID d'instance Cloud Spanner.
  • Remplacez [YOUR_DATABASE_ID] par votre ID de base de données Cloud Spanner.
  • Remplacez [YOUR_GCS_DIRECTORY] par le chemin d'accès Cloud Storage vers lequel les fichiers Avro doivent s'exporter
  • Remplacez [JOB_NAME] par le nom de tâche de votre choix.
    • Le nom de tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
    • Le nom de la tâche doit être conforme au format cloud-spanner-export-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] pour s'afficher dans la partie Cloud Spanner de la console GCP.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/locations/[DATAFLOW_REGION]/templates:launch?gcsPath=gs://dataflow-templates/[VERSION]/Cloud_Spanner_to_GCS_Avro
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "instanceId": "[YOUR_INSTANCE_ID]",
       "databaseId": "[YOUR_DATABASE_ID]",
       "outputDir": "gs://[YOUR_GCS_DIRECTORY]"
   }
}

Cloud Spanner vers texte Cloud Storage

Le modèle Cloud Spanner vers texte Cloud Storage est un pipeline par lots qui lit les données d'une table Cloud Spanner, peut éventuellement les transformer à l'aide d'un script JavaScript UDF (Fonctions définies par l'utilisateur) que vous fournissez, et les écrit dans Cloud Storage, sous forme de fichiers texte CSV.

Conditions requises pour ce pipeline :

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

Paramètres de modèle

Paramètres Description
spannerProjectId L'ID du projet GCP de la base de données Cloud Spanner à partir de laquelle vous souhaitez lire les données.
spannerDatabaseId Base de données de la table demandée.
spannerInstanceId Instance de la table demandée.
spannerTable Table à exporter.
textWritePrefix Répertoire de sortie dans lequel les fichiers texte de sortie seront écrits. Veuillez ajouter / à la fin. Exemple : gs://mybucket/somefolder/
javascriptTextTransformGcsPath [Facultatif] Chemin d'accès Cloud Storage contenant tout votre code JavaScript. Par exemple : gs://mybucket/mytransforms/*.js. Si vous ne souhaitez pas fournir de fonction, ne renseignez pas ce paramètre.
javascriptTextTransformFunctionName [Facultatif] Nom de la fonction JavaScript à appeler. Par exemple, si votre fonction JavaScript est function myTransform(inJson) { ...dostuff...}, le nom de la fonction est myTransform. Si vous ne souhaitez pas fournir de fonction, ne renseignez pas ce paramètre.

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

CONSOLE

Exécuter à partir de la console Google Cloud Platform
  1. Accédez à la page Cloud Dataflow dans la console GCP.
  2. Accéder à la page Cloud Dataflow
  3. Cliquez sur CREATE JOB FROM TEMPLATE (Créer une tâche à partir d'un modèle).
  4. Bouton "Créer une tâche à partir d'un modèle" dans la console Cloud Platform
  5. Sélectionnez the Cloud Spanner to Cloud Storage Text template dans le menu déroulant du modèle Cloud Dataflow.
  6. Saisissez un nom de tâche dans le champ Job Name (Nom de la tâche).
    • Votre nom de tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
    • Le nom de la tâche doit être conforme au format cloud-spanner-export-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] afin de pouvoir s'afficher dans la partie Cloud Spanner de la console GCP.
  7. Saisissez les valeurs de paramètres dans les champs fournis à cet effet.
  8. Cliquez sur Run Job (Exécuter la tâche).

GCLOUD

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

Remarque : Afin de pouvoir utiliser l'outil de ligne de commande gcloud pour exécuter des modèles, vous devez disposer du SDK Cloud version 138.0. ou de version ultérieure.

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

gs://dataflow-templates/VERSION/Spanner_to_GCS_Text

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

  • Remplacez YOUR_PROJECT_ID par votre ID de projet.
  • Remplacez JOB_NAME par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez YOUR_DATABASE_ID par l'ID de base de données Cloud Spanner.
  • Remplacez YOUR_BUCKET_NAME par le nom de votre bucket Cloud Storage.
  • Remplacez YOUR_INSTANCE_ID par l'ID d'instance Cloud Spanner.
  • Remplacez YOUR_TABLE_ID par l'ID de la table Cloud Spanner.
  • Remplacez PATH_TO_JAVASCRIPT_UDF_FILE par le chemin d'accès Cloud Storage vers le fichier .js contenant votre code JavaScript.
  • Remplacez YOUR_JAVASCRIPT_FUNCTION par le nom de votre fonction JavaScript.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Spanner_to_GCS_Text \
    --parameters \
spannerProjectId=YOUR_PROJECT_ID,\
spannerDatabaseId=YOUR_DATABASE_ID,\
spannerInstanceId=YOUR_INSTANCE_ID,\
spannerTable=YOUR_TABLE_ID,\
textWritePrefix=gs://YOUR_BUCKET_NAME/output/,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION

API

Exécuter depuis l'API REST

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

gs://dataflow-templates/VERSION/Spanner_to_GCS_Text

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

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

  • Remplacez YOUR_PROJECT_ID par votre ID de projet.
  • Remplacez JOB_NAME par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez YOUR_DATABASE_ID par l'ID de base de données Cloud Spanner.
  • Remplacez YOUR_BUCKET_NAME par le nom de votre bucket Cloud Storage.
  • Remplacez YOUR_INSTANCE_ID par l'ID d'instance Cloud Spanner.
  • Remplacez YOUR_TABLE_ID par l'ID de la table Cloud Spanner.
  • Remplacez PATH_TO_JAVASCRIPT_UDF_FILE par le chemin d'accès Cloud Storage vers le fichier .js contenant votre code JavaScript.
  • Remplacez YOUR_JAVASCRIPT_FUNCTION par le nom de votre fonction JavaScript.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Spanner_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "spannerProjectId": "YOUR_PROJECT_ID",
       "spannerDatabaseId": "YOUR_DATABASE_ID",
       "spannerInstanceId": "YOUR_INSTANCE_ID",
       "spannerTable": "YOUR_TABLE_ID",
       "textWritePrefix": "gs://YOUR_BUCKET_NAME/output/",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Avro vers Cloud Bigtable

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

Conditions requises pour ce pipeline :

  • La table Cloud 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 de pipeline.
  • Cloud 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 GCP de l'instance Cloud Bigtable dans laquelle vous voulez écrire les données.
bigtableInstanceId ID de l'instance Cloud Bigtable qui contient la table.
bigtableTableId ID de la table Cloud Bigtable à importer.
inputFilePattern Modèle de chemin d'accès de Cloud Storage où se trouvent les données. Par exemple : gs://mybucket/somefolder/prefix*.

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

CONSOLE

Exécuter à partir de la console Google Cloud Platform
  1. Accédez à la page Cloud Dataflow dans la console GCP.
  2. Accéder à la page Cloud Dataflow
  3. Cliquez sur CREATE JOB FROM TEMPLATE (Créer une tâche à partir d'un modèle).
  4. Bouton "Créer une tâche à partir d'un modèle" dans la console Cloud Platform
  5. Sélectionnez the Cloud Spanner to Cloud Storage Text template dans le menu déroulant du modèle Cloud Dataflow.
  6. Saisissez un nom de tâche dans le champ Job Name (Nom de la tâche).
    • Votre nom de tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
    • Le nom de la tâche doit être conforme au format cloud-spanner-export-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] afin de pouvoir s'afficher dans la partie Cloud Spanner de la console GCP.
  7. Saisissez les valeurs de paramètres dans les champs fournis à cet effet.
  8. Cliquez sur Run Job (Exécuter la tâche).

GCLOUD

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

Remarque : Afin de pouvoir utiliser l'outil de ligne de commande gcloud pour exécuter des modèles, vous devez disposer du SDK Cloud version 138.0. ou de version ultérieure.

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

gs://dataflow-templates/VERSION/Spanner_to_GCS_Text

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

  • Remplacez [YOUR_PROJECT_ID] par votre ID de projet.
  • Remplacez [JOB_NAME] par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez [PROJECT_ID] par l'ID de projet GCP de l'instance Cloud Bigtable à partir de laquelle vous souhaitez lire les données.
  • Remplacez [INSTANCE_ID] par l'ID de l'instance Cloud Bigtable contenant la table.
  • Remplacez [TABLE_ID] par l'ID de la table Cloud Bigtable à exporter.
  • Remplacez [INPUT_FILE_PATTERN] par le format de chemin d'accès à Cloud Storage où se trouvent les données. Par exemple : gs://mybucket/somefolder/prefix*.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/Spanner_to_GCS_Text \
    --parameters bigtableProjectId=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],inputFilePattern=[INPUT_FILE_PATTERN]

API

Exécuter depuis l'API REST

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

gs://dataflow-templates/VERSION/Spanner_to_GCS_Text

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

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

  • Remplacez [YOUR_PROJECT_ID] par votre ID de projet.
  • Remplacez [JOB_NAME] par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez [PROJECT_ID] par l'ID de projet GCP de l'instance Cloud Bigtable à partir de laquelle vous souhaitez lire les données.
  • Remplacez [INSTANCE_ID] par l'ID de l'instance Cloud Bigtable contenant la table.
  • Remplacez [TABLE_ID] par l'ID de la table Cloud Bigtable à exporter.
  • Remplacez [INPUT_FILE_PATTERN] par le format de chemin d'accès à Cloud Storage où se trouvent les données. Par exemple : gs://mybucket/somefolder/prefix*.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/Spanner_to_GCS_Text
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProjectId": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "inputFilePattern": "[INPUT_FILE_PATTERN]",
   },
   "environment": { "zone": "us-central1-f" }
}

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 de Cloud Storage et 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 où les fichiers Avro doivent être importés.

Exécuter le modèle

CONSOLE

Exécuter à partir de la console Google Cloud Platform
  1. Accédez à la page Cloud Dataflow dans la console GCP.
  2. Accéder à la page Cloud Dataflow
  3. Cliquez sur CREATE JOB FROM TEMPLATE (Créer une tâche à partir d'un modèle).
  4. Bouton "Créer une tâche à partir d'un modèle" dans la console Cloud Platform
  5. Sélectionnez the Cloud Storage Avro to Cloud Spanner template dans le menu déroulant du modèle Cloud Dataflow.
  6. Saisissez un nom de tâche dans le champ Job Name (Nom de la tâche).
    • Votre nom de tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
    • Le nom de la tâche doit être conforme au format cloud-spanner-import-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] afin de pouvoir s'afficher dans la partie Cloud Spanner de la console GCP.
  7. Saisissez les valeurs de paramètres dans les champs fournis à cet effet.
  8. Cliquez sur Run Job (Exécuter la tâche).

GCLOUD

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

Remarque : Afin de pouvoir utiliser l'outil de ligne de commande gcloud pour exécuter des modèles, vous devez disposer du SDK Cloud version 138.0. ou de version ultérieure.

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

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner

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

  • Remplacez [YOUR_PROJECT_ID] par votre ID de projet.
  • Remplacez [JOB_NAME] par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez [PROJECT_ID] par l'ID de projet GCP de l'instance Cloud Bigtable à partir de laquelle vous souhaitez lire les données.
  • Remplacez [INSTANCE_ID] par l'ID de l'instance Cloud Bigtable contenant la table.
  • Remplacez [TABLE_ID] par l'ID de la table Cloud Bigtable à exporter.
  • Remplacez [INPUT_FILE_PATTERN] par le format de chemin d'accès à Cloud Storage où se trouvent les données. Par exemple : gs://mybucket/somefolder/prefix*.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location='gs://dataflow-templates/[VERSION]/GCS_Avro_to_Cloud_Spanner' \
    --region=[DATAFLOW_REGION] \
    --parameters='instanceId=[YOUR_INSTANCE_ID],databaseId=[YOUR_DATABASE_ID],inputDir=[YOUR_GCS_DIRECTORY]

API

Exécuter depuis l'API REST

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

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner

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

  • Remplacez [YOUR_PROJECT_ID] par votre ID de projet.
  • Remplacez [JOB_NAME] par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez [PROJECT_ID] par l'ID de projet GCP de l'instance Cloud Bigtable à partir de laquelle vous souhaitez lire les données.
  • Remplacez [INSTANCE_ID] par l'ID de l'instance Cloud Bigtable contenant la table.
  • Remplacez [TABLE_ID] par l'ID de la table Cloud Bigtable à exporter.
  • Remplacez [INPUT_FILE_PATTERN] par le format de chemin d'accès à Cloud Storage où se trouvent les données. Par exemple : gs://mybucket/somefolder/prefix*.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/locations/[DATAFLOW_REGION]/templates:launch?gcsPath=gs://dataflow-templates/[VERSION]/GCS_Avro_to_Cloud_Spanner
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "instanceId": "[YOUR_INSTANCE_ID]",
       "databaseId": "[YOUR_DATABASE_ID]",
       "inputDir": "gs://[YOUR_GCS_DIRECTORY]"
   },
   "environment": {
       "machineType": "n1-standard-2"
   }
}

Cloud Storage SequenceFile vers Cloud Bigtable

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

Conditions requises pour ce pipeline :

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

Paramètres de modèle

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

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

CONSOLE

Exécuter à partir de la console Google Cloud Platform
  1. Accédez à la page Cloud Dataflow dans la console GCP.
  2. Accéder à la page Cloud Dataflow
  3. Cliquez sur CREATE JOB FROM TEMPLATE (Créer une tâche à partir d'un modèle).
  4. Bouton "Créer une tâche à partir d'un modèle" dans la console Cloud Platform
  5. Sélectionnez the Cloud Storage Avro to Cloud Spanner template dans le menu déroulant du modèle Cloud Dataflow.
  6. Saisissez un nom de tâche dans le champ Job Name (Nom de la tâche).
    • Votre nom de tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
    • Le nom de la tâche doit être conforme au format cloud-spanner-import-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] afin de pouvoir s'afficher dans la partie Cloud Spanner de la console GCP.
  7. Saisissez les valeurs de paramètres dans les champs fournis à cet effet.
  8. Cliquez sur Run Job (Exécuter la tâche).

GCLOUD

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

Remarque : Afin de pouvoir utiliser l'outil de ligne de commande gcloud pour exécuter des modèles, vous devez disposer du SDK Cloud version 138.0. ou de version ultérieure.

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

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner

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

  • Remplacez [YOUR_PROJECT_ID] par votre ID de projet.
  • Remplacez [JOB_NAME] par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez [PROJECT_ID] par l'ID de projet GCP de l'instance Cloud Bigtable à partir de laquelle vous souhaitez lire les données.
  • Remplacez [INSTANCE_ID] par l'ID de l'instance Cloud Bigtable contenant la table.
  • Remplacez [TABLE_ID] par l'ID de la table Cloud Bigtable à exporter.
  • Remplacez [APPLICATION_PROFILE_ID] par l'ID du profil d'application Cloud Bigtable à utiliser pour l'exportation.
  • Remplacez [SOURCE_PATTERN] par le schéma de chemin d'accès à Cloud Storage où se trouvent les données. Par exemple : gs://mybucket/somefolder/prefix*.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/GCS_Avro_to_Cloud_Spanner \
    --parameters bigtableProject=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],bigtableAppProfileId=[APPLICATION_PROFILE_ID],sourcePattern=[SOURCE_PATTERN]

API

Exécuter depuis l'API REST

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

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner

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

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

  • Remplacez [YOUR_PROJECT_ID] par votre ID de projet.
  • Remplacez [JOB_NAME] par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez [PROJECT_ID] par l'ID de projet GCP de l'instance Cloud Bigtable à partir de laquelle vous souhaitez lire les données.
  • Remplacez [INSTANCE_ID] par l'ID de l'instance Cloud Bigtable contenant la table.
  • Remplacez [TABLE_ID] par l'ID de la table Cloud Bigtable à exporter.
  • Remplacez [APPLICATION_PROFILE_ID] par l'ID du profil d'application Cloud Bigtable à utiliser pour l'exportation.
  • Remplacez [SOURCE_PATTERN] par le schéma de chemin d'accès à Cloud Storage où se trouvent les données. Par exemple : gs://mybucket/somefolder/prefix*.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Avro_to_Cloud_Spanner
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProject": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "bigtableAppProfileId": "[APPLICATION_PROFILE_ID]",
       "sourcePattern": "[SOURCE_PATTERN]",
   },
   "environment": { "zone": "us-central1-f" }
}

Texte Cloud Storage vers BigQuery

Le pipeline de texte Cloud Storage vers BigQuery est un pipeline de 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 et de générer le résultat dans BigQuery.

IMPORTANT : Si vous réutilisez une table BigQuery existante, celle-ci sera écrasée.

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é "Schéma BigQuery" et que son contenu suit le modèle {“name”: ‘COLUMN NAME”, “type”:”DATA TYPE”}. Exemple :

    {
      "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. Remarque : Votre fonction doit renvoyer une chaîne JSON.

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

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

Paramètres de modèle

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

Exécuter le modèle de texte Cloud Storage dans BigQuery

CONSOLE

Exécuter à partir de la console Google Cloud Platform
  1. Accédez à la page Cloud Dataflow dans la console GCP.
  2. Accéder à la page Cloud Dataflow
  3. Cliquez sur CREATE JOB FROM TEMPLATE (Créer une tâche à partir d'un modèle).
  4. Bouton "Créer une tâche à partir d'un modèle" dans la console Cloud Platform
  5. Sélectionnez the Cloud Storage Text to BigQuery template dans le menu déroulant du modèle Cloud Dataflow.
  6. Saisissez un nom de tâche dans le champ Job Name (Nom de la tâche).
    • Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
    • Le nom de la tâche doit être conforme au format cloud-spanner-import-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] afin de pouvoir s'afficher dans la partie Cloud Spanner de la console GCP.
  7. Saisissez les valeurs de paramètres dans les champs fournis à cet effet.
  8. Cliquez sur Run Job (Exécuter la tâche).

GCLOUD

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

Remarque : Afin de pouvoir utiliser l'outil de ligne de commande gcloud pour exécuter des modèles, vous devez disposer du SDK Cloud version 138.0. ou de version ultérieure.

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

gs://dataflow-templates/VERSION/GCS_Text_to_BigQuery

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

  • Remplacez YOUR_PROJECT_ID par votre ID de projet.
  • Remplacez JOB_NAME par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez YOUR_JAVASCRIPT_FUNCTION par le nom de votre UDF.
  • Remplacez PATH_TO_BIGQUERY_SCHEMA_JSON par le chemin d'accès Cloud Storage au fichier JSON contenant la définition du schéma.
  • Remplacez PATH_TO_JAVASCRIPT_UDF_FILE par le chemin d'accès Cloud Storage au fichier .js contenant votre code JavaScript.
  • Remplacez PATH_TO_YOUR_TEXT_DATA par le chemin d'accès Cloud Storage à votre ensemble de données texte.
  • Remplacez BIGQUERY_TABLE par le nom de votre table BigQuery.
  • Remplacez PATH_TO_TEMP_DIR_ON_GCS par votre chemin d'accès Cloud Storage dans le répertoire temporaire.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_BigQuery \
    --parameters \
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION,\
JSONPath=PATH_TO_BIGQUERY_SCHEMA_JSON,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
inputFilePattern=PATH_TO_YOUR_TEXT_DATA,\
outputTable=BIGQUERY_TABLE,\
bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS

API

Exécuter depuis l'API REST

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

gs://dataflow-templates/VERSION/GCS_Text_to_BigQuery

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

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

  • Remplacez YOUR_PROJECT_ID par votre ID de projet.
  • Remplacez JOB_NAME par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez YOUR_JAVASCRIPT_FUNCTION par le nom de votre UDF.
  • Remplacez PATH_TO_BIGQUERY_SCHEMA_JSON par le chemin d'accès Cloud Storage au fichier JSON contenant la définition du schéma.
  • Remplacez PATH_TO_JAVASCRIPT_UDF_FILE par le chemin d'accès Cloud Storage au fichier .js contenant votre code JavaScript.
  • Remplacez PATH_TO_YOUR_TEXT_DATA par le chemin d'accès Cloud Storage à votre ensemble de données texte.
  • Remplacez BIGQUERY_TABLE par le nom de votre table BigQuery.
  • Remplacez PATH_TO_TEMP_DIR_ON_GCS par votre chemin d'accès Cloud Storage dans le répertoire temporaire.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Text_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION",
       "JSONPath": "PATH_TO_BIGQUERY_SCHEMA_JSON",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "inputFilePattern":"PATH_TO_YOUR_TEXT_DATA",
       "outputTable":"BIGQUERY_TABLE",
       "bigQueryLoadingTemporaryDirectory": "PATH_TO_TEMP_DIR_ON_GCS"
   },
   "environment": { "zone": "us-central1-f" }
}

Texte Cloud Storage vers Cloud Datastore

Le modèle de texte Cloud Storage vers Cloud Datastore est un pipeline par lots qui lit les fichiers texte stockés dans Cloud Storage et écrit les entités codées JSON dans Cloud Datastore. Chaque ligne des fichiers texte d'entrée doit être au format JSON spécifié dans https://cloud.google.com/datastore/docs/reference/rest/v1/Entity.

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 au fichier Cloud Storage qui spécifie l'emplacement de vos fichiers de données de texte. Par exemple : gs://mybucket/somepath/*.json.
javascriptTextTransformGcsPath Modèle de chemin d'accès Cloud Storage qui contient tous vos codes JavaScript. Par exemple, gs://mybucket/mytransforms/*.js. Si vous ne souhaitez pas fournir de fonction, ne renseignez pas ce paramètre.
javascriptTextTransformFunctionName Nom de la fonction JavaScript à appeler. Par exemple, si votre fonction JavaScript est function myTransform(inJson) { ...dostuff...}, le nom de la fonction est myTransform. Si vous ne souhaitez pas fournir de fonction, ne renseignez pas ce paramètre.
datastoreWriteProjectId ID du projet GCP où écrire les entités Cloud Datastore.
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 de Cloud Storage vers Datastore

CONSOLE

Exécuter à partir de la console Google Cloud Platform
  1. Accédez à la page Cloud Dataflow dans la console GCP.
  2. Accéder à la page Cloud Dataflow
  3. Cliquez sur CREATE JOB FROM TEMPLATE (Créer une tâche à partir d'un modèle).
  4. Bouton "Créer une tâche à partir d'un modèle" dans la console Cloud Platform
  5. Sélectionnez the Cloud Storage Text to Datastore template dans le menu déroulant du modèle Cloud Dataflow.
  6. Saisissez un nom de tâche dans le champ Job Name (Nom de la tâche).
    • Votre nom de tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
    • Le nom de la tâche doit être conforme au format cloud-spanner-import-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] afin de pouvoir s'afficher dans la partie Cloud Spanner de la console GCP.
  7. Saisissez les valeurs de paramètres dans les champs fournis à cet effet.
  8. Cliquez sur Run Job (Exécuter la tâche).

GCLOUD

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

Remarque : Afin de pouvoir utiliser l'outil de ligne de commande gcloud pour exécuter des modèles, vous devez disposer du SDK Cloud version 138.0. ou de version ultérieure.

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

gs://dataflow-templates/VERSION/GCS_Text_to_Datastore

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

  • Remplacez YOUR_PROJECT_ID par votre ID de projet.
  • Remplacez JOB_NAME par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez PATH_TO_INPUT_TEXT_FILES par le modèle de fichiers d'entrée sur Cloud Storage.
  • Remplacez YOUR_JAVASCRIPT_FUNCTION par le nom de votre fonction JavaScript.
  • Remplacez PATH_TO_JAVASCRIPT_UDF_FILE par le chemin d'accès Cloud Storage au fichier .js contenant votre code JavaScript.
  • Remplacez ERROR_FILE_WRITE_PATH par le chemin d'accès vers le fichier d'erreur sur Cloud Storage de votre choix.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_Datastore \
    --parameters \
textReadPattern=PATH_TO_INPUT_TEXT_FILES,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION,\
datastoreWriteProjectId=YOUR_PROJECT_ID,\
errorWritePath=ERROR_FILE_WRITE_PATH

API

Exécuter depuis l'API REST

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

gs://dataflow-templates/VERSION/GCS_Text_to_Datastore

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

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

  • Remplacez YOUR_PROJECT_ID par votre ID de projet.
  • Remplacez JOB_NAME par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez PATH_TO_INPUT_TEXT_FILES par le modèle de fichiers d'entrée sur Cloud Storage.
  • Remplacez YOUR_JAVASCRIPT_FUNCTION par le nom de votre fonction JavaScript.
  • Remplacez PATH_TO_JAVASCRIPT_UDF_FILE par le chemin d'accès Cloud Storage au fichier .js contenant votre code JavaScript.
  • Remplacez ERROR_FILE_WRITE_PATH par le chemin d'accès vers le fichier d'erreur sur Cloud Storage de votre choix.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Text_to_Datastore
{
   "jobName": "JOB_NAME",
   "parameters": {
       "textReadPattern": "PATH_TO_INPUT_TEXT_FILES",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION",
       "datastoreWriteProjectId": "YOUR_PROJECT_ID",
       "errorWritePath": "ERROR_FILE_WRITE_PATH"
   },
   "environment": { "zone": "us-central1-f" }
}

Texte Cloud Storage vers Cloud Pub/Sub (Lot)

Le modèle crée un pipeline par lots qui lit les enregistrements à partir de fichiers texte stockés dans Cloud Storage et les publie dans un thème Cloud Pub/Sub. Il peut être utilisé pour publier des enregistrements dans un fichier délimité par une nouvelle ligne contenant des enregistrements JSON ou un fichier CSV dans un thème Cloud Pub/Sub pour un traitement en temps réel. Vous pouvez utiliser ce modèle pour relire des données dans Cloud Pub/Sub.

Notez que ce modèle ne définit pas d'horodatage sur les enregistrements individuels. Par conséquent, la durée de l'événement sera égale à la date de publication au cours de l'exécution. Si votre pipeline dépend d'une heure d'événement précise pour le traitement, ne l'utilisez pas.

Conditions requises pour ce pipeline :

  • Les fichiers à lire doivent être au format JSON ou CSV délimité par une nouvelle ligne. Les enregistrements couvrant 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 Cloud Pub/Sub.
  • Le thème Cloud Pub/Sub doit exister avant l'exécution.

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 Fichier d'entrée Cloud Pub/Sub Cloud dans lequel écrire. Le nom doit être au format projects/<project-id>/topics/<topic-name>.

Exécuter le modèle de texte Cloud Storage vers Cloud Pub/Sub (par lots)

CONSOLE

Exécuter à partir de la console Google Cloud Platform
  1. Accédez à la page Cloud Dataflow dans la console GCP.
  2. Accéder à la page Cloud Dataflow
  3. Cliquez sur CREATE JOB FROM TEMPLATE (Créer une tâche à partir d'un modèle).
  4. Bouton "Créer une tâche à partir d'un modèle" dans la console Cloud Platform
  5. Sélectionnez the Cloud Storage Text to Cloud Pub/Sub (Batch) template dans le menu déroulant du modèle Cloud Dataflow.
  6. Saisissez un nom de tâche dans le champ Job Name (Nom de la tâche).
    • Votre nom de tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
    • Le nom de la tâche doit être conforme au format cloud-spanner-import-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] afin de pouvoir s'afficher dans la partie Cloud Spanner de la console GCP.
  7. Saisissez les valeurs de paramètres dans les champs fournis à cet effet.
  8. Cliquez sur Run Job (Exécuter la tâche).

GCLOUD

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

Remarque : Afin de pouvoir utiliser l'outil de ligne de commande gcloud pour exécuter des modèles, vous devez disposer du SDK Cloud version 138.0. ou de version ultérieure.

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

gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_PubSub

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

  • Remplacez YOUR_PROJECT_ID par votre ID de projet.
  • Remplacez JOB_NAME par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez YOUR_TOPIC_NAME par le nom de votre thème Cloud Pub/Sub.
  • Remplacez YOUR_BUCKET_NAME par le nom de votre bucket Cloud Storage.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_Cloud_PubSub \
    --parameters \
inputFilePattern=gs://YOUR_BUCKET_NAME/files/*.json,\
outputTopic=projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME

API

Exécuter depuis l'API REST

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

gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_PubSub

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

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

  • Remplacez YOUR_PROJECT_ID par votre ID de projet.
  • Remplacez JOB_NAME par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez YOUR_TOPIC_NAME par le nom de votre thème Cloud Pub/Sub.
  • Remplacez YOUR_BUCKET_NAME par le nom de votre bucket Cloud Storage.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Text_to_Cloud_PubSub
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputFilePattern": "gs://YOUR_BUCKET_NAME/files/*.json",
       "outputTopic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME"
   },
   "environment": { "zone": "us-central1-f" }
}

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.

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 où Cloud Dataflow est exécuté.

Paramètres de modèle

Paramètres Description
driverJars Liste séparée par des virgules de pilotes JAR. 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 La chaîne d'URL de connexion JDBC. Par exemple : jdbc:mysql://some-host:3306/sampledb.
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 pour le processus de chargement de BigQuery. Par exemple : gs://<my-bucket>/my-files/temp_dir.
connectionProperties [Facultatif] Chaîne de propriétés à utiliser pour la connexion JDBC. Par exemple : unicode=true&characterEncoding=UTF-8.
username [Facultatif] Nom d'utilisateur à utiliser pour la connexion JDBC.
password [Facultatif] Mot de passe à utiliser pour la connexion JDBC.

Exécuter le modèle JDBC vers BigQuery

CONSOLE

Exécuter à partir de la console Google Cloud Platform
  1. Accédez à la page Cloud Dataflow dans la console GCP.
  2. Accéder à la page Cloud Dataflow
  3. Cliquez sur CREATE JOB FROM TEMPLATE (Créer une tâche à partir d'un modèle).
  4. Bouton "Créer une tâche à partir d'un modèle" dans la console Cloud Platform
  5. Sélectionnez the JDBC to BigQuery template dans le menu déroulant du modèle Cloud Dataflow.
  6. Saisissez un nom de tâche dans le champ Job Name (Nom de la tâche).
    • Votre nom de tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
    • Le nom de la tâche doit être conforme au format cloud-spanner-import-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] afin de pouvoir s'afficher dans la partie Cloud Spanner de la console GCP.
  7. Saisissez les valeurs de paramètres dans les champs fournis à cet effet.
  8. Cliquez sur Run Job (Exécuter la tâche).

GCLOUD

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

Remarque : Afin de pouvoir utiliser l'outil de ligne de commande gcloud pour exécuter des modèles, vous devez disposer du SDK Cloud version 138.0. ou de version ultérieure.

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

gs://dataflow-templates/VERSION/Jdbc_to_BigQuery

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

  • Remplacez YOUR_PROJECT_ID par votre ID de projet.
  • Remplacez JOB_NAME par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez DRIVER_PATHS par le(s) chemin(s) d'accès Cloud Storage séparé(s) par des virgules vers le(s) pilote(s) JDBC.
  • Remplacez DRIVER_CLASS_NAME par le nom de classe du pilote.
  • Remplacez JDBC_CONNECTION_URL par l'URL de connexion JDBC.
  • Remplacez SOURCE_SQL_QUERY par la requête SQL à exécuter sur la base de données source.
  • Remplacez YOUR_DATASET par votre ensemble de données BigQuery et remplacez YOUR_TABLE_NAME par le nom de votre table BigQuery.
  • Remplacez PATH_TO_TEMP_DIR_ON_GCS par votre chemin d'accès Cloud Storage dans le répertoire temporaire.
  • Remplacez CONNECTION_PROPERTIES par les propriétés de connexion JDBC, le cas échéant.
  • Remplacez CONNECTION_USERNAME par le nom d'utilisateur de la connexion JDBC.
  • Remplacez CONNECTION_PASSWORD par le mot de passe de la connexion JDBC.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Jdbc_to_BigQuery \
    --parameters \
driverJars=DRIVER_PATHS,\
driverClassName=DRIVER_CLASS_NAME,\
connectionURL=JDBC_CONNECTION_URL,\
query=SOURCE_SQL_QUERY,\
outputTable=YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME,
bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS,\
connectionProperties=CONNECTION_PROPERTIES,\
username=CONNECTION_USERNAME,\
password=CONNECTION_PASSWORD

API

Exécuter depuis l'API REST

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

gs://dataflow-templates/VERSION/Jdbc_to_BigQuery

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

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

  • Remplacez YOUR_PROJECT_ID par votre ID de projet.
  • Remplacez JOB_NAME par le nom de tâche de votre choix. Le nom de la tâche doit correspondre à l'expression régulière [a-z]([-a-z0-9]{0,38}[a-z0-9])? pour être valide.
  • Remplacez DRIVER_PATHS par le(s) chemin(s) d'accès Cloud Storage séparé(s) par des virgules vers le(s) pilote(s) JDBC.
  • Remplacez DRIVER_CLASS_NAME par le nom de classe du pilote.
  • Remplacez JDBC_CONNECTION_URL par l'URL de connexion JDBC.
  • Remplacez SOURCE_SQL_QUERY par la requête SQL à exécuter sur la base de données source.
  • Remplacez YOUR_DATASET par votre ensemble de données BigQuery et remplacez YOUR_TABLE_NAME par le nom de votre table BigQuery.
  • Remplacez PATH_TO_TEMP_DIR_ON_GCS par votre chemin d'accès Cloud Storage dans le répertoire temporaire.
  • Remplacez CONNECTION_PROPERTIES par les propriétés de connexion JDBC, le cas échéant.
  • Remplacez CONNECTION_USERNAME par le nom d'utilisateur de la connexion JDBC.
  • Remplacez CONNECTION_PASSWORD par le mot de passe de la connexion JDBC.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Jdbc_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "driverJars": "DRIVER_PATHS",
       "driverClassName": "DRIVER_CLASS_NAME",
       "connectionURL": "JDBC_CONNECTION_URL",
       "query": "SOURCE_SQL_QUERY",
       "outputTable": "YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME",
       "bigQueryLoadingTemporaryDirectory": "PATH_TO_TEMP_DIR_ON_GCS",
       "connectionProperties": "CONNECTION_PROPERTIES",
       "username": "CONNECTION_USERNAME",
       "password": "CONNECTION_PASSWORD"
   },
   "environment": { "zone": "us-central1-f" }
}
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

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