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 amostra antes 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 usar 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 no Spanner

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

  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 em bancos de dados PostgreSQL ou mysqldump para ferramentas de bancos de dados MySQL para converter seus dados de amostra no formato 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. Carregar os dados em lote 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 esquema do Spanner.

  5. Exporte dados do BigQuery para o Spanner usando o 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;'
     

A seguir