Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Predictive I/O è una raccolta di ottimizzazioni di Azure Databricks che velocizzano la lettura e l'aggiornamento dei dati:
- Le letture accelerate accelerano le query selettive che altrimenti scannerizzerebbero molti più dati di quanti ne restituirebbero.
- Gli aggiornamenti accelerati riducono i dati riscritti quando un aggiornamento, una cancellazione o una fusione cambia solo poche righe in un file.
L'I/O predittivo è esclusivo dell'engine Photon su Azure Databricks. Vedi Che cos'è Photon?.
Quando si applica l'I/O predittivo
L'I/O predittiva si attiva automaticamente. Non lo attivi per le singole richieste. Per trarne vantaggio:
- Esegui query su SQL warehouse serverless o pro, o su cluster abilitati a Photon. Vedi Usa I/O predittiva per accelerare le letture.
- Abilita i vettori di cancellazione su tabelle con frequenti operazioni di
DELETEeliminazione,MERGEaggiornamento oUPDATEunione per ottenere aggiornamenti accelerati. Vedere Usare l'I/O predittiva per accelerare gli aggiornamenti.
L'I/O predittiva supera anche gli indici Bloom filter. Vedere Indici di filtro Bloom (deprecati).
Usare le operazioni di I/O predittive per accelerare le letture
L'I/O predittivo viene usato per accelerare l'analisi dei dati e filtrare le prestazioni per tutte le operazioni sui tipi di calcolo supportati.
Importante
Le letture di I/O predittive sono supportate dai tipi serverless e pro di sql warehouse e dai cluster con accelerazione Photon che eseguono Databricks Runtime 11.3 LTS e versioni successive.
L'I/O predittiva migliora le prestazioni di scansione applicando tecniche di deep learning per:
- Determina il modello di accesso più efficiente per leggere i dati e scansiona solo quelli effettivamente necessari.
- Eliminare la decodifica di colonne e righe non necessarie per generare i risultati della query.
- Calcolare le probabilità dei criteri di ricerca nelle query selettive corrispondenti a una riga. Durante l'esecuzione delle query, l'I/O Predittiva utilizza queste probabilità per anticipare dove si verifica la riga corrispondente successiva e leggere solo quei dati dall'archiviazione cloud.
Usare l'I/O predittivo per accelerare gli aggiornamenti
L'I/O predittiva per gli aggiornamenti viene utilizzata automaticamente per tutte le tabelle che hanno vettori di cancellazione abilitati su questi tipi di calcolo abilitati per Photon:
- Serverless SQL Warehouse.
- Pro SQL Warehouse.
- Cluster che eseguono Databricks Runtime 14.0 e versioni successive.
Nota
Il supporto per l'I/O predittivo per gli aggiornamenti è presente in Databricks Runtime 12.2 LTS e versioni successive, ma Databricks consiglia di usare 14.0 e versioni successive per ottenere prestazioni ottimali.
Vedere Vettori di eliminazione in Databricks.
Importante
Un'impostazione amministrativa dello spazio di lavoro controlla se i vettori di cancellazione sono automaticamente abilitati per le nuove tabelle Delta Lake. Vedere Abilitare automaticamente i vettori di eliminazione.
È possibile abilitare il supporto per i vettori di eliminazione in una tabella Delta Lake impostando una proprietà di tabella Delta Lake. Si abilitano vettori di cancellazione durante la creazione della tabella o si modifica una tabella esistente, ad esempio:
CREATE TABLE <table-name> [options] TBLPROPERTIES ('delta.enableDeletionVectors' = true);
ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);
Avviso
Quando si abilitano i vettori di eliminazione, la versione del protocollo di tabella viene aggiornata. Dopo l'aggiornamento, la tabella non è leggibile dai client Delta Lake che non supportano vettori di cancellazione. Vedere Compatibilità e protocolli delle funzionalità delta Lake.
Per un elenco dei client che supportano vettori di eliminazione, vedere Compatibilità client.
In Databricks Runtime 14.1 e versioni successive è possibile eliminare la funzionalità di tabella dei vettori di eliminazione per abilitare la compatibilità con altri client Delta. Vedere Eliminare una funzionalità di tabella Delta Lake e effettuare il downgrade del protocollo di tabella.
L'I/O predittiva sfrutta i vettori di cancellazione per accelerare gli aggiornamenti riducendo la frequenza delle riscritture complete dei file durante la modifica dei dati sulle tabelle Delta Lake. L'I/O predittivo ottimizza le operazioni DELETE, MERGE e UPDATE.
Anziché riscrivere tutti i record in un file di dati quando un record viene aggiornato o eliminato, l'I/O predittivo usa vettori di eliminazione per indicare che i record sono stati rimossi dai file di dati di destinazione. I file di dati supplementari vengono usati per indicare gli aggiornamenti.
Le letture successive sulla tabella risolvono lo stato corrente della tabella applicando le modifiche annotate alla versione più recente della tabella.
Importante
Gli aggiornamenti di I/O predittivi condividono tutte le limitazioni con i vettori di eliminazione. In Databricks Runtime 12.2 LTS e versioni successive, si applicano queste limitazioni:
- OpenSharing non è supportato nelle tabelle con vettori di eliminazione abilitati.
- Non è possibile generare un file manifesto per una tabella con vettori di eliminazione presenti. Eseguire
REORG TABLE ... APPLY (PURGE)e verificare che non siano in esecuzione operazioni di scrittura simultanee per generare un manifesto. - Non è possibile generare in modo incrementale i file manifesto per una tabella con vettori di eliminazione abilitati.