Condividi tramite


Risorse di calcolo per notebook

Questo articolo illustra le opzioni per le risorse di calcolo dei notebook. È possibile eseguire un notebook in una risorsa di calcolo tuttofare, una computazione serverless o, per i comandi SQL, si può utilizzare un SQL Warehouse, un tipo di calcolo ottimizzato per l'analisi SQL. Per altre informazioni sui tipi di calcolo, vedere Compute.

Calcolo predefinito

Nelle aree di lavoro abilitate per Unity Catalog, per impostazione predefinita i nuovi notebook utilizzano elaborazione serverless. Se non si seleziona manualmente una risorsa di calcolo ed si esegue una cella, il notebook si connette automaticamente al calcolo serverless.

Collega automaticamente il calcolo

Nelle impostazioni dello sviluppatore è possibile configurare i notebook per connettersi automaticamente a una risorsa di calcolo e avviare una sessione quando si interagisce con l'editor:

  1. Fare clic sull'icona dell'utente in alto a sinistra.

  2. Fare clic su Impostazioni.

  3. Fare clic su Sviluppatore per passare alle impostazioni dello sviluppatore.

  4. Attivare Crea automaticamente la sessione all'interazione con l'editor per avviare automaticamente una sessione di calcolo all'interazione con l'editor. Per impostazione predefinita, Databricks selezionerà una risorsa di calcolo in base alle tue preferenze (serverless o SQL warehouse) e all'ultima risorsa di calcolo utilizzata.

    OR

    Disattivare questa impostazione se non si vuole che il notebook si connetta automaticamente e avvii una risorsa di calcolo.

Le funzionalità di assistenza del codice, inclusi il completamento automatico, la formattazione del codice e il debugger, richiedono che il notebook sia collegato a una sessione di calcolo attiva. Se il notebook non ha avviato una sessione di calcolo, le funzionalità di assistenza del codice sono inattive.

Elaborazione serverless per notebook

L'ambiente di calcolo serverless consente di connettere rapidamente il notebook alle risorse di calcolo su richiesta.

Per connettersi al calcolo serverless, fare clic sul menu a discesa Calcolo nel notebook e selezionare Serverless.

Per maggiori informazioni, consulta Calcolo serverless per notebook.

Ripristino automatico delle sessioni per notebook serverless

L'interruzione inattiva del calcolo serverless può comportare la perdita del lavoro in corso, come i valori delle variabili Python nei tuoi notebook. Per evitare questo problema, abilitare il ripristino automatico della sessione per i notebook serverless.

  1. Fare clic sul nome utente in alto a destra dell'area di lavoro, quindi fare clic su Impostazioni nell'elenco a discesa.
  2. Nella barra laterale Impostazioni selezionare Developer.
  3. In Funzionalità sperimentali attivare o disattivare l'impostazione Ripristino automatico della sessione per i notebook serverless .

L'abilitazione di questa impostazione consente a Databricks di creare uno snapshot dello stato di memoria del notebook serverless prima della terminazione inattiva. Quando si torna a un notebook dopo una disconnessione inattiva, viene visualizzato un banner nella parte superiore della pagina. Fare clic su Riconnetti per ripristinare lo stato di lavoro.

Quando ci si riconnette, Databricks ripristina l'intero ambiente di lavoro, tra cui:

  • Variabili, funzioni e definizioni di classi Python: lo stato Python viene serializzato in-process usando pickle/cloudpickle e ripristinato in un nuovo REPL, quindi non è necessario ri-importare o ridefinire.
  • DataFrame Spark, viste temporanee e memorizzate nella cache: i dati caricati, trasformati o memorizzati nella cache (incluse le visualizzazioni temporanee) vengono mantenuti, evitando così di ricaricare o ricompilare costosi.
  • Stato sessione Spark: le impostazioni di configurazione a livello di Spark, le visualizzazioni temporanee, le modifiche al catalogo e le funzioni definite dall'utente vengono ripristinate tramite la migrazione della sessione spark Connect, quindi non è necessario reimpostarle.

Se l'ambiente è stato modificato in modo da rendere la deserializzazione non sicura, ad esempio versioni incompatibili di Python o dei pacchetti, lo snapshot viene invalidato e il notebook torna a una nuova sessione.

Archiviazione dei dati snapshot

I dati snapshot vengono archiviati nell'archiviazione predefinita dell'area di lavoro. Il notebook archivia solo i metadati, incluso un puntatore con l'ID del notebook, un timestamp e le informazioni sulla sessione. Il payload dei dati non viene archiviato nel notebook. I percorsi BLOB vengono crittografati prima di essere archiviati negli attributi del notebook e i percorsi degli snapshot vengono esclusi dall'esportazione e dall'importazione dei notebook per impedire il ripristino dello stato in un'area di lavoro diversa.

Gli snapshot seguono le impostazioni predefinite TTL di archiviazione cloud (circa un mese) e scadono automaticamente. L'eliminazione di un notebook elimina anche i relativi snapshot. Nel vostro account cloud, il costo di archiviazione è integrato nell'uso standard dello spazio di archiviazione dell'area di lavoro. La funzionalità usa la serializzazione dei processi Python anziché il checkpoint a livello di contenitore, che mantiene gli snapshot più piccoli e veloci da creare.

Sicurezza e controllo di accesso

Il ripristino dello snapshot rispetta le autorizzazioni del notebook. Il ripristino dello stato richiede l'autorizzazione RUN per il notebook. I metadati crittografati impediscono ai visualizzatori di recuperare direttamente i BLOB di snapshot e i controlli delle autorizzazioni vengono applicati al ripristino.

Limitazioni

Questa funzionalità presenta limitazioni e non supporta il ripristino degli elementi seguenti:

  • Stati Spark più vecchi di 4 giorni
  • Stati Spark maggiori di 50 MB
  • Dati riguardanti lo scripting SQL
  • Handle di file
  • Blocchi e altre primitive di concorrenza
  • Connessioni di rete

Collegare un notebook a una risorsa di calcolo multifunzionale

Per collegare un notebook a una risorsa di calcolo generica, è necessaria l'autorizzazione sulla risorsa di calcolo CAN ATTACH TO.

Importante

Finché un notebook è collegato a una risorsa di calcolo, qualsiasi utente con l'autorizzazione CAN RUN per il notebook dispone dell'autorizzazione implicita per accedere alla risorsa di calcolo.

Per collegare un notebook a una risorsa di calcolo, fare clic sul selettore di calcolo nella barra degli strumenti del notebook e selezionare la risorsa dal menu a discesa.

Il menu mostra una selezione di risorse di calcolo e di SQL warehouse utilizzati di recente o attualmente in esecuzione.

Collegare il notebook

Per selezionare tutte le risorse di calcolo disponibili, fare clic su Altro... Selezionare tra le risorse di calcolo generali disponibili o i warehouse SQL.

finestra di dialogo più cluster

È anche possibile creare una nuova risorsa di calcolo tutto scopo selezionando Crea nuova risorsa... dal menu a discesa.

Importante

Per un notebook collegato sono definite le variabili Apache Spark seguenti.

Classe Nome variabile
SparkContext sc
SQLContext/HiveContext sqlContext
SparkSession (Spark 2.x) spark

Non creare SparkSession, SparkContext o SQLContext. In questo modo si verifica un comportamento incoerente.

Usare un notebook con un magazzino dati SQL

Quando un notebook è collegato a un'istanza di SQL Warehouse, è possibile eseguire celle SQL e Markdown. L'esecuzione di una cella in qualsiasi altro linguaggio, ad esempio Python o R, genera un errore. Le celle SQL eseguite in un'istanza di SQL Warehouse vengono visualizzate nella cronologia delle query di SQL Warehouse. L'utente che ha eseguito una query può visualizzare il profilo di query dal notebook facendo clic sul tempo trascorso nella parte inferiore dell'output.

I notebook collegati a SQL Warehouse supportano le sessioni di SQL Warehouse, che consentono di definire variabili, creare viste temporanee e mantenere lo stato tra più esecuzioni di query. In questo modo è possibile compilare la logica SQL in modo iterativo senza dover eseguire tutte le istruzioni contemporaneamente. Vedere Che cosa sono le sessioni di SQL Warehouse?.

L'esecuzione di un notebook richiede un'istanza di SQL Warehouse pro o serverless. È necessario avere accesso all'area di lavoro e al warehouse SQL.

Per collegare un notebook a un SQL warehouse, eseguire le operazioni seguenti:

  1. Fare clic sul selettore di calcolo nella barra degli strumenti del notebook. Il menu a discesa mostra le risorse di calcolo attualmente in esecuzione o usate di recente. I warehouse SQL sono contrassegnati con Etichetta di SQL Warehouse.

  2. Dal menu selezionare un magazzino SQL.

    Per visualizzare tutti i warehouse SQL disponibili, selezionare Altro... dal menu a discesa. Viene visualizzata una finestra di dialogo che mostra le risorse di calcolo disponibili per il notebook. Selezionare SQL Warehouse, scegliere il warehouse da usare e fare clic su Connetti.

    ulteriori opzioni del cluster nella finestra di dialogo con SQL Warehouse selezionato

È anche possibile selezionare un SQL Warehouse come risorsa di calcolo per un notebook SQL quando si crea un flusso di lavoro o un'attività pianificata.

Limitazioni delle warehouse SQL

Per altre informazioni, vedi Limitazioni note per notebook Databricks.