Modèle BigQuery Export 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 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

  1. Accédez à la page Dataflow Créer un job à partir d'un modèle.
  2. Accéder à la page Créer un job à partir d'un modèle
  3. Dans le champ Nom du job, saisissez un nom de job unique.
  4. 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.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the BigQuery export to Parquet (via Storage API) template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. 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 Dataflow
  • JOB_NAME : nom de job unique de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

  • REGION_NAME : région dans laquelle vous souhaitez déployer votre job Dataflow, par exemple us-central1
  • BIGQUERY_TABLE : nom de votre table BigQuery.
  • OUTPUT_DIRECTORY : dossier Cloud Storage pour les fichiers de sortie
  • NUM_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 Dataflow
  • JOB_NAME : nom de job unique de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

  • LOCATION : région dans laquelle vous souhaitez déployer votre job Dataflow, par exemple us-central1
  • BIGQUERY_TABLE : nom de votre table BigQuery.
  • OUTPUT_DIRECTORY : dossier Cloud Storage pour les fichiers de sortie
  • NUM_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