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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the BigQuery to TFRecords template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
READ_QUERY
: requête BigQuery à exécuterOUTPUT_DIRECTORY
: préfixe du chemin d'accès Cloud Storage pour les ensembles de données de sortieTRAINING_PERCENTAGE
: valeur décimale du pourcentage représentant la fraction de l'ensemble de données d'entraînementTESTING_PERCENTAGE
: valeur décimale du pourcentage représentant la fraction de l'ensemble de données de testVALIDATION_PERCENTAGE
: valeur décimale du pourcentage représentant la fraction de l'ensemble de données de validationOUTPUT_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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
READ_QUERY
: requête BigQuery à exécuterOUTPUT_DIRECTORY
: préfixe du chemin d'accès Cloud Storage pour les ensembles de données de sortieTRAINING_PERCENTAGE
: valeur décimale du pourcentage représentant la fraction de l'ensemble de données d'entraînementTESTING_PERCENTAGE
: valeur décimale du pourcentage représentant la fraction de l'ensemble de données de testVALIDATION_PERCENTAGE
: valeur décimale du pourcentage représentant la fraction de l'ensemble de données de validationOUTPUT_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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the BigQuery export to Parquet (via Storage API) template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
BIGQUERY_TABLE
: nom de votre table BigQueryOUTPUT_DIRECTORY
: dossier Cloud Storage pour les fichiers de sortieNUM_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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
BIGQUERY_TABLE
: nom de votre table BigQueryOUTPUT_DIRECTORY
: dossier Cloud Storage pour les fichiers de sortieNUM_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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the BigQuery to Elasticsearch template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 DataflowJOB_NAME
: nom de la tâche de votre choixREGION_NAME
: point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exempleus-central1
VERSION
: version du modèle que vous souhaitez utiliserVous 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 DataflowJOB_NAME
: nom de la tâche de votre choixLOCATION
: point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exempleus-central1
VERSION
: version du modèle que vous souhaitez utiliserVous 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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the BigQuery to MongoDB template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 DataflowJOB_NAME
: nom de la tâche de votre choixREGION_NAME
: point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exempleus-central1
VERSION
: version du modèle que vous souhaitez utiliserVous 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 DataflowJOB_NAME
: nom de la tâche de votre choixLOCATION
: point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exempleus-central1
VERSION
: version du modèle que vous souhaitez utiliserVous 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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the Cloud Bigtable to Avro Files on Cloud Storage template .
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
BIGTABLE_PROJECT_ID
: ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les donnéesINSTANCE_ID
: ID de l'instance Bigtable qui contient la tableTABLE_ID
: ID de la table Bigtable à exporterOUTPUT_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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
BIGTABLE_PROJECT_ID
: ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les donnéesINSTANCE_ID
: ID de l'instance Bigtable qui contient la tableTABLE_ID
: ID de la table Bigtable à exporterOUTPUT_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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the Cloud Bigtable to Parquet Files on Cloud Storage template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
BIGTABLE_PROJECT_ID
: ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les donnéesINSTANCE_ID
: ID de l'instance Bigtable qui contient la tableTABLE_ID
: ID de la table Bigtable à exporterOUTPUT_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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
BIGTABLE_PROJECT_ID
: ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les donnéesINSTANCE_ID
: ID de l'instance Bigtable qui contient la tableTABLE_ID
: ID de la table Bigtable à exporterOUTPUT_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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the Cloud Bigtable to SequenceFile Files on Cloud Storage template .
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
BIGTABLE_PROJECT_ID
: ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les donnéesINSTANCE_ID
: ID de l'instance Bigtable qui contient la tableTABLE_ID
: ID de la table Bigtable à exporterAPPLICATION_PROFILE_ID
: ID du profil d'application Bigtable à utiliser pour l'exportationDESTINATION_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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
BIGTABLE_PROJECT_ID
: ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les donnéesINSTANCE_ID
: ID de l'instance Bigtable qui contient la tableTABLE_ID
: ID de la table Bigtable à exporterAPPLICATION_PROFILE_ID
: ID du profil d'application Bigtable à utiliser pour l'exportationDESTINATION_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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the Datastore to Text Files on Cloud Storage template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 choixREGION_NAME
: point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exempleus-central1
VERSION
: version du modèle que vous souhaitez utiliserVous 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 StorageDATASTORE_PROJECT_ID
: ID de projet Cloud dans lequel se trouve l'instance DatastoreDATASTORE_KIND
: type de vos entités DatastoreDATASTORE_NAMESPACE
: espace de noms de vos entités DatastoreJAVASCRIPT_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 estmyTransform
. 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 DataflowJOB_NAME
: nom de la tâche de votre choixLOCATION
: point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exempleus-central1
VERSION
: version du modèle que vous souhaitez utiliserVous 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 StorageDATASTORE_PROJECT_ID
: ID de projet Cloud dans lequel se trouve l'instance DatastoreDATASTORE_KIND
: type de vos entités DatastoreDATASTORE_NAMESPACE
: espace de noms de vos entités DatastoreJAVASCRIPT_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 estmyTransform
. 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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the Firestore to Text Files on Cloud Storage template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 choixREGION_NAME
: point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exempleus-central1
VERSION
: version du modèle que vous souhaitez utiliserVous 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 StorageFIRESTORE_PROJECT_ID
: ID de projet Cloud dans lequel se trouve l'instance FirestoreFIRESTORE_KIND
: type de vos entités FirestoreFIRESTORE_NAMESPACE
: espace de noms de vos entités FirestoreJAVASCRIPT_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 estmyTransform
. 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 DataflowJOB_NAME
: nom de la tâche de votre choixLOCATION
: point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exempleus-central1
VERSION
: version du modèle que vous souhaitez utiliserVous 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 StorageFIRESTORE_PROJECT_ID
: ID de projet Cloud dans lequel se trouve l'instance FirestoreFIRESTORE_KIND
: type de vos entités FirestoreFIRESTORE_NAMESPACE
: espace de noms de vos entités FirestoreJAVASCRIPT_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 estmyTransform
. 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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- 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 SpannerSPANNER_DATABASE_NAME
: nom de votre base de données Spanner
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the Cloud Spanner to Avro Files on Cloud Storage template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 choixLe 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 utiliserVous 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 exempleus-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 SpannerDATABASE_ID
: votre ID de base de données Cloud SpannerGCS_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 DataflowJOB_NAME
: nom de la tâche de votre choixLe 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 utiliserVous 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 exempleus-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 SpannerDATABASE_ID
: votre ID de base de données Cloud SpannerGCS_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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the Cloud Spanner to Text Files on Cloud Storage template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
SPANNER_PROJECT_ID
: ID de projet Cloud de la base de données Spanner à partir de laquelle vous souhaitez lire les donnéesDATABASE_ID
: ID de la base de données SpannerBUCKET_NAME
: nom du bucket Cloud StorageINSTANCE_ID
: ID d'instance SpannerTABLE_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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
SPANNER_PROJECT_ID
: ID de projet Cloud de la base de données Spanner à partir de laquelle vous souhaitez lire les donnéesDATABASE_ID
: ID de la base de données SpannerBUCKET_NAME
: nom du bucket Cloud StorageINSTANCE_ID
: ID d'instance SpannerTABLE_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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the Avro Files on Cloud Storage to Cloud Bigtable template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
BIGTABLE_PROJECT_ID
: ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les donnéesINSTANCE_ID
: ID de l'instance Bigtable qui contient la tableTABLE_ID
: ID de la table Bigtable à exporterINPUT_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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
BIGTABLE_PROJECT_ID
: ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les donnéesINSTANCE_ID
: ID de l'instance Bigtable qui contient la tableTABLE_ID
: ID de la table Bigtable à exporterINPUT_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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- 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 SpannerSPANNER_DATABASE_NAME
: nom de votre base de données Spanner
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the Avro Files on Cloud Storage to Cloud Spanner template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
INSTANCE_ID
: ID de l'instance Spanner contenant la base de donnéesDATABASE_ID
: ID de la base de données Spanner dans laquelle effectuer l'importationGCS_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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
INSTANCE_ID
: ID de l'instance Spanner contenant la base de donnéesDATABASE_ID
: ID de la base de données Spanner dans laquelle effectuer l'importationGCS_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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the Parquet Files on Cloud Storage to Cloud Bigtable template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
BIGTABLE_PROJECT_ID
: ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les donnéesINSTANCE_ID
: ID de l'instance Bigtable qui contient la tableTABLE_ID
: ID de la table Bigtable à exporterINPUT_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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
BIGTABLE_PROJECT_ID
: ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les donnéesINSTANCE_ID
: ID de l'instance Bigtable qui contient la tableTABLE_ID
: ID de la table Bigtable à exporterINPUT_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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the SequenceFile Files on Cloud Storage to Cloud Bigtable template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
BIGTABLE_PROJECT_ID
: ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les donnéesINSTANCE_ID
: ID de l'instance Bigtable qui contient la tableTABLE_ID
: ID de la table Bigtable à exporterAPPLICATION_PROFILE_ID
: ID du profil d'application Bigtable à utiliser pour l'exportationSOURCE_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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
BIGTABLE_PROJECT_ID
: ID du projet Google Cloud de l'instance Bigtable dont vous souhaitez lire les donnéesINSTANCE_ID
: ID de l'instance Bigtable qui contient la tableTABLE_ID
: ID de la table Bigtable à exporterAPPLICATION_PROFILE_ID
: ID du profil d'application Bigtable à utiliser pour l'exportationSOURCE_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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the Text Files on Cloud Storage to BigQuery (Batch) template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-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 estmyTransform
. 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émaPATH_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 texteBIGQUERY_TABLE
: nom de votre table BigQueryPATH_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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-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 estmyTransform
. 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émaPATH_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 texteBIGQUERY_TABLE
: nom de votre table BigQueryPATH_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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the Text Files on Cloud Storage to Datastore template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
PATH_TO_INPUT_TEXT_FILES
: modèle de fichiers d'entrée sur Cloud StorageJAVASCRIPT_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 estmyTransform
. 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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
PATH_TO_INPUT_TEXT_FILES
: modèle de fichiers d'entrée sur Cloud StorageJAVASCRIPT_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 estmyTransform
. 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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the Text Files on Cloud Storage to Firestore template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
PATH_TO_INPUT_TEXT_FILES
: modèle de fichiers d'entrée sur Cloud StorageJAVASCRIPT_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 estmyTransform
. 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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
PATH_TO_INPUT_TEXT_FILES
: modèle de fichiers d'entrée sur Cloud StorageJAVASCRIPT_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 estmyTransform
. 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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the Text Files on Cloud Storage to Pub/Sub (Batch) template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
TOPIC_NAME
: nom de votre sujet Pub/SubBUCKET_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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
TOPIC_NAME
: nom de votre sujet Pub/SubBUCKET_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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the Text Files on Cloud Storage to Cloud Spanner template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
INSTANCE_ID
: votre ID d'instance Cloud SpannerDATABASE_ID
: votre ID de base de données Cloud SpannerGCS_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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
INSTANCE_ID
: votre ID d'instance Cloud SpannerDATABASE_ID
: votre ID de base de données Cloud SpannerGCS_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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the Cloud Storage to Elasticsearch template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the JDBC to BigQuery template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
DRIVER_PATHS
: chemin(s) d'accès Cloud Storage séparé(s) par des virgules vers le(s) pilote(s) JDBCDRIVER_CLASS_NAME
: nom de classe du piloteJDBC_CONNECTION_URL
: URL de connexion JDBCSOURCE_SQL_QUERY
: requête SQL à exécuter sur la base de données sourceDATASET
: votre ensemble de données BigQuery, etTABLE_NAME
: le nom de votre table BigQueryPATH_TO_TEMP_DIR_ON_GCS
: chemin d'accès Cloud Storage au répertoire temporaireCONNECTION_PROPERTIES
: les propriétés de connexion JDBC, le cas échéantCONNECTION_USERNAME
: nom d'utilisateur de la connexion JDBCCONNECTION_PASSWORD
: mot de passe de la connexion JDBCKMS_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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
DRIVER_PATHS
: chemin(s) d'accès Cloud Storage séparé(s) par des virgules vers le(s) pilote(s) JDBCDRIVER_CLASS_NAME
: nom de classe du piloteJDBC_CONNECTION_URL
: URL de connexion JDBCSOURCE_SQL_QUERY
: requête SQL à exécuter sur la base de données sourceDATASET
: votre ensemble de données BigQuery, etTABLE_NAME
: le nom de votre table BigQueryPATH_TO_TEMP_DIR_ON_GCS
: chemin d'accès Cloud Storage au répertoire temporaireCONNECTION_PROPERTIES
: les propriétés de connexion JDBC, le cas échéantCONNECTION_USERNAME
: nom d'utilisateur de la connexion JDBCCONNECTION_PASSWORD
: mot de passe de la connexion JDBCKMS_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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the JDBC to Pub/Sub template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
DRIVER_CLASS_NAME
: nom de la classe du piloteJDBC_CONNECTION_URL
: URL de connexion JDBCDRIVER_PATHS
: chemin(s) d'accès Cloud Storage séparé(s) par des virgules vers le(s) pilote(s) JDBCCONNECTION_USERNAME
: nom d'utilisateur de la connexion JDBCCONNECTION_PASSWORD
: mot de passe de la connexion JDBCCONNECTION_PROPERTIES
: les propriétés de connexion JDBC, le cas échéantSOURCE_SQL_QUERY
: requête SQL à exécuter sur la base de données sourceOUTPUT_TOPIC
: sujet Pub/Sub dans lequel publierKMS_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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
DRIVER_CLASS_NAME
: nom de la classe du piloteJDBC_CONNECTION_URL
: URL de connexion JDBCDRIVER_PATHS
: chemin(s) d'accès Cloud Storage séparé(s) par des virgules vers le(s) pilote(s) JDBCCONNECTION_USERNAME
: nom d'utilisateur de la connexion JDBCCONNECTION_PASSWORD
: mot de passe de la connexion JDBCCONNECTION_PROPERTIES
: les propriétés de connexion JDBC, le cas échéantSOURCE_SQL_QUERY
: requête SQL à exécuter sur la base de données sourceOUTPUT_TOPIC
: sujet Pub/Sub dans lequel publierKMS_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
etTimestamp
sont convertis en objetsDateTime
.UUID
est converti enString
.Varint
est converti enBigDecimal
.
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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the Cassandra to Cloud Bigtable template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
BIGTABLE_PROJECT_ID
: ID du projet dans lequel se trouve l'instance Cloud BigtableBIGTABLE_INSTANCE_ID
: ID de l'instance Cloud BigtableBIGTABLE_TABLE_ID
: nom de votre table Cloud BigtableCASSANDRA_HOSTS
: liste d'hôtes Apache Cassandra ; si plusieurs hôtes sont fournis, suivez les instructions expliquant comment échapper les virgulesCASSANDRA_KEYSPACE
: espace de clés Apache Cassandra dans lequel se trouve la tableCASSANDRA_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 DataflowJOB_NAME
: nom de la tâche de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous 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 exempleus-central1
BIGTABLE_PROJECT_ID
: ID du projet dans lequel se trouve l'instance Cloud BigtableBIGTABLE_INSTANCE_ID
: ID de l'instance Cloud BigtableBIGTABLE_TABLE_ID
: nom de votre table Cloud BigtableCASSANDRA_HOSTS
: liste d'hôtes Apache Cassandra ; si plusieurs hôtes sont fournis, suivez les instructions expliquant comment échapper les virgulesCASSANDRA_KEYSPACE
: espace de clés Apache Cassandra dans lequel se trouve la tableCASSANDRA_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
- Accédez à la page Dataflow Créer une tâche à partir d'un modèle. Accéder à la page Créer une tâche à partir d'un modèle
- Dans le champ Nom de la tâche, saisissez un nom de tâche unique.
- 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.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the MongoDB to BigQuery template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- 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 DataflowJOB_NAME
: nom de la tâche de votre choixREGION_NAME
: point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exempleus-central1
VERSION
: version du modèle que vous souhaitez utiliserVous 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 DataflowJOB_NAME
: nom de la tâche de votre choixLOCATION
: point de terminaison régional où vous souhaitez déployer votre tâche Dataflow, par exempleus-central1
VERSION
: version du modèle que vous souhaitez utiliserVous 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.