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

  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. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

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

    Go to project selector

  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

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 Basistabelle in dem Dataset, das Sie in Schritt 1 erstellt haben. Die Basistabelle kann einen der folgenden Tabellentypen haben:
  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, mit der die materialisierte Ansicht erstellt wurde.
  5. 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.
  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 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.