Replikate für materialisierte Ansichten erstellen
In diesem Dokument wird beschrieben, wie Sie in BigQuery Replikate für materialisierte Ansichten erstellen. Sie können Replikate der materialisierten Ansicht verwenden, um Amazon Simple Storage Service-Daten (Amazon S3) lokal für Joins verfügbar zu machen.
Hinweise
- Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
-
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
Führen Sie vor dem Erstellen eines Replikats einer materialisierten Ansicht die folgenden Aufgaben aus:
- Erstellen Sie ein Dataset in einer Region, die Amazon S3 unterstützt.
- Erstellen Sie eine Amazon S3 BigLake-Tabelle in dem Dataset, das Sie in Schritt 1 erstellt haben. Aktivieren Sie beim Erstellen der Tabelle Metadaten-Caching.
- 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, die die materialisierte Ansicht erstellt hat.
- Wenn Sie die manuelle Aktualisierung der Metadaten-Caches für die Amazon S3 BigLake-Tabelle konfiguriert haben, führen Sie das
BQ.REFRESH_EXTERNAL_METADATA_CACHE
-Systemverfahren 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 der materialisierten Ansicht erstellen möchten, z. B.myproject
.BQ_DATASET
: der Name des BigQuery-Datasets, in dem Sie das Replikat der materialisierten Ansicht 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 der materialisierten Ansicht, 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 Ansicht 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 vor Abschluss des ersten Backfills abfragen, wird der Fehler backfill in progress
angezeigt. Sie können die Daten im Replikat der materialisierten Ansicht abfragen, nachdem die erste Replikation abgeschlossen ist.