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 obligatoires
- readQuery: requête SQL BigQuery qui extrait les données de la source. Exemple :
select * from dataset1.sample_table
- outputDirectory: préfixe du chemin d'accès de niveau supérieur dans Cloud Storage à utiliser lors de l'écriture des fichiers TFRecord d'entraînement, de test et de validation. 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
.
Paramètres facultatifs
- readIdColumn: nom de la colonne BigQuery stockant l'identifiant unique de la ligne.
- invalidOutputPath: chemin d'accès Cloud Storage où écrire les lignes BigQuery qui ne peuvent pas être converties en entités cibles. Exemple :
gs://your-bucket/your-path
- outputSuffix: suffixe des fichiers TFRecord d'entraînement, de test et de validation écrits. La valeur par défaut est
.tfrecord
. - trainingPercentage: pourcentage des données de requête alloué aux fichiers TFRecord d'entraînement. La valeur par défaut est
1
ou100%
. - testingPercentage: pourcentage des données de requête alloué aux fichiers TFRecord de test. La valeur par défaut est
0
ou0%
. - validationPercentage: pourcentage des données de requête alloué aux fichiers TFRecord de validation. La valeur par défaut est
0
ou0%
.
Exécuter le modèle
Console
- Accédez à la page Dataflow Créer un job à partir d'un modèle. Accéder à la page Créer un job à partir d'un modèle
- Dans le champ Nom du job, saisissez un nom de job unique.
- Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. La région par défaut est
us-central1
.Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter un job 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-REGION_NAME/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 job unique 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-REGION_NAME/latest/- Le nom de la version, par exemple
2023-09-12-00_RC00
, pour utiliser une version spécifique du modèle, qui est imbriqué dans le dossier parent daté respectif dans le bucket : gs://dataflow-templates-REGION_NAME/
REGION_NAME
: région dans laquelle vous souhaitez déployer votre job 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, ses autorisations et leurs champs d'application, consultez la section projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/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 Google Cloud dans lequel vous souhaitez exécuter le job DataflowJOB_NAME
: nom de job unique 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-REGION_NAME/latest/- Le nom de la version, par exemple
2023-09-12-00_RC00
, pour utiliser une version spécifique du modèle, qui est imbriqué dans le dossier parent daté respectif dans le bucket : gs://dataflow-templates-REGION_NAME/
LOCATION
: région dans laquelle vous souhaitez déployer votre job 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
Étape suivante
- Apprenez-en plus sur les modèles Dataflow.
- Consultez la liste des modèles fournis par Google.