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
Instale a Google Cloud CLI ou usar 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 realizadas usando o fluxo de trabalho do ETL reverso do BigQuery e a CLI do Google Cloud.
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 em bancos de dados PostgreSQL oumysqldump
para ferramentas de bancos de dados MySQL para converter seus dados de amostra no formato CSV .Carregue os dados no BigQuery usando os seguintes comandos
bq
:Crie um conjunto de dados do BigQuery.
bq mk BQ_DATASET
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
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.
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;'