Charger des exemples de données

Ce document explique comment charger une petite quantité de données au format CSV dans Spanner. Vous pouvez charger des échantillons de données avant migrer des données de production pour tester les schémas, les requêtes et les applications.

Avant de commencer

  1. Installez la Google Cloud CLI ou utilisez Cloud Shell, tous les outils nécessaires sont préinstallés.

  2. Pour obtenir les autorisations nécessaires à l'exportation des données BigQuery vers Spanner, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :

    • Exporter des données depuis une table BigQuery: roles/bigquery.dataViewerLecteur de données BigQuery
    • Pour exécuter un job d'exportation : Utilisateur BigQuery (roles/bigquery.user)
    • Écrivez des données dans une table Spanner: Utilisateur de base de données Spanner (roles/spanner.databaseUser)

    Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

    Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Charger des exemples de données dans Spanner

Les instructions suivantes sont effectuées à l'aide du ETL inversé BigQuery du workflow et de la Google Cloud CLI.

  1. Définissez un projet par défaut dans la gcloud CLI à l'aide de la commande suivante:

     gcloud config set project PROJECT_ID
  2. Exportez les données sources au format de fichier CSV. Envisagez d'utiliser pg_dump pour les bases de données PostgreSQL ou mysqldump pour les outils de bases de données MySQL afin de convertir vos échantillons de données au format CSV .

  3. Chargez les données dans BigQuery à l'aide des commandes bq suivantes:

    1. Créez un ensemble de données BigQuery.

      bq mk BQ_DATASET
    2. Chargez les données par lot dans une nouvelle table BigQuery.

      bq load \
      --source_format=CSV \
      --autodetect \
      --allow_quoted_newlines \
      BQ_DATASET.BQ_TABLE /path/to/file

      Vous pouvez également charger les données par lot à partir d'un fichier Cloud Storage.

      bq load \
      --source_format=CSV \
      --autodetect \
      --allow_quoted_newlines \
      BQ_DATASET.BQ_TABLE gs://BUCKET/FILE
  4. Créer un schéma Spanner correspondant au schéma importé BQ_TABLE à l'aide de la commande suivante:

     gcloud spanner databases ddl update SPANNER_DATABASE \
     --instance=SPANNER_INSTANCE \
     --ddl="CREATE TABLE SPANNER_TABLE ..."

    Pour plus d'informations, consultez la page Mettre à jour le schéma Spanner.

  5. Exporter des données de BigQuery vers Spanner à l'aide de la commande suivante:

       bq --use_legacy_sql=false 'EXPORT DATA OPTIONS(
         uri="https://spanner.googleapis.com/projects/PROJECT_ID/instances/SPANNER_INSTANCE/databases/SPANNER_DATABASE"
         format='CLOUD_SPANNER'
         spanner_options="""{ "table": "SPANNER_TABLE" }"""
         ) AS
         SELECT *
         FROM BQ_DATASET.BQ_TABLE;'
     

Étape suivante