Condividi tramite


Gestire il calcolo

Questo articolo descrive come gestire l’ambiente di calcolo di Azure Databricks, tra cui la visualizzazione, la modifica, l'avvio, l'interruzione, l'eliminazione, il controllo dell'accesso e il monitoraggio delle prestazioni e dei log. È anche possibile usare l'API Clusters per gestire l’ambiente di calcolo a livello di codice.

Visualizzare l’ambiente di calcolo

Per visualizzare l’ambiente di calcolo, fare clic su icona dell’ambiente di calcolo Ambiente di calcolo nella barra laterale dell'area di lavoro.

Sul lato sinistro sono presenti due colonne che indicano se l'ambiente di calcolo sia stato aggiunto e lo stato dell'ambiente di calcolo. Per ottenere altre informazioni, passarvi sopra il mouse.

Visualizzare la configurazione dell’ambiente di calcolo come file JSON

A volte può essere utile visualizzare la configurazione dell’ambiente di calcolo come JSON. Ciò è particolarmente utile quando si vuole creare un calcolo simile usando l'API Clusters. Quando si visualizza un ambiente di calcolo esistente, passare alla scheda Configurazione, fare clic su JSON nella parte superiore destra della scheda, copiare il codice JSON e incollarlo nella chiamata API. La visualizzazione JSON è di sola lettura.

Associare un ambiente di calcolo

Dopo 30 giorni dal termine di un calcolo, questo viene eliminato in maniera permanente. Per mantenere la configurazione di un calcolo multiuso anche dopo che è stato terminato da più di 30 giorni, può essere associato da un amministratore. È possibile associare fino a 100 risorse di calcolo.

Gli amministratori possono associare un calcolo dall'elenco di calcolo o dalla pagina dei dettagli di calcolo facendo clic sull'icona Associa.

Modificare un ambiente di calcolo

È possibile modificare la configurazione di un ambiente di calcolo dall'interfaccia utente dei dettagli di calcolo.

Nota

  • I Notebook e i processi collegati all'ambiente di calcolo rimangono collegati dopo la modifica.
  • Le librerie installate nell'ambiente di calcolo rimangono installate dopo la modifica.
  • Se si modifica un attributo di un ambiente di calcolo in esecuzione, ad eccezione delle dimensioni del calcolo e delle autorizzazioni, è necessario riavviarlo. Ciò può causare interruzioni agli utenti che attualmente usano l’ambiente di calcolo.
  • È possibile modificare solo un ambiente di calcolo in esecuzione o terminato. È tuttavia possibile aggiornare le autorizzazioni per il calcolo non in tali stati nella pagina dei dettagli del calcolo.

Clonare un ambiente di calcolo

Per clonare un ambiente di calcolo esistente, selezionare Clona dal menu kebab dell’ambiente di Menu Kebab calcolo.

Dopo aver selezionato Clona, l'interfaccia utente di creazione del calcolo si apre precompilato con la configurazione di calcolo. Gli attributi seguenti NON sono inclusi nel clone:

  • Autorizzazioni di calcolo
  • I Notebook allegati

Se non si desidera includere le librerie installate in precedenza nell’ambiente di calcolo clonato, fare clic sul menu a discesa accanto al pulsante Crea calcolo e selezionare Crea senza librerie.

Autorizzazioni di calcolo

Sono disponibili quattro livelli di autorizzazione per un ambiente di calcolo, ovvero: NO PERMISSIONS, CAN ATTACH TO, CAN RESTART, e CAN MANAGE. Per informazioni dettagliate, vedere ACL di calcolo.

Nota

I segreti non vengono elaborati dal log stdout e stderr dai flussi del driver Spark di un cluster. Per proteggere i dati sensibili, per impostazione predefinita, i log dei driver Spark sono visualizzabili solo dagli utenti con l'autorizzazione CAN MANAGE per il processo, la modalità di accesso utente singolo e i cluster in modalità di accesso condiviso. Per consentire agli utenti con l'autorizzazione CAN ATTACH TO o CAN RESTART per visualizzare i log in questi cluster, impostare la proprietà di configurazione Spark seguente nella configurazione del cluster: spark.databricks.acl.needAdminPermissionToViewLogs false.

Nei cluster in modalità di accesso condiviso senza isolamento i log del driver Spark possono essere visualizzati dagli utenti con l'autorizzazione CAN ATTACH TO o CAN MANAGE. Per limitare la lettura dei log ai soli utenti con l'autorizzazione CAN MANAGE, impostare spark.databricks.acl.needAdminPermissionToViewLogs su true.

Vedere Configurazione Spark per avere informazioni su come aggiungere proprietà Spark a una configurazione del cluster.

Configurare le autorizzazioni dell’ambiente di calcolo

Questa sezione descrive come gestire le autorizzazioni usando l'interfaccia utente dell'area di lavoro. È anche possibile usare l'API Autorizzazioni o il provider Terraform di Databricks.

Per configurare le autorizzazioni per un ambiente di calcolo, è necessario disporre dell'autorizzazione CAN MANAGE.

  1. Nella barra laterale fare clic su Ambiente di calcolo.
  2. Nella riga per il calcolo fare clic sul menu Menu Kebab kebab a destra e selezionare Modifica autorizzazioni.
  3. In Impostazioni autorizzazione, fare clic sul menu a discesa Seleziona utente, gruppo o entità servizio… e selezionare un utente, un gruppo o un'entità servizio.
  4. Nel menu a discesa Autorizzazioni, selezionare un’autorizzazione.
  5. Fare clic su Aggiungi e quindi su Salva.

Terminare un ambiente di calcolo

Per salvare le risorse di un ambiente di calcolo, è possibile terminare l’ambiente do calcolo. La configurazione dell'ambiente di calcolo terminato viene archiviata in modo che possa essere riutilizzata (o, nel caso di processi, avviata automaticamente) in un secondo momento. È possibile terminare un ambiente di calcolo manualmente o configurarlo in modo che venga terminato automaticamente dopo un periodo di inattività specifico. Quando il numero di risorse di calcolo terminate supera le 150, il calcolo meno recente viene eliminato.

A meno che un ambiente di calcolo non venga associato o riavviato, viene eliminato automaticamente e definitivamente 30 giorni dopo il termine.

Gli ambienti di calcolo terminati vengono visualizzati nell'elenco di calcolo con un cerchio grigio a sinistra del nome dell’ambiente di calcolo.

Nota

Quando si esegue un processo in un nuovo ambiente di calcolo del processo (in genere consigliato), il calcolo termina e non è disponibile per il riavvio al termine del processo. D'altra parte, se si pianifica un processo per l'esecuzione in un ambiente di calcolo multiuso esistente che è stato terminato, tale ambiente di calcolo verrà avviato automaticamente.

Importante

Se si usa un'area di lavoro Premium di valutazione, tutte le risorse di calcolo in esecuzione vengono terminate:

  • Quando si aggiorna un'area di lavoro al livello Premium completo.
  • Se l'area di lavoro non viene aggiornata e la versione di valutazione scade.

Terminazione manuale

È possibile terminare manualmente un ambiente di calcolo dall'elenco di calcolo (facendo clic sul quadrato nella riga del calcolo) o sulla pagina dei dettagli di calcolo (facendo clic su Termina).

Terminazione automatica

È anche possibile impostare la terminazione automatica di un ambiente di calcolo. Durante la creazione dell’ambiente di calcolo, è possibile specificare un periodo di inattività in minuti dopo il quale si vuole che il calcolo termini.

Se la differenza tra l'ora corrente e l'ultima esecuzione del comando nel calcolo è maggiore del periodo di inattività specificato, Azure Databricks termina automaticamente tale ambiente di calcolo.

Un ambiente di calcolo viene considerato inattivo quando tutti i comandi nel calcolo, inclusi processi Spark, Structured Streaming e chiamate JDBC, hanno terminato l'esecuzione.

Avviso

  • L’ambiente di calcolo non segnala l'attività risultante dall'uso di DStreams. Ciò significa che un calcolo con terminazione automatica può essere terminato durante l'esecuzione di DStream. Disattivare la terminazione automatica del calcolo che esegue DStream o prendere in considerazione l'uso di Structured Streaming.
  • Gli ambienti di calcolo inattivi continuano ad accumulare unità Databricks e addebiti per le istanze cloud e durante il periodo di inattività prima della terminazione.

Configurare la terminazione automatica

È possibile configurare la terminazione automatica nella nuova interfaccia utente dell’ambiente di calcolo. Assicurarsi che la casella sia selezionata e immettere il numero di minuti nell'impostazione Termina dopo ___ di minuti di inattività.

È possibile rifiutare esplicitamente la terminazione automatica deselezionando la casella di controllo Terminazione automatica o specificando un periodo di inattività di 0.

Nota

La terminazione automatica è meglio supportata nelle versioni più recenti di Spark. Le versioni precedenti di Spark presentano limitazioni note che possono comportare la segnalazione imprecisa dell'attività di calcolo. Ad esempio, il calcolo che esegue comandi JDBC, R o di streaming può segnalare un tempo di attività non aggiornato che porta alla terminazione prematura del calcolo. Eseguire l'aggiornamento alla versione di Spark più recente per trarre vantaggio dalle correzioni dei bug e dai miglioramenti alla terminazione automatica.

Terminazione inattesa

A volte un calcolo viene terminato in modo imprevisto, non a causa di una terminazione manuale o di una terminazione automatica configurata.

Per un elenco dei motivi di terminazione e dei passaggi di correzione, vedere la Knowledge Base.

Eliminare un ambiente di calcolo

L'eliminazione di un ambiente di calcolo termina il calcolo e ne rimuove la configurazione. Per eliminare un ambiente di calcolo, selezionare Elimina dal menu Menu Kebab dell'ambiente di calcolo.

Avviso

Non è possibile annullare questa azione.

Per eliminare un ambiente di calcolo associato, è necessario che un amministratore lo sblocchi.

È anche possibile usare l’endpoint API Clusters per eliminare l’ambiente di calcolo a livello di codice.

Riavviare un ambiente di calcolo

È possibile riavviare un calcolo terminato in precedenza dall'elenco di calcolo, dalla pagina dei dettagli di calcolo o da un Notebook. È anche possibile usare l’endpoint API Clusters per avviare l’ambiente di calcolo a livello di codice.

Azure Databricks identifica un ambiente di calcolo usando l'ID cluster univoco. Quando si avvia un calcolo terminato, Databricks ricrea il calcolo con lo stesso ID, installa automaticamente tutte le librerie e ricollega i Notebook.

Nota

Se si usa una versione di valutazione di un’area di lavoro e la versione di valutazione è scaduta, non sarà possibile avviare l’ambiente di calcolo.

Riavviare l’ambiente di calcolo per aggiornarlo con le immagini più recenti

Quando si riavvia un ambiente di calcolo, vengono recuperate le immagini più recenti per i contenitori di risorse di calcolo e gli Host di virtualizzazione Desktop remoto. È importante pianificare i riavvii regolari per gli ambienti di calcolo a esecuzione prolungata, ad esempio quelli usati per l'elaborazione dei dati di streaming.

È responsabilità dell'utente riavviare regolarmente tutte le risorse di calcolo per mantenere aggiornata l'immagine alla versione più recente.

Importante

Se si abilita il profilo di sicurezza della conformità per l'account o l'area di lavoro, il calcolo a esecuzione prolungata viene riavviato automaticamente in base alle esigenze durante una finestra di manutenzione pianificata. In questo modo si riduce il rischio di un riavvio automatico che interrompe un processo pianificato. È anche possibile forzare il riavvio durante la finestra di manutenzione. Vedere Aggiornamento automatico del cluster.

Esempio Notebook: Trovare un ambiente di calcolo a esecuzione prolungata

Se si è un amministratore dell'area di lavoro, è possibile eseguire uno script che determina per quanto tempo è stato eseguito ogni calcolo e, facoltativamente, riavviare i calcoli più vecchi di un numero di giorni specificato. Azure Databricks fornisce questo script come Notebook.

Le prime righe dello script definiscono i parametri di configurazione:

  • min_age_output: il numero massimo di giorni di esecuzione di un ambiente di calcolo. Il valore predefinito è 1.
  • perform_restart: se True, lo script riavvia qualsiasi ambiente di calcolo con età maggiore del numero di giorni specificato da min_age_output. Il valore predefinito è False, che identifica gli aimbienti di calcolo a esecuzione prolungata, ma non le riavvia.
  • secret_configuration: sostituire REPLACE_WITH_SCOPE e REPLACE_WITH_KEY con un ambito segreto e un nome di chiave. Per altri dettagli sulla configurazione dei segreti, vedere il Notebook.

Avviso

Se si imposta perform_restart su True, lo script riavvia automaticamente l’ambiente di calcolo idoneo, che può causare l'esito negativo dei processi attivi e la reimpostazione dei Notebook aperti. Per ridurre il rischio di interrompere i processi aziendali fondamentali dell'area di lavoro, pianificare una finestra di manutenzione pianificata e assicurarsi di informare gli utenti dell'area di lavoro.

Identificare e, facoltativamente, riavviare il calcolo a esecuzione prolungata

Ottenere il notebook

Avvio automatico del calcolo per processi e query JDBC/ODBC

Quando un processo assegnato a un ambiente di calcolo terminato è pianificato per l'esecuzione oppure ci si connette a un calcolo terminato da un'interfaccia JDBC/ODBC, il calcolo viene riavviato automaticamente. Si veda Configurare il calcolo per i processi e Connessione JDBC.

L'avvio automatico delle risorse di calcolo consente di configurare il calcolo per la terminazione automatica senza richiedere l'intervento manuale per il riavvio per i processi pianificati. Inoltre, è possibile pianificare l'inizializzazione del calcolo pianificando l'esecuzione di un processo in un ambiente di calcolo terminato.

Prima che un ambiente di calcolo venga riavviato automaticamente, vengono controllate le autorizzazioni di controllo di accesso al processo e all’ambiente di calcolo.

Nota

Se il calcolo è stato creato nella piattaforma Azure Databricks versione 2.70 o precedente, non è previsto alcun avvio automatico: i processi pianificati per l'esecuzione in un ambiente di calcolo terminato avranno esito negativo.

Visualizzare le informazioni sull’ambiente di calcolo nell'interfaccia utente di Apache Spark

È possibile visualizzare informazioni dettagliate sui processi Spark selezionando la scheda Interfaccia utente Spark nella pagina dei dettagli dell’ambiente di calcolo.

Se si riavvia un ambiente di calcolo terminato, l'interfaccia utente di Spark visualizza informazioni per l’ambiente di calcolo riavviato, non le informazioni cronologiche per il calcolo terminato.

Vedere Diagnosticare i problemi relativi ai costi e alle prestazioni usando l'interfaccia utente di Spark per esaminare i problemi di costi e prestazioni tramite l'interfaccia utente di Spark.

Visualizzare i log degli ambienti di calcolo

Azure Databricks offre tre tipi di registrazione delle attività correlate al calcolo:

  • Registri eventi di calcolo, che acquisisce eventi del ciclo di vita di calcolo, ad esempio la creazione, la terminazione e le modifiche alla configurazione.
  • Driver Apache Spark e log ruolo di lavoro, che è possibile usare per eseguire il debug.
  • Calcolare i log init-script, utili per il debug di script init.

Questa sezione illustra i log eventi di calcolo e i log dei driver e dei ruoli di lavoro. Per informazioni dettagliate sui log init-script, vedere Registrazione degli script Init.

Registri eventi di calcolo

Nel registro eventi dell’ambiente di calcolo, vengono visualizzati eventi del ciclo di vita dell’ambiente di calcolo importanti che vengono attivati manualmente da azioni dell’utente o automaticamente da Databricks. Tali eventi influiscono sul funzionamento di un ambiente di calcolo nel suo complesso e sui processi in esecuzione nel cluster.

Per i tipi di evento supportati, vedere la struttura dei dati dell'API Clusters.

Gli eventi vengono archiviati per 60 giorni, ciò che è paragonabilie ad altri tempi di conservazione dei dati in Azure Databricks.

Visualizzare il registro eventi di un ambiente di calcolo

Per visualizzare il registro eventi dell'ambiente di calcolo, selezionare la scheda Registro eventi nelle pagine dei dettagli di calcolo.

Per altre informazioni su un evento, fare clic sulla relativa riga nel registro, quindi fare clic sulla scheda JSON per informazioni dettagliate.

Driver di calcolo e log dei ruoli di lavoro

Le istruzioni di stampa diretta e log dai notebook, dai processi e dalle librerie passano ai log dei driver Spark. È possibile accedere a questi file di resoconto dalla scheda Log dei driver nella pagina dei dettagli del calcolo. Selezionare il nome di un file di resoconto per scaricarlo.

Questi log hanno tre output:

  • Output standard
  • Errore standard
  • Log Log4j

Per visualizzare i log del ruolo di lavoro Spark, usare la scheda Interfaccia utente Spark. È anche possibile configurare una posizione di recapito dei log per il calcolo. Sia i log del ruolo di lavoro che i log di calcolo vengono recapitati alla posizione specificata.

Monitorare le prestazioni

Per monitorare le prestazioni dell’ambiente di calcolo Azure Databricks, Azure Databricks fornisce accesso alle metriche dalla pagina dei dettagli del calcolo. Per Databricks Runtime 12.2 e versioni precedenti, Azure Databricks fornisce l'accesso alle metriche Ganglia. Per Databricks Runtime 13.3 LTS e versioni successive, le metriche di calcolo vengono fornite da Azure Databricks.

È anche possibile configurare un cluster Azure Databricks in modo da inviare metriche a un'area di lavoro Log Analytics in Monitoraggio di Azure, la piattaforma di monitoraggio per Azure.

È anche possibile installare gli agenti Datadog nei nodi di calcolo per inviare le metriche di Datadog all'account Datadog.

Metriche di calcolo

Le metriche di calcolo sono lo strumento di monitoraggio predefinito per il i processi di calcolo multiuso e serverless. Per accedere all'interfaccia utente delle metriche di calcolo, passare alla scheda Metriche nella pagina dei dettagli di calcolo.

È possibile visualizzare le metriche cronologiche selezionando un intervallo di tempo usando il filtro selezione data. Le metriche vengono raccolte ogni minuto. È anche possibile ottenere le metriche più recenti facendo clic sul pulsante Aggiorna. Per altre informazioni, vedere Visualizzare le metriche dell’ambiente di calcolo.

Metriche Ganglia

Nota

Le metriche Ganglia sono disponibili solo per Databricks Runtime 12.2 e versioni precedenti.

Per accedere all'interfaccia utente di Ganglia, passare alla scheda Metriche nella pagina dei dettagli di calcolo e abilitare l'impostazione Metriche legacy. Le metriche GPU sono disponibili per il calcolo abilitato per GPU.

Per visualizzare le metriche live, selezionare il collegamento all'interfaccia utente Ganglia.

Per visualizzare le metriche cronologiche, fare clic su un file snapshot. Lo snapshot contiene metriche aggregate per l'ora che precede l'ora selezionata.

Nota

Ganglia non è supportata con i contenitori Docker. Se si usa un contenitore Docker con il calcolo, le metriche Ganglia non saranno disponibili.

Configurare la raccolta di metriche Ganglia

Per impostazione predefinita, Azure Databricks raccoglie le metriche Ganglia ogni 15 minuti. Per configurare il periodo di raccolta, impostare la variabile di ambiente DATABRICKS_GANGLIA_SNAPSHOT_PERIOD_MINUTES usando uno script init oppure impostarla nel campo spark_env_vars dell'API di creazione del cluster.

Monitoraggio di Azure

È possibile configurare un ambiente di calcolo Azure Databricks in modo da inviare metriche a un'area di lavoro Log Analytics in Monitoraggio di Azure, la piattaforma di monitoraggio per Azure. Per trovare le istruzioni complete, vedere Monitoraggio di Azure Databricks.

Nota

Se l'area di lavoro di Azure Databricks è stata implementata nella propria rete virtuale e sono stati configurati gruppi di sicurezza di rete (NSG) per negare tutto il traffico in uscita non richiesto da Azure Databricks, è necessario configurare una regola aggiuntiva in uscita per il tag di servizio "AzureMonitor".

Esempio di Notebook: metriche di Datadog

Metriche di Datadog

È possibile installare gli agenti Datadog nei nodi di calcolo per inviare le metriche di Datadog all'account Datadog. Il Notebook seguente illustra come installare un agente Datadog in un ambiente di calcolo usando uno script init con ambito di calcolo.

Per installare l'agente Datadog in tutti gli ambienti di calcolo, gestire lo script init con ambito di calcolo usando un criterio di calcolo.

Installare il Notebook script init dell'agente Datadog

Ottenere il notebook

Rimuovere le istanze spot

Poiché le istanze spot possono ridurre i costi, la creazione di ambienti di calcolo usando istanze spot anziché istanze su richiesta è un modo comune per eseguire i processi. Tuttavia, le istanze spot possono essere annullate dai meccanismi di pianificazione del provider di servizi cloud. La precedenza delle istanze spot può causare problemi con i processi in esecuzione, tra cui:

  • Errori di recupero selezione in ordine casuale
  • Perdita di dati selezionati in ordine casuale
  • Perdita di dati RDD
  • Errori dei processi

Per risolvere questi problemi, è possibile abilitare la rimozione delle autorizzazioni. La rimozione delle autorizzazioni sfrutta la notifica che il provider di servizi cloud in genere invia prima che un'istanza spot venga rimossa. Quando un'istanza spot contenente un executor riceve una notifica di precedenza, il processo di rimozione delle autorizzazioni tenterà di eseguire la migrazione di dati selezionati in ordine casuale e RDD a executor integri. La durata prima della precedenza finale è in genere compresa tra 30 secondi e 2 minuti, a seconda del provider di servizi cloud.

Databricks consiglia di abilitare la migrazione dei dati anche quando la rimozione delle autorizzazioni è abilitata. In genere, la possibilità di errori diminuisce man mano che viene eseguita la migrazione di più dati, tra cui errori di recupero di dati selezionati in ordine casuale, perdita di dati selezionati in ordine casuale e perdita di dati RDD. La migrazione dei dati può anche comportare una riduzione del calcolo e un risparimio sui costi.

Nota

La rimozione delle autorizzazioni è un'operazione ottimale e non garantisce che tutti i dati possano essere migrati prima del pre-rilascio finale. La rimozione delle autorizzazioni non può garantire errori di recupero in ordine casuale quando le attività in esecuzione recuperano dati selezionati in ordine casuale dall'executor.

Con la rimozione delle autorizzazioni abilitata, gli errori delle attività causati dal pre-rilascio dell'istanza spot non vengono aggiunti al numero totale di tentativi non riusciti. Gli errori di attività causati dal pre-rilascio non vengono conteggiati come tentativi non riusciti perché la causa dell'errore è esterna all'attività e non genererà un errore del processo.

Abilitare la rimozione

Per abilitare la rimozione delle autorizzazioni in un ambiente di calcolo, immettere le proprietà seguenti nella scheda Spark in Opzioni avanzate nell'interfaccia utente della configurazione di calcolo. Per informazioni su queste proprietà, vedere Configurazione di Spark.

  • Per abilitare la rimozione delle autorizzazioni per le applicazioni, immettere questa proprietà nel campo Configurazione Spark:

    spark.decommission.enabled true
    
  • Per abilitare la migrazione in ordine casuale dei dati durante la rimozione, immettere questa proprietà nel campo Configurazione Spark:

    spark.storage.decommission.enabled true
    spark.storage.decommission.shuffleBlocks.enabled true
    
  • Per abilitare la migrazione dei dati della cache RDD durante la rimozione delle autorizzazioni, immettere questa proprietà nel campo Configurazione Spark:

    spark.storage.decommission.enabled true
    spark.storage.decommission.rddBlocks.enabled true
    

    Nota

    Quando la replica RDD StorageLevel è impostata su più di 1, Databricks non consiglia di abilitare la migrazione dei dati RDD perché le repliche assicurano che gli RDD non perdano i dati.

  • Per abilitare la rimozione delle autorizzazioni per i ruoli di lavoro, immettere questa proprietà nel campo Variabili di ambiente:

    SPARK_WORKER_OPTS="-Dspark.decommission.enabled=true"
    

Visualizzare lo stato e la rimozione nell'interfaccia utente

Per accedere allo stato di rimozione di un ruolo di lavoro dall'interfaccia utente, passare alla scheda Interfaccia utente di calcolo Spark - Master.

Al termine della rimozione delle autorizzazioni, è possibile visualizzare il motivo della perdita dell'executor nella scheda Executor dell'interfaccia utente Spark > nella pagina dei dettagli di calcolo.