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
Instale a CLI Google Cloud ou use o Cloud Shell, que tem todas as ferramentas necessárias pré-instaladas.
-
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.
-
Exporte dados de uma tabela do BigQuery:
Visualizador de dados do BigQuery (
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.
Defina um projeto predefinido na CLI gcloud através do seguinte comando:
gcloud config set project PROJECT_ID
Exporte os dados de origem no formato de ficheiro CSV. Considere usar
pg_dump
para bases de dados PostgreSQL oumysqldump
para bases de dados MySQL para converter os seus dados de exemplo no formato de ficheiro CSV.Carregue os dados para o BigQuery através dos seguintes comandos
bq
:Crie um conjunto de dados do BigQuery.
bq mk BQ_DATASET
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
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.
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;'