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 fazer uma migração de dados de produção para testar esquemas, consultas e aplicativos.
Antes de começar
Instale a Google Cloud CLI ou use o Cloud Shell, que tem todas as ferramentas necessárias pré-instaladas.
-
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.
-
Exporte dados de uma tabela do BigQuery:
Leitor de dados do BigQuery (
Carregar dados de amostra no Spanner
As instruções a seguir são executadas usando o fluxo de trabalho de ETL reversa do BigQuery e a Google Cloud CLI.
Defina um projeto padrão na CLI gcloud usando o seguinte comando:
gcloud config set project PROJECT_ID
Exporte os dados de origem no formato de arquivo CSV. Considere usar
pg_dump
para bancos de dados PostgreSQL oumysqldump
para ferramentas de bancos de dados MySQL e converter seus dados de amostra no formato de arquivo CSV.Carregue os dados no BigQuery usando os seguintes comandos
bq
:Crie um conjunto de dados do BigQuery.
bq mk BQ_DATASET
Carregue 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, é possível 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
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.
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;'