Replikate für materialisierte Ansichten erstellen
In diesem Dokument wird beschrieben, wie Sie Replikate der materialisierten Ansicht in BigQuery verwalten. Sie können Replikate der materialisierten Ansicht verwenden, um Amazon S3-Daten (Amazon Simple Storage Service) lokal für Joins zur Verfügung zu stellen.
Hinweise
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
Erforderliche Berechtigungen
Weisen Sie IAM-Rollen (Identity and Access Management) zu, die Nutzern die erforderlichen Berechtigungen zum Ausführen der einzelnen Aufgaben in diesem Dokument gewähren.
Zum Erstellen von Replikaten für materialisierte Ansichten benötigen Sie die folgenden IAM-Berechtigungen:
bigquery.tables.create
bigquery.tables.get
bigquery.tables.getData
bigquery.tables.replicateData
bigquery.jobs.create
Jede der folgenden vordefinierten IAM-Rollen enthält die Berechtigungen, die Sie zum Erstellen einer materialisierten Ansicht benötigen:
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
Weitere Informationen zu BigQuery Identity and Access Management (IAM) finden Sie unter Einführung in IAM in BigQuery.
Vorbereitung
Bevor Sie ein Replikat für materialisierte Ansichten erstellen, müssen Sie die folgenden Aufgaben ausführen:
- Erstellen Sie ein Dataset in einer Region, die Amazon S3 unterstützt.
- Erstellen Sie eine Basistabelle in dem Dataset, das Sie in Schritt 1 erstellt haben. Die Basistabelle kann einen der folgenden Tabellentypen haben:
- Eine Amazon S3 BigLake-Tabelle mit aktiviertem Metadaten-Caching und ohne Iceberg-Dateiformat
- Eine Apache Iceberg BigLake-Tabelle
- Eine Salesforce Data Cloud-Tabelle
- Erstellen Sie eine materialisierte Ansicht über die Amazon S3 BigLake-Tabelle in dem Dataset, das Sie in Schritt 1 erstellt haben. Sie können die materialisierte Ansicht auch in einem anderen Dataset erstellen, das sich in einer Region befindet, die Amazon S3 unterstützt.
- Autorisieren Sie die materialisierte Ansicht für die Datasets, die die Amazon S3-BigLake-Quelltabellen enthalten, die in der Abfrage verwendet werden, mit der die materialisierte Ansicht erstellt wurde.
- Wenn Sie die manuelle Aktualisierung des Metadaten-Cache für die Amazon S3 BigLake-Tabelle konfiguriert haben, führen Sie das Systemverfahren
BQ.REFRESH_EXTERNAL_METADATA_CACHE
aus, um den Metadaten-Cache zu aktualisieren. - Führen Sie das Systemverfahren
BQ.REFRESH_MATERIALIZED_VIEW
aus, um die materialisierte Ansicht zu aktualisieren.
Replikate für materialisierte Ansichten erstellen
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
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.