Dieses Dokument enthält Anweisungen zum Laden einer kleinen Datenmenge in das CSV-Dateiformat in Spanner importieren. Sie können Beispieldaten laden, bevor Sie Produktionsdaten migrieren, um Schemas, Abfragen und Anwendungen zu testen.
Hinweis
Installieren Sie die Google Cloud CLI oder verwenden Sie Cloud Shell, alle notwendigen Tools vorinstalliert sind.
-
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Exportieren von BigQuery-Daten nach Spanner benötigen:
-
Daten aus einer BigQuery-Tabelle exportieren:
BigQuery-Datenbetrachter (
roles/bigquery.dataViewer
) -
Führen Sie einen Exportjob aus:
BigQuery-Nutzer (
roles/bigquery.user
) -
Schreiben Sie Daten in eine Spanner-Tabelle:
Spanner-Datenbanknutzer (
roles/spanner.databaseUser
)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
-
Daten aus einer BigQuery-Tabelle exportieren:
BigQuery-Datenbetrachter (
Beispieldaten in Spanner laden
Die folgenden Anweisungen werden mit dem Umgekehrtes ETL in BigQuery und der Google Cloud CLI.
Legen Sie mit dem folgenden Befehl ein Standardprojekt in der gcloud CLI fest:
gcloud config set project PROJECT_ID
Exportieren Sie die Quelldaten im CSV-Dateiformat. Verwenden Sie
pg_dump
für PostgreSQL-Datenbanken odermysqldump
für MySQL-Datenbanken, um Ihre Beispieldaten in das CSV-Dateiformat zu konvertieren.Laden Sie die Daten mit den folgenden
bq
-Befehlen in BigQuery:BigQuery-Dataset erstellen
bq mk BQ_DATASET
Laden Sie die Daten im Batch in eine neue BigQuery-Tabelle.
bq load \ --source_format=CSV \ --autodetect \ --allow_quoted_newlines \ BQ_DATASET.BQ_TABLE /path/to/file
Alternativ können Sie die Daten im Batch aus einer Cloud Storage-Datei laden.
bq load \ --source_format=CSV \ --autodetect \ --allow_quoted_newlines \ BQ_DATASET.BQ_TABLE gs://BUCKET/FILE
Spanner-Schema erstellen, das mit dem importierten übereinstimmt BQ_TABLE mithilfe des folgenden Befehls:
gcloud spanner databases ddl update SPANNER_DATABASE \ --instance=SPANNER_INSTANCE \ --ddl="CREATE TABLE SPANNER_TABLE ..."
Weitere Informationen finden Sie unter Spanner-Schema aktualisieren.
Exportieren Sie Daten mit folgendem Befehl aus BigQuery in Spanner: folgenden Befehl:
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;'