Eventi
Ottieni gratuitamente la certificazione in Microsoft Fabric.
19 nov, 23 - 10 dic, 23
Per un periodo di tempo limitato, il team della community di Microsoft Fabric offre buoni per esami DP-600 gratuiti.
Prepara oraQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
L'ottimizzazione predittiva viene eseguita OPTIMIZE
automaticamente nelle tabelle gestite di Unity Catalog. Databricks consiglia di abilitare l'ottimizzazione predittiva per tutte le tabelle gestite di Unity Catalog per semplificare la manutenzione dei dati e ridurre i costi di archiviazione. Vedere Ottimizzazione predittiva per le tabelle gestite di Unity Catalog.
Il OPTIMIZE
comando riscrive i file di dati per migliorare il layout dei dati per le tabelle Delta. Per le tabelle con clustering liquido abilitato, OPTIMIZE
riscrive i file di dati per raggruppare i dati in base alle chiavi di clustering liquido. Per le tabelle con partizioni definite, la compattazione dei file e il layout dei dati vengono eseguiti all'interno delle partizioni.
Le tabelle senza clustering liquido possono includere facoltativamente una ZORDER BY
clausola per migliorare il clustering dei dati in caso di riscrittura. Databricks consiglia di usare clustering liquido invece di partizioni, ZORDER
o altri approcci di layout dei dati.
Vedere OPTIMIZE.
Per attivare la compattazione, eseguire il OPTIMIZE
comando :
OPTIMIZE table_name
from delta.tables import *
deltaTable = DeltaTable.forName(spark, "table_name")
deltaTable.optimize().executeCompaction()
import io.delta.tables._
val deltaTable = DeltaTable.forName(spark, "table_name")
deltaTable.optimize().executeCompaction()
Se si dispone di una grande quantità di dati e si vuole solo ottimizzare un subset di dati, è possibile specificare un predicato di partizione facoltativo usando WHERE
:
OPTIMIZE table_name WHERE date >= '2022-11-18'
from delta.tables import *
deltaTable = DeltaTable.forName(spark, "table_name")
deltaTable.optimize().where("date='2021-11-18'").executeCompaction()
import io.delta.tables._
val deltaTable = DeltaTable.forName(spark, "table_name")
deltaTable.optimize().where("date='2021-11-18'").executeCompaction()
Nota
OPTIMIZE
dell'operazione sono disponibili in Databricks Runtime 11.3 LTS e versioni successive.I lettori delle tabelle Delta usano l'isolamento dello snapshot, il che significa che non vengono interrotti quando OPTIMIZE
rimuove i file non necessari dal log delle transazioni. OPTIMIZE
non apporta modifiche correlate ai dati alla tabella, quindi una lettura prima e dopo un oggetto OPTIMIZE
ha gli stessi risultati. L'esecuzione OPTIMIZE
in una tabella che è un'origine di streaming non influisce sui flussi correnti o futuri che considerano questa tabella come origine. OPTIMIZE
restituisce le statistiche sui file (min, max, total e così via) per i file rimossi e i file aggiunti dall'operazione. Optimize stats contiene anche le statistiche di ordinamento Z, il numero di batch e le partizioni ottimizzate.
È anche possibile compattare automaticamente file di piccole dimensioni usando la compattazione automatica. Vedere Compattazione automatica per Delta Lake in Azure Databricks.
Abilitare l'ottimizzazione predittiva per le tabelle gestite di Unity Catalog per garantire l'esecuzione OPTIMIZE
automatica quando è conveniente.
Quando si sceglie la frequenza con cui eseguire OPTIMIZE
, esiste un compromesso tra prestazioni e costi. Per migliorare le prestazioni delle query dell'utente finale, eseguire OPTIMIZE
più spesso. Ciò comporta un costo più elevato a causa dell'aumento dell'utilizzo delle risorse. Per ottimizzare i costi, eseguirlo meno spesso.
Databricks consiglia di iniziare con l'esecuzione OPTIMIZE
su base giornaliera e quindi di regolare la frequenza per bilanciare i compromessi sui costi e sulle prestazioni.
Entrambe le operazioni richiedono un elevato utilizzo di CPU ed eseguono grandi quantità di codifica e decodifica Parquet.
Databricks consiglia i tipi di istanza ottimizzati per il calcolo. OPTIMIZE
trae vantaggio anche dalle unità SSD collegate.
Eventi
Ottieni gratuitamente la certificazione in Microsoft Fabric.
19 nov, 23 - 10 dic, 23
Per un periodo di tempo limitato, il team della community di Microsoft Fabric offre buoni per esami DP-600 gratuiti.
Prepara ora