Condividi tramite


Collegare un notebook alle risorse di calcolo

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.

Elaborazione serverless per notebook

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

Per connettersi all'ambiente di calcolo serverless, fare clic sul menu a discesa Connetti nel notebook e selezionare Serverless.

Per altre informazioni, vedere 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: il lato Python del notebook viene mantenuto in modo da non dover reimportare o ripetere la richiesta.
  • DataFrame Spark, memorizzati nella cache e viste temporanee: i dati che hai caricato, trasformato o memorizzato nella cache (incluse le viste temporanee) sono preservati, evitando così costosi ricaricamenti o ricalcoli.
  • Stato sessione Spark: tutte le impostazioni di configurazione a livello di Spark, le visualizzazioni temporanee, le modifiche al catalogo e le funzioni definite dall'utente vengono salvate, quindi non è necessario reimpostarle.

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 al

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 altri 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 un SparkSessionoggetto , SparkContexto SQLContext. In questo modo si verifica un comportamento incoerente.

Usare un notebook con una warehouse 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'istanza di 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.

    finestra di dialogo altro cluster 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.