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
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
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à:
- Crea un set di dati in una regione che supporta Amazon S3.
- 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.
- 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.
- 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.
- 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. - 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 esempiomyproject
.BQ_DATASET
: il nome del set di dati BigQuery in cui vuoi creare la replica della vista materializzata, ad esempiobq_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 esempiomy_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 esempios3_dataset
.MATERIALIZED_VIEW_NAME
: il nome della vista materializzata da replicare, ad esempiomy_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.