Föderierte Abfragen mit Data Boost ausführen

Auf dieser Seite wird erläutert, wie Sie Spanner Data Boost beim Ausführen föderierter Abfragen von BigQuery an Spanner verwenden. Mit Data Boost werden föderierte Abfragen nahezu ohne Auswirkungen auf vorhandene Arbeitslasten in der bereitgestellten Spanner-Instanz ausgeführt.

Mit der Spanner-Föderation kann BigQuery Daten in Spanner in Echtzeit abfragen, ohne Daten kopieren oder verschieben zu müssen.

Weitere Informationen zu föderierten Abfragen für Spanner finden Sie unter Föderierte Spanner-Abfragen.

Weitere Informationen zu Data Boost finden Sie unter Data Boost – Übersicht.

Hinweise

Führen Sie die folgenden Aufgaben aus, bevor Sie föderierte Abfragen mit Data Boost ausführen.

BigQuery Connection API aktivieren

Mit der BigQuery Connection API können Sie BigQuery-Verbindungen zu externen Datenquellen verwalten.

  • BigQuery connection API aktivieren.

    Aktivieren Sie die API

Weitere Informationen finden Sie unter BigQuery Connection API.

Hauptkonten IAM-Berechtigungen für Data Boost gewähren

Hauptkonten benötigen die IAM-Berechtigungen (Identity and Access Management) spanner.instances.get und spanner.databases.useDataBoost, um Abfragen und Exporte mit Data Boost auszuführen.

Wir empfehlen, eine benutzerdefinierte IAM-Rolle basierend auf Spanner Database Reader (roles/spanner.databaseReader) zu erstellen und spanner.instances.get und spanner.databases.useDataBoost hinzuzufügen.

Weitere Informationen finden Sie unter Vordefinierte Rollen.

BigQuery-Verbindungen für Spanner mit Data Boost erstellen

Mit BigQuery-Verbindungen können Sie Daten abfragen, die außerhalb von BigQuery gespeichert sind. Um eine Verbindung zwischen BigQuery und Spanner herzustellen, erstellen Sie eine externe Datenverbindung. Anschließend können Sie Abfragen ausführen, mit denen BigQuery-Daten mit Spanner-Daten zusammengeführt werden.

Wählen Sie eine der folgenden Optionen aus, um eine externe Datenverbindung zu Spanner zu erstellen, die Data Boost verwendet:

Console

  1. Rufen Sie in der BigQuery-Dokumentation Spanner-Verbindungen erstellen auf und folgen Sie der Anleitung für die Console.

  2. Klicken Sie im Bereich Externe Datenquelle die Kästchen Daten parallel lesen und Spanner Data Boost verwenden an.

bq

  1. Rufen Sie in der BigQuery-Dokumentation Spanner-Verbindungen erstellen auf und folgen Sie der bq-Anleitung.

  2. Legen Sie die folgenden Verbindungsattribute auf true fest:

  • useParallelism
  • useDataBoost

Im folgenden Beispiel wird mit dem Befehl bq mk eine neue Verbindung namens my_connection mit den beiden erforderlichen Attributen für Data Boost erstellt:

bq mk --connection --connection_type='CLOUD_SPANNER' --location='us' \
--properties='{"database":"projects/my-project/instances/my-instance/databases/my-database", "useParallelism":true, "useDataBoost": true}' my_connection

Föderierte Abfrage ausführen

Verwenden Sie zum Ausführen einer föderierten Abfrage mit Data Boost eine BigQuery-Verbindung, die die Verwendung von Data Boost angibt. Weitere Informationen finden Sie unter BigQuery-Verbindungen für Spanner mit Data Boost erstellen.

Sie können entweder auf der Spanner-Seite der Google Cloud Console oder in BigQuery starten.

Auf der Spanner-Seite der Console beginnen

  1. Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.

    Zur Seite "VM-Instanzen"

    In der Console wird eine Liste der Spanner-Instanzen angezeigt.

  2. Wählen Sie eine Spanner-Instanz und dann eine Datenbank aus.

  3. Klicken Sie auf der Seite Datenbankübersicht im Navigationsmenü auf Spanner Studio.

  4. Klicken Sie auf den Tab In BigQuery ansehen.

  5. Geben Sie im Dialogfeld In BigQuery ansehen eine Verbindungs-ID ein.

    Dadurch wird eine neue Verbindung hergestellt. Wenn die ID bereits vorhanden ist, tritt ein Fehler auf.

  6. Füllen Sie den Rest des Dialogfelds aus und klicken Sie die Kästchen Daten parallel lesen und Spanner Data Boost verwenden an.

  7. Klicken Sie auf In BigQuery ansehen.

    BigQuery Studio wird geöffnet. Geben Sie dort Ihre föderierte Abfrage ein und führen Sie sie aus.

    Im folgenden Beispiel wird eine föderierte Abfrage an eine Spanner-Datenbank namens orders gesendet und die Ergebnisse mit einer BigQuery-Tabelle namens mydataset.customers verknüpft.

    SELECT c.customer_id, c.name, rq.first_order_date
    FROM mydataset.customers AS c
    LEFT OUTER JOIN EXTERNAL_QUERY(
      'my-project.us.example-db',
      '''SELECT customer_id, MIN(order_date) AS first_order_date
      FROM orders
      GROUP BY customer_id''') AS rq
      ON rq.customer_id = c.customer_id
    GROUP BY c.customer_id, c.name, rq.first_order_date;
    

Mit BigQuery beginnen

  • Geben Sie die folgende URL in den Browser ein:

    https://console.cloud.google.com/bigquery

    BigQuery wird in Ihrem zuletzt aufgerufenen Projekt geöffnet und zeigt BigQuery Studio an. Führen Sie hier die föderierte Abfrage aus.

Nächste Schritte