Carregue dados de amostra

Este documento fornece instruções sobre como carregar uma pequena quantidade de dados no formato de ficheiro CSV para o Spanner. Pode carregar dados de amostra antes de fazer uma migração de dados de produção para testar esquemas, consultas e aplicações.

Antes de começar

  1. Instale a CLI Google Cloud ou use o Cloud Shell, que tem todas as ferramentas necessárias pré-instaladas.

  2. Para receber as autorizações de que precisa para exportar dados do BigQuery para o Spanner, peça ao seu administrador que lhe conceda as seguintes funções do IAM no seu projeto:

    • Exporte dados de uma tabela do BigQuery: Visualizador de dados do BigQuery (roles/bigquery.dataViewer)
    • Execute uma tarefa de exportação: Utilizador do BigQuery (roles/bigquery.user)
    • Escrever dados numa tabela do Spanner: Utilizador da base de dados do Spanner (roles/spanner.databaseUser)

    Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

    Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

Carregue dados de amostra para o Spanner

As instruções seguintes são executadas através do fluxo de trabalho de ETL inverso do BigQuery e da CLI do Google Cloud.

  1. Defina um projeto predefinido na CLI gcloud através do seguinte comando:

     gcloud config set project PROJECT_ID
  2. Exporte os dados de origem no formato de ficheiro CSV. Considere usar pg_dump para bases de dados PostgreSQL ou mysqldump para bases de dados MySQL para converter os seus dados de exemplo no formato de ficheiro CSV.

  3. Carregue os dados para o BigQuery através dos seguintes comandos bq:

    1. Crie um conjunto de dados do BigQuery.

      bq mk BQ_DATASET
    2. Carregue os dados em lote para uma nova tabela do BigQuery.

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

      Em alternativa, pode carregar os dados em lote a partir de um ficheiro do Cloud Storage.

      bq load \
      --source_format=CSV \
      --autodetect \
      --allow_quoted_newlines \
      BQ_DATASET.BQ_TABLE gs://BUCKET/FILE
  4. Crie um esquema do Spanner que corresponda ao ficheiro XML importado BQ_TABLE através do seguinte comando:

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

    Para mais informações, consulte o artigo Atualize o esquema do Spanner.

  5. Exporte dados do BigQuery para o Spanner através do seguinte 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;'
     

O que se segue?