Crea repliche vista materializzata

Questo documento descrive come creare repliche di viste materializzate in BigQuery. Puoi utilizzare le repliche vista materializzata per rendere disponibili localmente i dati di Amazon Simple Storage Service (Amazon S3) per i join.

Prima di iniziare

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

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

    Go to project selector

  5. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

Autorizzazioni obbligatorie

Concedi ruoli IAM (Identity and Access Management) che concedono agli utenti le autorizzazioni necessarie per eseguire ogni attività in questo documento.

Per creare repliche di vista materializzata, devi disporre delle seguenti autorizzazioni IAM:

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

Ciascuno dei seguenti ruoli IAM predefiniti include le autorizzazioni necessarie per creare una vista materializzata:

  • bigquery.dataEditor
  • bigquery.dataOwner
  • bigquery.admin

Per ulteriori informazioni su BigQuery Identity and Access Management (IAM), consulta Introduzione a IAM in BigQuery.

Prerequisiti

Prima di creare una replica della vista materializzata, devi completare le seguenti attività:

  1. Crea un set di dati in una regione che supporta Amazon S3.
  2. Crea una tabella Amazon S3 BigLake nel set di dati creato al passaggio 1. Abilita la memorizzazione nella cache dei metadati quando crei la tabella.
  3. Crea una vista materializzata sulla tabella Amazon S3 BigLake nel set di dati che hai creato nel passaggio 1. Puoi anche creare la vista materializzata in un set di dati diverso che si trova in una regione che supporta Amazon S3.
  4. Autorizza la vista materializzata sui set di dati che contengono le tabelle Amazon S3 BigLake di origine utilizzate nella query che ha creato la vista materializzata.
  5. Se hai configurato l'aggiornamento manuale della cache dei metadati per la tabella Amazon S3 BigLake, esegui la procedura di sistema BQ.REFRESH_EXTERNAL_METADATA_CACHE per aggiornare la cache dei metadati.
  6. Esegui la procedura di sistema per BQ.REFRESH_MATERIALIZED_VIEW per aggiornare la vista materializzata.

Crea repliche vista materializzata

Per creare repliche vista materializzata, utilizza l'istruzione 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;

Sostituisci quanto segue:

  • PROJECT_ID: il nome del progetto in cui vuoi creare la replica della vista materializzata, ad esempio myproject.
  • BQ_DATASET: il nome del set di dati BigQuery in cui vuoi creare la replica della vista materializzata, ad esempio bq_dataset. Il set di dati deve trovarsi nella regione di BigQuery mappata alla regione della vista materializzata di origine.
  • REPLICA_NAME: il nome della replica della vista materializzata che vuoi creare, ad esempio my_mv_replica.
  • REPLICATION_INTERVAL: specifica la frequenza di replica dei dati dalla vista materializzata di origine alla replica, in secondi. Deve essere un valore compreso tra 60 e 3600 inclusi. Il valore predefinito è 300 (5 minuti).
  • S3_DATASET: il nome del set di dati che contiene la vista materializzata di origine, ad esempio s3_dataset.
  • MATERIALIZED_VIEW_NAME: il nome della vista materializzata da replicare, ad esempio my_mv.

L'esempio seguente crea una replica della vista materializzata denominata mv_replica in bq_dataset:

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

Dopo che hai creato la replica della vista materializzata, il processo di replica esegue il polling della vista materializzata di origine per individuare eventuali modifiche e replica i dati nella replica della vista materializzata, aggiornando i dati all'intervallo specificato nell'opzione replication_interval_seconds. Se esegui una query sulla replica prima del completamento del primo backfill, ricevi un errore backfill in progress. Puoi eseguire query sui dati nella replica della vista materializzata dopo il completamento della prima replica.