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 obligatoires
- tableRef: emplacement de la table d'entrée BigQuery. Exemple :
your-project:your-dataset.your-table-name
- bucket: dossier Cloud Storage dans lequel écrire les fichiers Parquet. Exemple :
gs://your-bucket/export/
Paramètres facultatifs
- numShards: nombre de segments de fichiers de sortie. La valeur par défaut est
1
. - fields: liste des champs à sélectionner dans la table BigQuery d'entrée, séparés par une virgule.
- rowRestriction: lignes en lecture seule qui correspondent au filtre spécifié, qui doit être une expression SQL compatible avec le langage SQL standard de Google (https://cloud.google.com/bigquery/docs/reference/standard-sql). Si aucune valeur n'est spécifiée, toutes les lignes sont renvoyées.
Exécuter le modèle
- 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 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).
Dans le shell ou le terminal, exécutez le modèle :
gcloud dataflow flex-template runJOB_NAME \ --project=PROJECT_ID \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME /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 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/
REGION_NAME
: région dans laquelle vous souhaitez déployer votre job Dataflow, par exempleus-central1
BIGQUERY_TABLE
: nom de votre table BigQuery.OUTPUT_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
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 /flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME ", "parameters": { "tableRef": "BIGQUERY_TABLE ", "bucket": "OUTPUT_DIRECTORY ", "numShards": "NUM_SHARDS ", "fields": "FIELDS " }, "containerSpecGcsPath": "gs://dataflow-templates-LOCATION /VERSION /flex/BigQuery_to_Parquet", } }
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
BIGQUERY_TABLE
: nom de votre table BigQuery.OUTPUT_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
Code source du modèle
Étape suivante
- Apprenez-en plus sur les modèles Dataflow.
- Consultez la liste des modèles fournis par Google.