Questo documento fornisce istruzioni su come caricare una piccola quantità di dati in Spanner nel formato di file CSV. Puoi caricare dati di esempio prima di eseguire una migrazione dei dati di produzione per testare schemi, query e applicazioni.
Prima di iniziare
Installa Google Cloud CLI o utilizza Cloud Shell, in cui sono preinstallati tutti gli strumenti necessari.
-
Per ottenere le autorizzazioni necessarie per esportare i dati BigQuery in Spanner, chiedi all'amministratore di concederti i seguenti ruoli IAM nel 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 Gestisci 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 dati di esempio in Spanner
Le seguenti istruzioni vengono eseguite utilizzando il flusso di lavoro BigQuery Reverse ETL e la CLI di Google Cloud.
Imposta un progetto predefinito in gcloud CLI utilizzando il seguente comando:
gcloud config set project PROJECT_ID
Esporta i dati di origine nel formato di file CSV. Valuta la possibilità di utilizzare
pg_dump
per i database PostgreSQL omysqldump
per i database MySQL per convertire i dati di esempio nel formato di file CSV.Carica i dati in BigQuery utilizzando i seguenti comandi
bq
:Creare un set di dati BigQuery.
bq mk BQ_DATASET
Carica in batch i dati 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 in batch i dati 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 che corrisponda 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 Aggiornare lo schema 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;'