Beispieldaten laden

In diesem Dokument wird beschrieben, wie Sie eine kleine Menge an Daten im CSV-Dateiformat in Spanner laden. Sie können Beispieldaten laden, bevor Sie eine Migration von Produktionsdaten durchführen, um Schemas, Abfragen und Anwendungen zu testen.

Hinweise

  1. Installieren Sie die Google Cloud CLI oder verwenden Sie Cloud Shell, in der alle erforderlichen Tools vorinstalliert sind.

  2. 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)
    • Exportjob ausführen: BigQuery-Nutzer (roles/bigquery.user)
    • Daten in eine Spanner-Tabelle schreiben: Spanner-Datenbank-Nutzer (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.

Beispieldaten in Spanner laden

Die folgenden Anleitungen werden mit dem Workflow BigQuery Reverse-ETL und der Google Cloud CLI ausgeführt.

  1. Legen Sie mit dem folgenden Befehl ein Standardprojekt in der gcloud CLI fest:

     gcloud config set project PROJECT_ID
  2. Exportieren Sie die Quelldaten im CSV-Dateiformat. Verwenden Sie für PostgreSQL-Datenbanken pg_dump oder für MySQL-Datenbanken mysqldump, um Ihre Beispieldaten in das CSV-Dateiformat zu konvertieren.

  3. Laden Sie die Daten mit den folgenden bq-Befehlen in BigQuery:

    1. BigQuery-Dataset erstellen

      bq mk BQ_DATASET
    2. Laden Sie die Daten im Batchverfahren 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 auch per Batch aus einer Cloud Storage-Datei laden.

      bq load \
      --source_format=CSV \
      --autodetect \
      --allow_quoted_newlines \
      BQ_DATASET.BQ_TABLE gs://BUCKET/FILE
  4. Erstellen Sie mit dem folgenden Befehl ein Spanner-Schema, das dem importierten BQ_TABLE entspricht:

     gcloud spanner databases ddl update SPANNER_DATABASE \
     --instance=SPANNER_INSTANCE \
     --ddl="CREATE TABLE SPANNER_TABLE ..."

    Weitere Informationen finden Sie unter Spanner-Schema aktualisieren.

  5. Exportieren Sie Daten aus BigQuery nach Spanner mit dem 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;'
     

Nächste Schritte