Crea repliche della vista materializzata

Questo documento descrive come creare repliche di visualizzazioni materializzate in BigQuery. Una replica della vista materializzata è una replica dei dati esterni di Amazon Simple Storage Service (Amazon S3), Apache Iceberg o Salesforce Data Cloud in un set di dati BigQuery, in modo che i dati siano disponibili localmente in BigQuery, il che può aiutarti a evitare i costi di uscita dei dati e migliorare le prestazioni delle query.

Prima di iniziare

  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. Make sure that billing is enabled for your Google Cloud project.

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

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Assicurati di disporre delle autorizzazioni Identity and Access Management (IAM) richieste per eseguire le attività descritte in questo documento.
  7. Ruoli obbligatori

    Per ottenere le autorizzazioni necessarie per eseguire le attività descritte in questo documento, chiedi all'amministratore di concederti il ruolo IAM Amministratore BigQuery (roles/bigquery.admin). Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

    Questo ruolo predefinito contiene le autorizzazioni necessarie per eseguire le attività descritte in questo documento. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

    Autorizzazioni obbligatorie

    Per eseguire le attività descritte in questo documento sono necessarie le seguenti autorizzazioni:

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

    Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

    Per saperne di più su BigQuery IAM, consulta Introduzione a IAM in BigQuery.

    Prepara un set di dati per le repliche della vista materializzata

    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 di origine nel set di dati creato nel passaggio precedente. La tabella di origine può essere uno dei seguenti tipi di tabella:

    Crea repliche della vista materializzata

    Seleziona una delle seguenti opzioni:

    Console

    1. Nella console Google Cloud , vai alla pagina BigQuery.

      Vai a BigQuery

    2. Nel riquadro Explorer, vai al progetto e al set di dati in cui vuoi creare la replica della vista materializzata, quindi fai clic su Visualizza azioni > Crea tabella.

    3. Nella sezione Origine della finestra di dialogo Crea tabella, segui questi passaggi:

      1. In Crea tabella da, seleziona Tabella/Vista esistente.
      2. In Progetto, inserisci il progetto in cui si trova la tabella o la vista di origine.
      3. Per Dataset, inserisci il set di dati in cui si trova la tabella o la vista di origine.
      4. In Visualizzazione, inserisci la tabella o la visualizzazione di origine che stai replicando. Se scegli una vista, deve essere una vista autorizzata, altrimenti tutte le tabelle utilizzate per generare la vista devono trovarsi nel relativo set di dati.
    4. (Facoltativo) Per Inattività massima vista materializzata locale, inserisci un valore max_staleness per la vista materializzata locale.

    5. Nella sezione Destinazione della finestra di dialogo Crea tabella, segui questi passaggi:

      1. In Progetto, inserisci il progetto in cui vuoi creare la replica della vista materializzata.
      2. In Set di dati, inserisci il set di dati in cui vuoi creare la replica della vista materializzata.
      3. In Nome della vista materializzata della replica, inserisci un nome per la replica.
    6. (Facoltativo) Specifica tag e opzioni avanzate per la replica della vista materializzata. Se non specifichi un set di dati per Set di dati della vista materializzata locale, ne viene creato automaticamente uno nello stesso progetto e nella stessa regione dei dati di origine e denominato bq_auto_generated_local_mv_dataset. Se non specifichi un nome per Nome vista materializzata locale, ne viene creato automaticamente uno nello stesso progetto e nella stessa regione dei dati di origine e viene assegnato il prefisso bq_auto_generated_local_mv_.

    7. Fai clic su Crea tabella.

    Viene creata una nuova vista materializzata locale (se non è stata specificata) e autorizzata nel set di dati di origine. Successivamente, la replica della vista materializzata viene creata nel set di dati di destinazione.

    SQL

    1. Crea una vista materializzata sulla tabella di base nel set di dati che hai creato. Puoi anche creare la vista materializzata in un altro set di dati che si trova in una regione Amazon S3.
    2. Autorizza la vista materializzata sui set di dati che contengono le tabelle di origine utilizzate nella query che ha creato la vista materializzata.
    3. Se hai configurato l'aggiornamento manuale della cache dei metadati per la tabella di origine, esegui la procedura di sistema BQ.REFRESH_EXTERNAL_METADATA_CACHE per aggiornare la cache dei metadati.
    4. Esegui la procedura di sistema BQ.REFRESH_MATERIALIZED_VIEW per aggiornare la vista materializzata.
    5. Crea repliche della vista materializzata utilizzando 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 BigQuery che corrisponde 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 con cui replicare i dati dalla vista materializzata di origine nella 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.

      Il seguente esempio 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 aver creato la replica della vista materializzata, il processo di replica esegue il polling della vista materializzata di origine per rilevare le modifiche e replica i dati nella replica della vista materializzata, aggiornando i dati all'intervallo specificato nell'opzione replication_interval_seconds o max_staleness. 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.