Cargar datos de ejemplo

En este documento se explica cómo cargar una pequeña cantidad de datos en formato de archivo CSV en Spanner. Puedes cargar datos de ejemplo antes de migrar los datos de producción para probar esquemas, consultas y aplicaciones.

Antes de empezar

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

  2. Para obtener los permisos que necesitas para exportar datos de BigQuery a Spanner, pide a tu administrador que te asigne los siguientes roles de gestión de identidades y accesos en tu proyecto:

    • Exportar datos de una tabla de BigQuery: Lector de datos de BigQuery (roles/bigquery.dataViewer)
    • Ejecuta una tarea de exportación: Usuario de BigQuery (roles/bigquery.user)
    • Escribir datos en una tabla de Spanner: Usuario de las bases de datos de Spanner (roles/spanner.databaseUser)

    Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

    También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Cargar datos de muestra en Spanner

Las siguientes instrucciones se llevan a cabo mediante el flujo de trabajo de ETL inverso de BigQuery y la CLI de Google Cloud.

  1. Define 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. Puedes usar pg_dump para bases de datos PostgreSQL o mysqldump para bases de datos MySQL con el fin de convertir los datos de muestra al formato de archivo CSV.

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

    1. Crea un conjunto de datos de BigQuery.

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

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

      También 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 Actualizar 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;'
     

Siguientes pasos