Carga datos de muestra

Este documento brinda instrucciones sobre cómo cargar una pequeña cantidad de datos en el formato de archivo CSV a Spanner. Puedes cargar datos de muestra antes de realizar una migración de datos de producción para probar esquemas, consultas y aplicaciones.

Antes de comenzar

  1. Instala Google Cloud CLI o usa Cloud Shell, que que tenga preinstaladas todas las herramientas necesarias.

  2. Para obtener los permisos que necesitas para exportar los datos de BigQuery a Spanner, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:

    • Exporta datos de una tabla de BigQuery: Visualizador de datos de BigQuery (roles/bigquery.dataViewer)
    • Ejecutar un trabajo de exportación: Usuario de BigQuery (roles/bigquery.user)
    • Escribir datos en una tabla de Spanner: Usuario de base de datos de Spanner (roles/spanner.databaseUser)

    Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

    También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Carga datos de muestra en Spanner

Las siguientes instrucciones se llevan a cabo con el ETL inverso de BigQuery de Terraform y Google Cloud CLI.

  1. Configura un proyecto predeterminado en gcloud CLI con el siguiente comando:

     gcloud config set project PROJECT_ID
  2. Exporta los datos de origen en formato de archivo CSV. Considera usar pg_dump para bases de datos de PostgreSQL o mysqldump para herramientas de bases de datos de MySQL para convertir tus datos de muestra al formato de archivo CSV.

  3. Carga los datos en BigQuery con los siguientes comandos bq:

    1. Crear un conjunto de datos de BigQuery

      bq mk BQ_DATASET
    2. Carga los datos por lotes en una tabla nueva de BigQuery.

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

      Como alternativa, puedes cargar los datos por lotes desde un archivo de Cloud Storage.

      bq load \
      --source_format=CSV \
      --autodetect \
      --allow_quoted_newlines \
      BQ_DATASET.BQ_TABLE gs://BUCKET/FILE
  4. Crea un esquema de Spanner que coincida con el BQ_TABLE importado con el siguiente comando:

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

    Para obtener más información, consulta Actualiza el esquema de Spanner.

  5. Para exportar datos de BigQuery a Spanner, usa el siguiente comando:

       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;'
     

¿Qué sigue?