Replikate für materialisierte Ansichten erstellen

In diesem Dokument wird beschrieben, wie Sie Replikate der materialisierten Ansicht in BigQuery verwalten. Ein Replikat einer materialisierten Ansicht ist eine Replikation externer Amazon S3-Daten (Amazon Simple Storage Service), Apache Iceberg-Daten oder Salesforce Data Cloud-Daten in einem BigQuery-Datensatz, damit die Daten lokal in BigQuery verfügbar sind. So lassen sich Kosten für ausgehenden Datenverkehr vermeiden und die Abfrageleistung verbessern.

Hinweise

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Prüfen Sie, ob Sie die erforderlichen IAM-Berechtigungen (Identity and Access Management) haben, um die Aufgaben in diesem Dokument ausführen zu können.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle BigQuery Admin (roles/bigquery.admin) zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Ausführen der Aufgaben in diesem Dokument benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Ausführen der Aufgaben in diesem Dokument erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind zum Ausführen der Aufgaben in diesem Dokument erforderlich:

  • bigquery.tables.create
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.tables.replicateData
  • bigquery.jobs.create

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Weitere Informationen zu BigQuery IAM finden Sie unter Einführung in IAM in BigQuery.

Dataset für Replikate der materialisierten Ansicht vorbereiten

Bevor Sie ein Replikat für materialisierte Ansichten erstellen, müssen Sie die folgenden Aufgaben ausführen:

  1. Erstellen Sie ein Dataset in einer Region, die Amazon S3 unterstützt.
  2. Erstellen Sie eine Quelltabelle im Dataset, das Sie im vorherigen Schritt erstellt haben. Die Quelltabelle kann einen der folgenden Tabellentypen haben:

Replikate für materialisierte Ansichten erstellen

Wählen Sie eine der folgenden Optionen aus:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    BigQuery aufrufen

  2. Rufen Sie im Bereich Explorer das Projekt und das Dataset auf, in dem Sie das Replikat für die materialisierte Ansicht erstellen möchten, und klicken Sie dann auf Aktionen anzeigen > Tabelle erstellen.

  3. Gehen Sie im Dialogfeld Tabelle erstellen im Bereich Quelle so vor:

    1. Wählen Sie unter Tabelle erstellen aus die Option Vorhandene Tabelle/Ansicht aus.
    2. Geben Sie unter Project (Projekt) das Projekt ein, in dem sich die Quelltabelle oder ‑ansicht befindet.
    3. Geben Sie unter Dataset das Dataset ein, in dem sich die Quelltabelle oder ‑ansicht befindet.
    4. Geben Sie unter Ansicht die Quelltabelle oder ‑ansicht ein, die Sie replizieren möchten. Wenn Sie eine Ansicht auswählen, muss es sich um eine autorisierte Ansicht handeln. Andernfalls müssen sich alle Tabellen, die zum Generieren dieser Ansicht verwendet werden, im Dataset der Ansicht befinden.
  4. Optional: Geben Sie unter Max. Veralterung der lokalen materialisierten Ansicht einen max_staleness-Wert für die lokale materialisierte Ansicht ein.

  5. Gehen Sie auf der Seite Tabelle erstellen im Abschnitt Ziel so vor:

    1. Geben Sie unter Projekt das Projekt ein, in dem Sie das Replikat der materialisierten Ansicht erstellen möchten.
    2. Geben Sie unter Dataset das Dataset ein, in dem Sie das Replikat der materialisierten Ansicht erstellen möchten.
    3. Geben Sie unter Name der materialisierten Ansicht im Replikat einen Namen für das Replikat ein.
  6. Optional: Geben Sie Tags und erweiterte Optionen für das Replikat der materialisierten Ansicht an. Wenn Sie keinen Datensatz für Lokales Dataset mit materialisierter Ansicht angeben, wird automatisch ein Datensatz im selben Projekt und in derselben Region wie die Quelldaten erstellt und bq_auto_generated_local_mv_dataset genannt. Wenn Sie keinen Namen für Name der lokalen materialisierten Ansicht angeben, wird automatisch ein Name im selben Projekt und in derselben Region wie die Quelldaten erstellt und das Präfix bq_auto_generated_local_mv_ zugewiesen.

  7. Klicken Sie auf Tabelle erstellen.

Eine neue lokale materialisierte Ansicht wird erstellt (falls nicht angegeben) und im Quelldatensatz autorisiert. Anschließend wird das Replikat der materialisierten Ansicht im Zieldatensatz erstellt.

SQL

  1. Erstellen Sie eine materialisierte Ansicht über die Basistabelle im von Ihnen erstellten Dataset. Sie können die materialisierte Ansicht auch in einem anderen Dataset erstellen, das sich in einer Amazon S3-Region befindet.
  2. Autorisieren Sie die materialisierte Ansicht für die Datasets, die die Quelltabellen enthalten, die in der Abfrage verwendet werden, mit der die materialisierte Ansicht erstellt wurde.
  3. Wenn Sie die manuelle Aktualisierung des Metadaten-Cache für die Quelltabelle konfiguriert haben, führen Sie das Systemverfahren BQ.REFRESH_EXTERNAL_METADATA_CACHE aus, um den Metadaten-Cache zu aktualisieren.
  4. Führen Sie das Systemverfahren BQ.REFRESH_MATERIALIZED_VIEW aus, um die materialisierte Ansicht zu aktualisieren.
  5. Verwenden Sie zum Erstellen von Replikaten der materialisierten Ansicht die Anweisung CREATE MATERIALIZED VIEW AS REPLICA OF:

    CREATE MATERIALIZED VIEW PROJECT_ID.BQ_DATASET.REPLICA_NAME
    OPTIONS(replication_interval_seconds=REPLICATION_INTERVAL)
    AS REPLICA OF PROJECT_ID.S3_DATASET.MATERIALIZED_VIEW_NAME;

    Ersetzen Sie Folgendes:

    • PROJECT_ID: der Name Ihres Projekts, in dem Sie das Replikat für materialisierte Ansichten erstellen möchten, z. B. myproject.
    • BQ_DATASET: der Name des BigQuery-Datasets, in dem Sie das Replikat für materialisierte Ansichten erstellen möchten, z. B. bq_dataset. Das Dataset muss sich in der BigQuery-Region befinden, die der Region der materialisierten Quellansicht zugeordnet ist.
    • REPLICA_NAME: der Name des Replikats für materialisierte Ansichten, das Sie erstellen möchten, z. B. my_mv_replica.
    • REPLICATION_INTERVAL: Gibt in Sekunden an, wie oft die Daten aus der materialisierten Ansicht in das Replikat repliziert werden. Wert, der nicht niedriger als "60" und nicht höher als "3.600" sein darf. Der Standardwert ist 300 (5 Minuten).
    • S3_DATASET: der Name des Datasets, das die materialisierte Quellansicht enthält, z. B. s3_dataset.
    • MATERIALIZED_VIEW_NAME: der Name der zu replizierenden materialisierten Ansicht, z. B. my_mv.

    Im folgenden Beispiel wird ein Replikat für materialisierte Ansichten mit dem Namen mv_replica in bq_dataset erstellt.

    CREATE MATERIALIZED VIEW `myproject.bq_dataset.mv_replica`
    OPTIONS(
    replication_interval_seconds=600
    )
    AS REPLICA OF `myproject.s3_dataset.my_s3_mv`

Nachdem Sie das Replikat der materialisierten Ansicht erstellt haben, fragt der Replikationsprozess die materialisierte Quellansicht auf Änderungen ab und repliziert Daten in das Replikat der materialisierten Ansicht. Dabei werden die Daten in dem in replication_interval_seconds oder max_staleness angegebenen Intervall aktualisiert. Wenn Sie das Replikat abfragen, bevor der erste Backfill abgeschlossen ist, wird der Fehler backfill in progress angezeigt. Sie können die Daten im Replikat für materialisierte Ansichten abfragen, nachdem die erste Replikation abgeschlossen ist.