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

  1. 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.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  5. 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:

  1. Erstellen Sie ein Dataset in einer Region, die Amazon S3 unterstützt.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.