Condividi tramite


Snapshot della modalità driver

Lo snapshot in modalità driver è un percorso di caricamento per snapshot Delta che viene eseguito nel processo del driver anziché utilizzare le operazioni distribuite di Spark.

Usare questa funzionalità quando si vuole ridurre la latenza di avvio delle query a freddo per le tabelle Delta con piccoli log Delta. In questi casi, evitare il sovraccarico di pianificazione dei processi Spark può migliorare il tempo di caricamento degli snapshot.

Quando usare lo snapshot in modalità driver

Lo snapshot in modalità driver è una scelta ottimale quando è necessaria un'avvio più veloce delle query a freddo per le tabelle con piccoli log Delta.

I vantaggi includono:

  • Riduzione della latenza evitando il sovraccarico di pianificazione dei processi Spark per il caricamento di snapshot.
  • Elaborazione locale nel driver, che può ridurre le operazioni di I/O di rete per i log idonei.

Si consideri la modalità tradizionale quando la memoria del driver è vincolata.

Configurare lo snapshot della modalità driver

Il comportamento dello snapshot in modalità driver viene controllato tramite le opzioni di configurazione di Spark.

È possibile impostare queste proprietà nella sessione del notebook con spark.conf.set o tramite le proprietà Spark dell'ambiente Fabric. Per informazioni su dove configurare le proprietà Spark dell'ambiente, vedere Creare, configurare e usare un ambiente in Fabric e Impostazioni di configurazione di calcolo Spark negli ambienti Fabric.

Impostazioni di base

Usare queste impostazioni per attivare o disattivare lo snapshot in modalità driver e controllare il comportamento di fallback.

Configuration Type Default Description
spark.microsoft.delta.snapshot.driverMode.enabled Boolean false Abilita o disabilita lo snapshot in modalità driver
spark.microsoft.delta.snapshot.driverMode.fallback.enabled Boolean true Abilita il fallback automatico alla modalità tradizionale in caso di errori

Impostazioni limite dimensioni

Usare questi limiti per controllare quando lo snapshot in modalità driver è autorizzato a elaborare un log Delta nel driver.

Configuration Type Default Description
spark.microsoft.delta.snapshot.driverMode.maxLogSize Long 8 MB Dimensioni massime del log delta (byte) da elaborare in modalità driver (per tabella/versione)
spark.microsoft.delta.snapshot.driverMode.maxLogFileCount Integer 10 Numero massimo di file di log Delta da elaborare in modalità driver (per tabella/versione)

Utilizzo di base

Usare i frammenti di codice seguenti in una sessione del notebook. È possibile impostare i valori di configurazione in qualsiasi ordine, ma impostarli prima di eseguire l'operazione di lettura Delta.

Abilitare lo snapshot della modalità driver:

spark.conf.set("spark.microsoft.delta.snapshot.driverMode.enabled", "true")

Impostare i limiti di dimensione (valori di esempio):

spark.conf.set("spark.microsoft.delta.snapshot.driverMode.maxLogSize", "4MB")
spark.conf.set("spark.microsoft.delta.snapshot.driverMode.maxLogFileCount", "10")

Caricare una tabella Delta. Se la versione della tabella soddisfa i limiti configurati, viene utilizzato uno snapshot in modalità driver.

spark.read.format("delta").load(path).count()

Consigli sulla configurazione

Usare le raccomandazioni seguenti come baseline sicura per i carichi di lavoro di produzione.

  • Inizia in modo conservativo: Inizia con i limiti di dimensione predefiniti e aumenta in base al monitoraggio
  • Abilita fallback: abilitare sempre il fallback negli ambienti di produzione (impostazione predefinita)

Troubleshooting

Usare i controlli seguenti quando lo snapshot in modalità driver non si comporta come previsto.

  • Errori OOM del driver

    • Ridurre maxLogSize o maxLogFileCount limiti oppure disabilitare la modalità driver.
    • Prendere in considerazione l'aumento delle dimensioni del nodo driver
  • Fallback alla modalità tradizionale

    • Controllare i log per le cause di fallback. Cercare i messaggi di log contenenti "Errore in modalità driver"
    • Esaminare la configurazione del limite delle dimensioni. Cercare i messaggi di log contenenti il controllo delle dimensioni del log
    • Lo snapshot in modalità driver non supporta gli account storage con lo spazio dei nomi gerarchico disabilitato.
  • Problemi di prestazioni

    • Confronto con le prestazioni tradizionali della modalità Spark
    • Modificare la configurazione in base alle caratteristiche del carico di lavoro