Carregar dados de amostra

Este documento fornece instruções sobre como carregar uma pequena quantidade de dados no formato de arquivo CSV no Spanner. É possível carregar dados de exemplo antes de realizar uma migração de dados de produção para testar esquemas, consultas e aplicativos.

Antes de começar

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

  2. Para conseguir as permissões necessárias para exportar dados do BigQuery para o Spanner, peça ao administrador para conceder a você os seguintes papéis do IAM no seu projeto:

    • Exporte dados de uma tabela do BigQuery: Leitor de dados do BigQuery (roles/bigquery.dataViewer)
    • Execute um job de exportação: Usuário do BigQuery (roles/bigquery.user)
    • Grave dados em uma tabela do Spanner: Usuário do banco de dados do Spanner (roles/spanner.databaseUser)

    Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

    Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Carregar dados de amostra para o Spanner

As instruções a seguir são realizadas usando o fluxo de trabalho de ETL reverso do BigQuery e a Google Cloud CLI.

  1. Defina um projeto padrão na CLI gcloud usando o seguinte comando:

     gcloud config set project PROJECT_ID
  2. Exporte os dados de origem no formato de arquivo CSV. Considere usar pg_dump para bancos de dados do PostgreSQL ou mysqldump para ferramentas de bancos de dados do MySQL para converter seus dados de amostra no formato de arquivo CSV.

  3. Carregue os dados no BigQuery usando os seguintes comandos bq:

    1. Crie um conjunto de dados do BigQuery.

      bq mk BQ_DATASET
    2. Faça o carregamento em lote dos dados em uma nova tabela do BigQuery.

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

      Como alternativa, você pode carregar os dados em lote de um arquivo 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 BQ_TABLE importado usando o seguinte comando:

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

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

  5. Use o seguinte comando para exportar dados do BigQuery para o Spanner:

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

A seguir