Viste materializzate - AWS Lake Formation

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Viste materializzate

Nel AWS Glue Data Catalog, una vista materializzata è una tabella gestita che memorizza il risultato precalcolato di una query SQL in formato Apache Iceberg. A differenza delle viste standard del Data Catalog che eseguono la query ogni volta che vi si accede, le viste materializzate archiviano fisicamente i risultati della query e li aggiornano man mano che le tabelle di origine sottostanti cambiano. Puoi creare viste materializzate utilizzando Apache Spark versione 3.5.6+ in Amazon Athena, Amazon EMR o. AWS Glue

Le viste materializzate fanno riferimento alle tabelle Apache Iceberg registrate nel AWS Glue Data Catalog, con dati precalcolati archiviati come tabelle Apache Iceberg in bucket Amazon S3 Tables o bucket Amazon S3 per uso generico, rendendole accessibili da più motori di query tra cui Amazon Athena, Amazon Redshift e motori di terze parti compatibili con Iceberg.

Differenziazione delle viste materializzate da altri tipi di viste

Le viste materializzate differiscono dalle viste AWS Glue Data Catalog, dalle viste Apache Spark e dalle viste Amazon Athena per alcuni aspetti fondamentali. Sebbene le viste del catalogo dati siano tabelle virtuali che eseguono la definizione della query SQL ogni volta che vi si accede, le viste materializzate archiviano fisicamente i risultati delle query precalcolate. Ciò elimina il calcolo ridondante e migliora significativamente le prestazioni delle query per le trasformazioni complesse a cui si accede di frequente.

Le viste materializzate differiscono anche dalle tradizionali pipeline di trasformazione dei dati create con AWS Glue ETL o job Spark personalizzati. Invece di scrivere codice personalizzato per gestire il rilevamento delle modifiche, gli aggiornamenti incrementali e l'orchestrazione del flusso di lavoro, definisci le viste materializzate utilizzando la sintassi SQL standard. Il AWS Glue Data Catalog monitora automaticamente le tabelle di origine, rileva le modifiche e aggiorna le viste materializzate utilizzando un'infrastruttura di elaborazione completamente gestita.

Casi d’uso

Di seguito sono riportati importanti casi d'uso per le viste materializzate:

  • Accelera le query analitiche complesse: crea viste materializzate che precalcolano giunzioni, aggregazioni e funzioni di finestra costose. I motori Spark riscrivono automaticamente le query successive per utilizzare i risultati precalcolati, riducendo la latenza delle query e i costi di elaborazione.

  • Semplifica le pipeline di trasformazione dei dati: sostituisci i complessi job ETL che gestiscono il rilevamento delle modifiche, gli aggiornamenti incrementali e l'orchestrazione del flusso di lavoro con semplici definizioni di viste materializzate basate su SQL. Il Data Catalog gestisce automaticamente tutta la complessità operativa. AWS Glue

  • Abilita l'analisi self-service con accesso regolamentato ai dati: crea viste materializzate curate che trasformano i dati grezzi in set di dati pronti per l'uso. Concedi agli utenti l'accesso alle viste materializzate senza esporre le tabelle di origine sottostanti, semplificando la gestione della sicurezza e potenziando l'analisi self-service.

  • Ottimizza la progettazione delle funzionalità per l'apprendimento automatico: definisci viste materializzate che implementano le trasformazioni delle funzionalità per i modelli ML. La funzionalità di aggiornamento automatico assicura che gli archivi di funzionalità rimangano aggiornati man mano che i dati di origine si evolvono, mentre l'aggiornamento incrementale riduce al minimo i costi di elaborazione.

  • Implementa una condivisione efficiente dei dati: crea viste materializzate che filtrano e trasformano i dati per consumatori specifici. Condividi le viste materializzate tra account e aree geografiche utilizzando AWS Lake Formation, eliminando la necessità di duplicazione dei dati e mantenendo al contempo una governance centralizzata.

Concetti chiave

Aggiornamento automatico

L'aggiornamento automatico è una funzionalità che monitora continuamente le tabelle di origine e aggiorna le viste materializzate in base a una pianificazione definita dall'utente. Quando si crea una vista materializzata, è possibile specificare una frequenza di aggiornamento utilizzando una pianificazione basata sul tempo con intervalli frequenti fino a un'ora. Il AWS Glue Data Catalog utilizza l'infrastruttura di elaborazione Spark gestita per eseguire operazioni di aggiornamento in background, gestendo in modo trasparente tutti gli aspetti del rilevamento delle modifiche e degli aggiornamenti incrementali.

Quando i dati di origine cambiano tra gli intervalli di aggiornamento, la vista materializzata diventa temporaneamente obsoleta. Le query che accedono direttamente alla vista materializzata possono restituire risultati obsoleti fino al completamento del successivo aggiornamento pianificato. Per gli scenari che richiedono l'accesso immediato ai dati più recenti, è possibile eseguire un aggiornamento manuale utilizzando il comando SQL. REFRESH MATERIALIZED VIEW

Aggiornamento incrementale

L'aggiornamento incrementale è una tecnica di ottimizzazione che elabora solo i dati modificati nelle tabelle di origine dall'ultimo aggiornamento, anziché ricalcolare l'intera vista materializzata. Il AWS Glue Data Catalog sfrutta il livello di metadati di Apache Iceberg per tracciare in modo efficiente le modifiche nelle tabelle di origine e determinare quali parti della vista materializzata richiedono aggiornamenti.

Questo approccio riduce in modo significativo i costi di elaborazione e la durata dell'aggiornamento rispetto alle operazioni di aggiornamento complete, in particolare per set di dati di grandi dimensioni in cui solo una piccola percentuale di dati cambia tra i cicli di aggiornamento. Il meccanismo di aggiornamento incrementale funziona automaticamente; non è necessario scrivere una logica personalizzata per rilevare o elaborare i dati modificati.

Riscrittura automatica delle interrogazioni

La riscrittura automatica delle query è una funzionalità di ottimizzazione delle query disponibile nei motori Spark di Amazon Athena, Amazon EMR e. AWS Glue Quando esegui una query su tabelle di base, l'ottimizzatore Spark analizza il tuo piano di query e determina automaticamente se le viste materializzate disponibili possono soddisfare la query in modo più efficiente. Se esiste una vista materializzata adatta, l'ottimizzatore riscrive in modo trasparente la query per utilizzare i risultati precalcolati anziché elaborare le tabelle di base.

Questa ottimizzazione avviene senza richiedere alcuna modifica al codice dell'applicazione o alle istruzioni di query. L'ottimizzatore Spark assicura che la riscrittura automatica delle query si applichi solo quando la vista materializzata è attuale e può produrre risultati accurati. Se una vista materializzata è obsoleta o non soddisfa completamente i requisiti della query, l'ottimizzatore esegue il piano di query originale sulla base delle tabelle di base, dando priorità alla correttezza rispetto alle prestazioni.

Visualizza il ruolo definito

Una vista materializzata funziona in base alle autorizzazioni del ruolo IAM che l'ha creata, noto come ruolo view definer. Il ruolo definer deve avere accesso in lettura a tutte le tabelle di base a cui si fa riferimento nella definizione della vista materializzata e creare i permessi per le tabelle sul database di destinazione. Quando il AWS Glue Data Catalog aggiorna una vista materializzata, assume il ruolo di definitore di accedere alle tabelle di origine e scrivere risultati aggiornati.

Questo modello di sicurezza consente di concedere agli utenti l'accesso alle viste materializzate senza concedere loro autorizzazioni dirette sulle tabelle di origine sottostanti. Se il ruolo View Definer perde l'accesso a qualsiasi tabella di base, le successive operazioni di aggiornamento avranno esito negativo fino al ripristino delle autorizzazioni.

Autorizzazioni per le viste materializzate

Per creare e gestire le viste materializzate, è necessario configurare le autorizzazioni. AWS Lake Formation Il ruolo IAM che crea la vista materializzata (il ruolo definer) richiede autorizzazioni specifiche sulle tabelle di origine e sui database di destinazione.

Autorizzazioni richieste per il ruolo di definitore

Il ruolo che definisce deve avere i seguenti permessi di Lake Formation:

  • Nelle tabelle di origine: autorizzazioni SELECT o ALL senza filtri di riga, colonna o cella

  • Sul database di destinazione: autorizzazione CREATE_TABLE

  • Sul AWS Glue Data Catalog e sulle autorizzazioni API GetTable CreateTable

Quando si crea una vista materializzata, l'ARN del ruolo definitore viene memorizzato nella definizione della vista. Il AWS Glue Data Catalog assume questo ruolo durante l'esecuzione di operazioni di aggiornamento automatico. Se il ruolo del definitore perde l'accesso alle tabelle di origine, le operazioni di aggiornamento avranno esito negativo fino al ripristino delle autorizzazioni.

Autorizzazioni IAM per i lavori AWS Glue

Il ruolo IAM del tuo AWS Glue lavoro richiede le seguenti autorizzazioni:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetCatalog", "glue:GetCatalogs", "glue:GetTable", "glue:GetTables", "glue:CreateTable", "glue:UpdateTable", "glue:DeleteTable", "glue:GetDatabase", "glue:GetDatabases", "cloudwatch:PutMetricData" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ] }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:*:/aws-glue/*" ] }, { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": "*" } ] }

Il ruolo che usi per l'aggiornamento automatico di Materialized View deve avere l'PassRole autorizzazione iam: sul ruolo.

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::111122223333:role/materialized-view-role-name" ] } ] }

Affinché Glue aggiorni automaticamente la vista materializzata, il ruolo deve inoltre avere la seguente politica di attendibilità che consenta al servizio di assumere il ruolo.

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::111122223333:role/materialized-view-role-name" ] } ] }

Se la vista materializzata è archiviata in S3 Tables Bucket, devi anche aggiungere la seguente autorizzazione al ruolo.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3tables:PutTableMaintenanceConfiguration" ], "Resource": "arn:aws:s3tables:*:123456789012:*" } ] }

Concessione dell'accesso alle viste materializzate

Per concedere ad altri utenti l'accesso all'interrogazione di una vista materializzata, utilizzare questa opzione AWS Lake Formation per concedere l'autorizzazione SELECT sulla tabella delle viste materializzate. Gli utenti possono interrogare la vista materializzata senza richiedere l'accesso diretto alle tabelle di origine sottostanti.

Per informazioni dettagliate sulla configurazione delle autorizzazioni di Lake Formation, consulta Concessione e revoca delle autorizzazioni sulle risorse di Data Catalog nella Developer Guide. AWS Lake Formation

Creazione e gestione di viste materializzate

Puoi creare viste materializzate utilizzando l'CREATE MATERIALIZED VIEWistruzione SQL nei motori Spark. La definizione della vista specifica la query SQL che definisce la logica di trasformazione, il database di destinazione e il nome della tabella e la configurazione di aggiornamento opzionale. È possibile definire trasformazioni complesse tra cui aggregazioni, join tra più tabelle, filtri e funzioni di finestra.

CREATE MATERIALIZED VIEW sales_summary AS SELECT region, product_category, SUM(sales_amount) as total_sales, COUNT(DISTINCT customer_id) as unique_customers FROM sales_transactions WHERE transaction_date >= current_date - interval '90' day GROUP BY region, product_category;

Per configurare l'aggiornamento automatico, includi la pianificazione dell'aggiornamento nella definizione della vista:

CREATE MATERIALIZED VIEW sales_summary SCHEDULE REFRESH EVERY 1 HOUR AS SELECT region, product_category, SUM(sales_amount) as total_sales FROM sales_transactions GROUP BY region, product_category;

È possibile aggiornare manualmente una vista materializzata in qualsiasi momento utilizzando il comando: REFRESH MATERIALIZED VIEW

REFRESH MATERIALIZED VIEW sales_summary;

Per modificare la pianificazione di aggiornamento di una vista materializzata esistente, utilizza l'istruzione: ALTER MATERIALIZED VIEW

ALTER MATERIALIZED VIEW sales_summary ADD SCHEDULE REFRESH EVERY 2 HOURS;

Viste materializzate annidate

È possibile creare viste materializzate che fanno riferimento ad altre viste materializzate come tabelle di base, abilitando trasformazioni dei dati in più fasi. Quando si creano viste materializzate annidate, il AWS Glue Data Catalog tiene traccia delle dipendenze e propaga automaticamente gli aggiornamenti attraverso la gerarchia delle viste materializzate. Quando una vista materializzata di base viene aggiornata, tutte le viste materializzate a valle che dipendono da essa vengono aggiornate di conseguenza.

Questa funzionalità consente di scomporre trasformazioni complesse in fasi logiche, migliorando la manutenibilità e abilitando l'aggiornamento selettivo dei livelli di trasformazione in base ai requisiti di freschezza dei dati.

Archiviazione e accesso ai dati

Le viste materializzate archiviano i risultati precalcolati come tabelle Apache Iceberg in bucket S3 Tables o bucket S3 per uso generico all'interno del tuo account. AWS Il AWS Glue Data Catalog gestisce tutti gli aspetti della manutenzione delle tabelle Iceberg, tra cui la compattazione e la conservazione delle istantanee, attraverso le funzionalità di ottimizzazione automatizzata di S3 Tables.

Poiché le viste materializzate vengono archiviate come tabelle Iceberg, puoi leggerle direttamente da qualsiasi motore compatibile con Iceberg, tra cui Amazon Athena, Amazon Redshift e piattaforme di analisi di terze parti. Questa accessibilità multi-motore garantisce che i dati precalcolati rimangano accessibili in tutto l'ecosistema di analisi senza duplicazione dei dati o conversione del formato.

AWS Lake Formation Integrazione con le autorizzazioni

Puoi utilizzarlo AWS Lake Formation per gestire autorizzazioni granulari sulle viste materializzate. Il creatore della vista diventa automaticamente il proprietario della vista materializzata e può concedere le autorizzazioni ad altri utenti o ruoli utilizzando AWS Lake Formation il metodo named resource o i tag LF.

Quando concedi l'SELECTautorizzazione a un utente per una vista materializzata, quest'ultimo può interrogare i risultati precalcolati senza richiedere l'accesso alle tabelle di origine sottostanti. Questo modello di sicurezza semplifica la gestione dell'accesso ai dati e consente di implementare il principio del privilegio minimo, fornendo agli utenti l'accesso solo alle trasformazioni di dati specifiche di cui hanno bisogno.

È possibile condividere viste materializzate tra AWS account, AWS organizzazioni e unità organizzative utilizzando le funzionalità di condivisione tra account AWS Lake Formation di cui dispone. È inoltre possibile accedere alle viste materializzate in tutte AWS le regioni utilizzando collegamenti alle risorse, abilitando una governance centralizzata dei dati con accesso distribuito ai dati.

Monitoraggio e debug

Il AWS Glue Data Catalog pubblica tutte le operazioni di aggiornamento delle viste materializzate e le metriche associate su Amazon. CloudWatch Puoi monitorare l'ora di inizio dell'aggiornamento, l'ora di fine, la durata, il volume di dati elaborati e lo stato dell'aggiornamento tramite metriche. CloudWatch Quando le operazioni di aggiornamento falliscono, i messaggi di errore e le informazioni di diagnostica vengono acquisiti nei registri. CloudWatch

È possibile impostare CloudWatch allarmi per ricevere notifiche quando i processi di aggiornamento superano la durata prevista o falliscono ripetutamente. Il AWS Glue Data Catalog pubblica anche eventi di modifica in caso di esecuzioni di aggiornamento riuscite e non riuscite, consentendoti di integrare le operazioni di visualizzazione materializzata in un'automazione più ampia del flusso di lavoro.

Per verificare lo stato corrente di una vista materializzata, utilizza il comando DESCRIBE MATERIALIZED VIEW SQL, che restituisce i metadati tra cui lo stato di inattività, il timestamp dell'ultimo aggiornamento e la configurazione della pianificazione dell'aggiornamento.

Gestione dei processi di aggiornamento

Avvio di un aggiornamento manuale

Attiva un aggiornamento immediato al di fuori dell'intervallo pianificato.

Autorizzazione richiesta: AWS le credenziali utilizzate per effettuare la chiamata API devono disporre dell'glue:GetTableautorizzazione per la vista materializzata.

Per S3 Tables Catalog:

aws glue start-materialized-view-refresh-task-run \ --catalog-id <ACCOUNT_ID>:s3tablescatalog/<CATALOG_NAME> \ --database-name <DATABASE_NAME> \ --table-name <MV_TABLE_NAME>

Per Root Catalog:

aws glue start-materialized-view-refresh-task-run \ --catalog-id <ACCOUNT_ID> \ --database-name <DATABASE_NAME> \ --table-name <MV_TABLE_NAME>

Verifica dello stato di aggiornamento

Ottieni lo stato di un processo di aggiornamento specifico:

aws glue get-materialized-view-refresh-task-run \ --catalog-id <CATALOG_ID> \ --materialized-view-refresh-task-run-id <TASK_RUN_ID>

Cronologia degli aggiornamenti degli elenchi

Visualizza tutti i lavori di aggiornamento per una vista materializzata:

aws glue list-materialized-view-refresh-task-runs \ --catalog-id <CATALOG_ID> \ --database-name <DATABASE_NAME> \ --table-name <MV_TABLE_NAME>
Nota

Utilizzare <ACCOUNT_ID>:s3tablescatalog/<CATALOG_NAME> per le tabelle S3 o <ACCOUNT_ID> per il catalogo principale.

Interruzione di un aggiornamento in esecuzione

Annullare un processo di aggiornamento in corso:

aws glue stop-materialized-view-refresh-task-run \ --catalog-id <CATALOG_ID> \ --database-name <DATABASE_NAME> \ --table-name <MV_TABLE_NAME>

Monitoraggio e risoluzione dei problemi

Esistono tre modi per monitorare i processi di aggiornamento delle viste materializzate:

CloudWatch Metriche

Visualizza le metriche aggregate per tutti i tuoi lavori di aggiornamento delle viste materializzate in: CloudWatch

Metriche disponibili:

  • AWS/Namespace Glue con dimensioni:

    • CatalogId: il tuo identificatore del catalogo

    • DatabaseName: Database contenente la vista materializzata

    • TableName: nome della vista materializzata

    • TaskType: Imposta su "» MaterializedViewRefresh

Visualizzazione in console:

  1. Vai a CloudWatch Console → Metriche

  2. Seleziona lo spazio dei AWS nomi /Glue

  3. Filtra per dimensioni: CatalogId,,, DatabaseName TableName TaskType

  4. Visualizza le metriche relative al successo, al fallimento e alla durata del lavoro

Esempio di interrogazione CloudWatch sulle metriche:

{AWS/Glue,CatalogId,DatabaseName,TableName,TaskType} MaterializedViewRefresh

Utilizzando AWS CLI:

aws cloudwatch get-metric-statistics \ --namespace AWS/Glue \ --metric-name <MetricName> \ --dimensions Name=CatalogId,Value=<CATALOG_ID> \ Name=DatabaseName,Value=<DATABASE_NAME> \ Name=TableName,Value=<TABLE_NAME> \ Name=TaskType,Value=MaterializedViewRefresh \ --start-time <START_TIME> \ --end-time <END_TIME> \ --period 3600 \ --statistics Sum \ --region <REGION>

CloudWatch Registri

Visualizza i registri di esecuzione dettagliati per le singole operazioni di aggiornamento:

Gruppo di log: /aws-glue/materialized-views/<task_run_id>

<task_run_id>Dov'è un UUID (ad esempio, abc12345-def6-7890-ghij-klmnopqrstuv).

Visualizzazione dei registri:

# List log streams for a task run aws logs describe-log-streams \ --log-group-name /aws-glue/materialized-views/<TASK_RUN_ID> \ --region <REGION> # Get log events aws logs get-log-events \ --log-group-name /aws-glue/materialized-views/<TASK_RUN_ID> \ --log-stream-name <LOG_STREAM_NAME> \ --region <REGION>

Nella CloudWatch console:

  1. Vai a CloudWatch → Gruppi di log

  2. Cerca /aws-glue/materialized-views/

  3. Seleziona il gruppo di log con il tuo ID di esecuzione dell'attività

  4. Visualizza i log di esecuzione dettagliati, gli errori e l'output del job Spark

Notifications

Iscriviti agli eventi per ricevere notifiche in tempo reale sulle modifiche allo stato del processo di aggiornamento:

Tipi di eventi disponibili:

  • Attività di aggiornamento di Glue Materialized View iniziata

  • Attività di aggiornamento di Glue Materialized View riuscita

  • Attività di aggiornamento di Glue Materialized View non riuscita

  • Errore di invocazione dell'aggiornamento automatico di Glue Materialized View

Creazione di una regola:

aws events put-rule \ --name materialized-view-refresh-notifications \ --event-pattern '{ "source": ["aws.glue"], "detail-type": [ "Glue Materialized View Refresh Task Started", "Glue Materialized View Refresh Task Succeeded", "Glue Materialized View Refresh Task Failed", "Glue Materialized View Auto-Refresh Invocation Failure" ] }' \ --region <REGION>

Aggiungere una destinazione (ad esempio, argomento SNS):

aws events put-targets \ --rule materialized-view-refresh-notifications \ --targets "Id"="1","Arn"="arn:aws:sns:<REGION>:<ACCOUNT_ID>:<TOPIC_NAME>" \ --region <REGION>

Visualizzazione dello stato di aggiornamento

Controlla lo stato dei tuoi lavori di aggiornamento delle viste materializzate utilizzando l'API: AWS Glue

aws glue get-materialized-view-refresh-task-run \ --catalog-id <CATALOG_ID> \ --materialized-view-refresh-task-run-id <TASK_RUN_ID> \ --region <REGION>

Oppure elenca tutte le esecuzioni di aggiornamento recenti:

aws glue list-materialized-view-refresh-task-runs \ --catalog-id <CATALOG_ID> \ --database-name <DATABASE_NAME> \ --table-name <MV_TABLE_NAME> \ --region <REGION>

Questo mostra:

  • Ora dell'ultimo aggiornamento

  • Stato di aggiornamento (RIUSCITO, FALLITO, IN ESECUZIONE, INTERROTTO)

  • ID di esecuzione dell'attività

  • Messaggi di errore (se falliti)

Stati di aggiornamento comuni:

  • IN ESECUZIONE: il processo di aggiornamento è attualmente in esecuzione

  • RIUSCITO: aggiornamento completato con successo

  • FALLITO: l'aggiornamento ha rilevato un errore

  • INTERROTTO: l'aggiornamento è stato annullato manualmente

Risoluzione dei problemi relativi agli aggiornamenti non riusciti:

Se un aggiornamento fallisce, controlla:

  1. Autorizzazioni IAM: assicurati che il ruolo che definisce abbia accesso a tutte le tabelle di base e alla posizione della vista materializzata

  2. Disponibilità della tabella di base: verifica che tutte le tabelle di riferimento esistano e siano accessibili

  3. Validità della query: conferma che la query SQL è valida per il dialetto SQL di Spark

  4. Limiti delle risorse: verifica se hai raggiunto i limiti di aggiornamento simultanei per il tuo account

Utilizza l' GetMaterializedViewRefreshTaskRun API per recuperare messaggi di errore dettagliati.

Considerazioni e limitazioni

  • Le viste materializzate possono fare riferimento solo alle tabelle Apache Iceberg registrate nel AWS Glue Data Catalog come tabelle di base.

  • La creazione di viste e la riscrittura automatica delle query sono disponibili solo dai motori Spark in Apache Spark versione 3.5.6 e successive su Amazon Athena, Amazon EMR e (versione 5.1). AWS Glue

  • Le viste materializzate alla fine sono coerenti con le tabelle di base. Durante la finestra di aggiornamento, le query che accedono direttamente alla vista materializzata possono restituire dati obsoleti. Per un accesso immediato ai dati correnti, esegui un aggiornamento manuale.

  • L'intervallo minimo di aggiornamento automatico è di un'ora. Per i casi d'uso che richiedono aggiornamenti più frequenti, esegui gli aggiornamenti manuali a livello di codice utilizzando il comando. REFRESH MATERIALIZED VIEW

  • La riscrittura delle query dà priorità alla correttezza rispetto alle prestazioni. Se una vista materializzata è obsoleta o non è in grado di soddisfare con precisione i requisiti di query, i motori Spark eseguono la query originale sulle tabelle di base.