Condividi tramite


Risoluzione dei problemi e riparazione degli errori dei processi

Si supponga di aver ricevuto una notifica (ad esempio, tramite e-mail, da una soluzione di monitoraggio o nell'interfaccia utente dei processi di Azure Databricks) che un'attività non sia riuscita in un'esecuzione di un proprio processo Azure Databricks. I passaggi descritti in questo articolo forniscono indicazioni utili per identificare la causa dell'errore, suggerimenti per risolvere i problemi riscontrati e indicazioni su come riparare le esecuzioni dei processi non riusciti.

Identificare la causa dell'errore

Per trovare l'attività non riuscita nell'interfaccia utente dei processi di Azure Databricks:

  1. Nella barra laterale cliccare Icona Job Runs (Esecuzioni processi) Job Runs (Esecuzioni processi).

  2. Nella colonna Name (Nome), cliccare il nome di un processo. La scheda Esecuzioni mostra le esecuzioni attive e le esecuzioni completate, incluse le esecuzioni non riuscite. La visualizzazione matrice nella scheda Runs (Esecuzioni) mostra una cronologia delle esecuzioni del processo, incluse le esecuzioni riuscite e non riuscite per ogni attività del processo. L'esecuzione di un'attività può non andare a buon fine perché non è riuscita o è stata saltata perché un'attività dipendente non è riuscita. Usando la visualizzazione matrice, è possibile identificare rapidamente gli errori delle attività per l'esecuzione del processo.

    Visualizzazione matrice delle esecuzioni del processo

  3. Passare il puntatore del mouse su un'attività non riuscita per visualizzare i metadati associati. Questi metadati includono le date di inizio e di fine, lo stato, i dettagli del cluster in termini di durata e, in alcuni casi, un messaggio di errore.

  4. Per identificare la causa dell'errore, cliccare l'attività non riuscita. Viene visualizzata la pagina dei Dettagli dell'esecuzione dell'attività, che mostra l'output dell'attività, il messaggio di errore e i metadati associati.

Risolvere la causa dell'errore

L'attività potrebbe avere avuto esito negativo per diversi motivi, ad esempio un problema di qualità dei dati, una configurazione errata o risorse di calcolo insufficienti. Di seguito sono riportati i passaggi consigliati per correggere alcune cause comuni di errori dell'attività:

  • Se l'errore è correlato alla configurazione dell'attività, cliccare Edit task (Modifica attività). La configurazione dell'attività viene aperta in una nuova scheda. Aggiornare la configurazione dell'attività in base alle esigenze e cliccare Save task (Salva attività).
  • Se il problema è correlato alle risorse del cluster, ad esempio istanze insufficienti, sono disponibili diverse opzioni:
    • Se il processo è configurato per l'uso di un cluster di processi, prendere in considerazione l'uso di un cluster condiviso multiscopo.
    • Modificare la configurazione del cluster. Cliccare Edit task (Modifica attività). Sul pannello Job details (Dettagli processo), in Compute (Calcolo), cliccare Configure (Configura) per configurare il cluster. È possibile modificare il numero di ruoli di lavoro, i tipi di istanza o altre opzioni di configurazione del cluster. È inoltre possibile cliccare Swap (Scambia) per passare a un altro cluster disponibile. Per assicurarsi di usare in modo ottimale le risorse disponibili, vedere le procedure consigliate per la configurazione del cluster.
    • Se necessario, chiedere a un amministratore di aumentare le quote di risorse nell'account cloud e nell'area in cui viene implementata l'area di lavoro.
  • Se l'errore è causato dal superamento del numero massimo di esecuzioni simultanee, è possibile:
    • Attendere il completamento delle altre esecuzioni.
    • Cliccare Edit task (Modifica attività). Nel pannello Job details (Dettagli processo) cliccare Edit concurrent runs (Modifica esecuzioni simultanee), immettere un nuovo valore in Maximum concurrent runs (Numero massimo di esecuzioni simultanee) e cliccare Confirm (Conferma).

In alcuni casi, la causa di un errore può essere a monte dal processo; ad esempio, un'origine dati esterna potrebbe non essere disponibile. Dopo aver risolto il problema esterne, è comunque possibile sfruttare la funzionalità di riparazione dell'esecuzione descritta nella sezione successiva.

Rieseguire le attività non riuscite e ignorate

Dopo aver identificato la causa dell'errore, è possibile riparare i processi multi-attività non riusciti o annullati eseguendo solo il sottoinsieme di attività non riuscite ed eventuali attività dipendenti. Poiché le attività riuscite e tutte le attività che dipendono da esse non vengono eseguite nuovamente, questa funzionalità riduce il tempo e le risorse necessarie per il ripristino in caso di esecuzioni del processo non riuscite.

Prima di riparare l'esecuzione del processo, è possibile modificare le impostazioni del processo o dell'attività. Le attività non riuscite vengono rieseguite con le impostazioni correnti del processo e dell'attività. Ad esempio, se si modifica il percorso di un notebook o di un'impostazione del cluster, l'attività viene rieseguita con le impostazioni del notebook o del cluster aggiornate.

Visualizzare la cronologia di tutte le esecuzioni di attività nella pagina Task run details (Dettagli esecuzione attività).

Nota

  • Se una o più attività condividono un cluster di processi, un'esecuzione di riparazione crea un nuovo cluster di processi. Ad esempio, se l'esecuzione originale usa il cluster di processi my_job_cluster, la prima esecuzione di riparazione usa il nuovo cluster di processo my_job_cluster_v1, consentendo di visualizzare facilmente il cluster e le relative impostazioni usate dall'esecuzione iniziale e da eventuali esecuzioni di riparazione. Le impostazioni per my_job_cluster_v1 coincidono con le impostazioni correnti per my_job_cluster.
  • La riparazione è possibile solo per i processi che orchestrano due o più attività.
  • Il valore Duration (Durata) visualizzato nella scheda Runs (Esecuzioni) comprende il tempo trascorso tra l'ora di inizio della prima esecuzione e l'ora di fine dell'ultima esecuzione di riparazione. Ad esempio, se un'esecuzione ha avuto esito negativo due volte e ha avuto esito positivo alla terza esecuzione, la durata include il tempo di tutte e tre le esecuzioni.

Per riparare l'esecuzione di un processo non riuscito:

  1. Cliccare il collegamento relativo all'esecuzione non riuscita nella colonna Start time (Ora di inizio) della tabella delle esecuzioni del processo oppure cliccare l'esecuzione non riuscita nella visualizzazione matrice. Verrà visualizzata la pagina Job run details (Dettagli esecuzione processo).
  2. Cliccare Repair run (Ripara esecuzione). Viene visualizzata la finestra di dialogo Repair job run(Ripara esecuzione processo), che elenca tutte le attività non riuscite e tutte le attività dipendenti che verranno rieseguite.
  3. Per aggiungere o modificare i parametri delle attività da riparare, immettere i parametri nella finestra di dialogo Repair job run (Ripara esecuzione processo). I parametri immessi nella finestra di dialogo Repair job run (Ripara esecuzione processo) sostituiscono i valori esistenti. Nelle esecuzioni di riparazione successive è possibile riportare un parametro al valore originale deselezionando la chiave e il valore nella finestra di dialogo Repair job run (Ripara esecuzione processo).
  4. Cliccare Repair run (Ripara esecuzione) nella finestra di dialogo Repair job run (Ripara esecuzione processo).
  5. Al termine dell'esecuzione di riparazione, la visualizzazione matrice viene aggiornata con una nuova colonna per l'esecuzione riparata. Tutte le attività non riuscite che erano rosse dovrebbero ora essere verdi, a indicare un'esecuzione corretta dell'intero processo.

Visualizzare e gestire gli errori continui del processo

Quando gli errori consecutivi di un processo continuo superano una determinata soglia, i processi di Azure Databricks usano un backoff esponenziale per ritentare il processo. Quando un processo si trova nello stato di backoff esponenziale, nel pannello Job details (Dettagli processo) vengono visualizzate informazioni, tra cui:

  • Il numero di errori consecutivi.
  • Il periodo di esecuzione del processo senza errori da considerare riuscito.
  • Il tempo prima del nuovo tentativo successivo se non è attualmente attiva alcuna esecuzione.

Per annullare l'esecuzione attiva, reimpostare il periodo di ripetizione dei tentativi e avviare una nuova esecuzione del processo, cliccare Restart run (Riavvia esecuzione).