Questo documento fornisce istruzioni su come caricare una piccola quantità di dati in CSV in Spanner. Puoi caricare i dati di esempio prima eseguendo una migrazione dei dati di produzione per testare schemi, query e applicazioni.
Prima di iniziare
Installa Google Cloud CLI o utilizza Cloud Shell, che ha tutti gli strumenti necessari preinstallati.
-
Per ottenere le autorizzazioni necessarie per esportare i dati BigQuery in Spanner, chiedi all'amministratore di concederti i seguenti ruoli IAM sul tuo progetto:
-
Esporta i dati da una tabella BigQuery:
Visualizzatore dati BigQuery (
roles/bigquery.dataViewer
) -
Esegui un job di esportazione:
Utente BigQuery (
roles/bigquery.user
) -
Scrivi dati in una tabella Spanner:
Utente database Spanner (
roles/spanner.databaseUser
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
-
Esporta i dati da una tabella BigQuery:
Visualizzatore dati BigQuery (
Caricare i dati di esempio in Spanner
Le seguenti istruzioni vengono eseguite utilizzando ETL inverso BigQuery e Google Cloud CLI.
Imposta un progetto predefinito in gcloud CLI utilizzando il seguente comando:
gcloud config set project PROJECT_ID
Esporta i dati di origine nel formato file CSV. Valuta la possibilità di utilizzare
pg_dump
per i database PostgreSQL omysqldump
per gli strumenti dei database MySQL per convertire i dati di esempio nel formato file CSV.Carica i dati in BigQuery utilizzando i seguenti comandi
bq
:Creare un set di dati BigQuery.
bq mk BQ_DATASET
Carica i dati in batch in una nuova tabella BigQuery.
bq load \ --source_format=CSV \ --autodetect \ --allow_quoted_newlines \ BQ_DATASET.BQ_TABLE /path/to/file
In alternativa, puoi caricare i dati in blocco da un file Cloud Storage.
bq load \ --source_format=CSV \ --autodetect \ --allow_quoted_newlines \ BQ_DATASET.BQ_TABLE gs://BUCKET/FILE
Crea uno schema Spanner corrispondente al BQ_TABLE importato utilizzando il seguente comando:
gcloud spanner databases ddl update SPANNER_DATABASE \ --instance=SPANNER_INSTANCE \ --ddl="CREATE TABLE SPANNER_TABLE ..."
Per ulteriori informazioni, consulta la sezione Aggiornare lo schema di Spanner.
Esporta i dati da BigQuery a Spanner utilizzando il seguente 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;'