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.
Seguire questi consigli per ottimizzare la produttività, ridurre i costi e migliorare l'affidabilità quando si usano risorse di calcolo serverless per notebook, processi e pipeline in Azure Databricks.
Eseguire la migrazione dei carichi di lavoro a un ambiente di calcolo serverless
Per istruzioni dettagliate sulla migrazione dal calcolo classico a serverless, inclusi i prerequisiti, le modifiche del codice necessarie, le strategie di test e un piano di implementazione in più fasi, vedere Eseguire la migrazione dal calcolo classico al calcolo serverless.
Specificare le versioni dei pacchetti Python
Quando si esegue la migrazione a un ambiente di calcolo serverless, aggiungere i pacchetti Python a versioni specifiche per garantire ambienti riproducibili. Se non si specifica una versione, il pacchetto potrebbe risolversi in una versione diversa in base alla versione dell'ambiente serverless, che può aumentare la latenza quando è necessario installare nuovi pacchetti.
Ad esempio, il requirements.txt file deve includere versioni specifiche del pacchetto, come illustrato di seguito:
numpy==2.2.2
pandas==2.2.3
Usare nomi univoci per le visualizzazioni temporanee
L'ambiente di calcolo serverless usa Spark Connect, un'architettura client-server che valuta le viste temporanee in modalità lazy. Questo comportamento è diverso dall'architettura spark classica e può causare errori quando il codice riutilizza lo stesso nome di visualizzazione temporanea, ad esempio in un ciclo.
Per evitare errori, usare nomi univoci per tutte le visualizzazioni temporanee nel codice.
Rete e connettività
L'ambiente di calcolo serverless non supporta il peering VPC, un modo comune per connettere il calcolo di Databricks classico alle origini dati nell'account cloud. In alternativa, usare le configurazioni di connettività di rete per gestire endpoint, firewall e connettività a servizi esterni.
Ad esempio, è possibile aggiungere un set di indirizzi IP in uscita stabili in VPC esterne a un elenco di indirizzi consentiti per abilitare la connettività da Azure Databricks e verso il calcolo serverless. Per connettersi alle applicazioni aziendali ( ad esempio Salesforce) o ai database gestiti (ad esempio MySQL), usare Lakeflow Connect.
Per limitare e monitorare il traffico in uscita dall'elaborazione serverless, configurare i controlli di uscita per il tuo workspace. Vedere Gestire i criteri di rete per il controllo in uscita serverless.
Versioni dell'ambiente serverless
L'ambiente di calcolo serverless usa le versioni dell'ambiente anziché le versioni tradizionali di Databricks Runtime. Ciò rappresenta un cambiamento nel modo in cui si gestisce la compatibilità del carico di lavoro:
- Approccio di Databricks Runtime: si seleziona una versione specifica di Databricks Runtime per il carico di lavoro e si gestiscono manualmente gli aggiornamenti per mantenere la compatibilità.
- approccio Serverless: si scrive codice in una versione dell'ambiente e Azure Databricks aggiorna in modo indipendente il server sottostante.
Le versioni dell'ambiente forniscono un'API client stabile che garantisce che il carico di lavoro rimanga compatibile, mentre Azure Databricks offre miglioramenti delle prestazioni, miglioramenti della sicurezza e correzioni di bug senza richiedere modifiche al codice ai carichi di lavoro.
Ogni versione dell'ambiente include librerie di sistema aggiornate, funzionalità e correzioni di bug, mantenendo al contempo la compatibilità con le versioni precedenti per i carichi di lavoro. Azure Databricks supporta ogni versione dell'ambiente per tre anni dalla data di rilascio, fornendo un ciclo di vita prevedibile per la pianificazione degli aggiornamenti.
Per selezionare un ambiente di base per il carico di lavoro serverless, vedere Selezionare un ambiente di base. Per informazioni dettagliate sulle versioni dell'ambiente disponibili e sulle relative funzionalità, vedere Versioni dell'ambiente serverless.
Gestire le dipendenze
L'ambiente di calcolo serverless non supporta gli script init. Si consiglia di utilizzare ambienti serverless per installare e gestire le librerie per i carichi di lavoro serverless. Gli ambienti memorizzano nella cache i pacchetti installati, riducendo la latenza di avvio per le esecuzioni successive.
Per usare le librerie da un repository privato, configurare gli URL prefirmati per l'accesso autenticato al repository nelle impostazioni dell'ambiente.
Scegliere una modalità di prestazioni
Azure Databricks calcolo serverless offre due modalità di prestazioni che consentono di bilanciare la velocità e i costi in base al tipo di carico di lavoro come indicato di seguito:
- Modalità ottimizzata per le prestazioni (impostazione predefinita): ideale per carichi di lavoro interattivi che richiedono tempi di avvio rapidi. Azure Databricks mantiene un pool di risorse di calcolo pronte all'uso per ridurre al minimo il tempo di attesa.
- Modalità Standard: ideale per processi e pipeline batch automatizzati che possono tollerare tempi di avvio più lunghi da 4 a 6 minuti. La modalità Standard può ridurre i costi fino a 70% rispetto alla modalità ottimizzata per le prestazioni. La modalità Standard è disponibile per i processi Lakeflow e le pipeline dichiarative di Lakeflow Spark, ma non per i notebook.
Scegliere la modalità più adatta ai requisiti del carico di lavoro. Per i processi pianificati in cui la latenza di avvio non è critica, la modalità Standard offre in genere il miglior valore. Per informazioni sui prezzi correnti, vedere la pagina dei prezzi di Databricks.
Ottimizzare i carichi di lavoro di streaming
L'ambiente di calcolo serverless supporta lo streaming strutturato con Trigger.AvailableNow. Gli intervalli di trigger basati sul tempo non sono supportati. Per informazioni dettagliate su trigger, esempi di codice e alternative per lo streaming continuo, vedere la sezione streaming della guida alla migrazione.
Quando si usa Trigger.AvailableNow, ogni trigger elabora tutti i dati disponibili nell'origine, il che può comportare micro batch di dimensioni maggiori rispetto a un trigger basato sul tempo. Per evitare errori di memoria insufficiente e mantenere prestazioni prevedibili, limitare la quantità di dati elaborati per micro batch impostando maxFilesPerTrigger o maxBytesPerTrigger.
Eseguire il debug di carichi di lavoro serverless
L'interfaccia utente di Spark non è disponibile nel calcolo serverless. Usare invece il profilo di query per analizzare le prestazioni delle query e risolvere i problemi dei carichi di lavoro. Il profilo di query fornisce informazioni dettagliate sull'esecuzione ed è accessibile dalla cronologia delle query nell'interfaccia utente di Azure Databricks.
Inserire dati da sistemi esterni
Le strategie alternative che è possibile usare per l'inserimento includono:
- Blocchi predefiniti basati su SQL, ad esempio COPY INTO e tabelle di streaming .
- L'Autoloader per elaborare in modo incrementale ed efficiente i nuovi file di dati man mano che arrivano nell'archiviazione cloud. Vedere Che cos'è l’Autoloader?.
- Soluzioni partner di inserimento dati. Vedere Connettersi ai partner di inserimento tramite Partner Connect.
- Interfaccia di caricamento dati per caricare i file. Consulta Creare o modificare una tabella tramite caricamento di file.
Alternative di ingestione
Quando si usa l'ambiente di elaborazione serverless, è anche possibile usare le funzionalità seguenti per eseguire query sui dati senza spostarli.
- Se desideri limitare la duplicazione dei dati o assicurarti di eseguire query sui dati più aggiornati possibili, Databricks consiglia di usare Delta Sharing. Vedere Che cos'è Delta Sharing?.
- Per il lavoro di creazione di report ad hoc e proof-of-concept, Lakehouse Federation consente di eseguire query sui database esterni direttamente da Azure Databricks senza spostare dati, regolati da Unity Catalog. Vedere Che cos'è Lakehouse Federation?.
Provare una o entrambe le funzionalità e verificare se soddisfano i requisiti di prestazioni delle query.
Sistemi di ricezione non supportati
Se un sistema sink non è supportato come destinazione di scrittura diretta dal calcolo serverless, è possibile usare il catalogo REST di Unity Catalog Iceberg per consentire a tale sistema di leggere direttamente dalle tabelle Azure Databricks. Snowflake, ad esempio, non è un sink serverless supportato, ma può essere configurato come client Iceberg per leggere le tabelle gestite da Unity Catalog.
Questo approccio evita la duplicazione dei dati e mantiene Unity Catalog come livello di governance per tutte le letture. Per i client e i passaggi di configurazione supportati, vedere Accedi alle tabelle di Azure Databricks dai client Apache Iceberg.
Configurazioni di Spark supportate
Per automatizzare la configurazione di Spark nel calcolo serverless, Azure Databricks ha rimosso il supporto per l'impostazione manuale della maggior parte delle configurazioni spark. Per visualizzare un elenco dei parametri di configurazione di Spark supportati, vedere Configurare le proprietà di Spark per notebook e processi serverless.
L'esecuzione del processo in un ambiente di calcolo serverless avrà esito negativo se si imposta una configurazione Spark non supportata.
Monitorare il costo dell’elaborazione serverless
Sono disponibili più funzionalità che è possibile usare per monitorare il costo dell’elaborazione serverless:
- Usa le politiche di utilizzo serverless per attribuire l'utilizzo del calcolo senza server.
- Usare le tabelle di sistema per creare dashboard, configurare avvisi ed eseguire query ad hoc. Vedere Monitorare il costo dell’elaborazione serverless.
- Configurare gli avvisi relativi al budget nell'account. Consulta Creare e monitorare i budget .
- Importare un dashboard di utilizzo preconfigurato. Vedere Importare un dashboard di utilizzo.