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
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 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 dataflow flex-template run JOB_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
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/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
Étape suivante
- Apprenez-en plus sur les modèles Dataflow.
- Consultez la liste des modèles fournis par Google.