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.
Si applica a:
Databricks SQL
Il parametro di configurazione STATEMENT_TIMEOUT specifica una durata di timeout in secondi. Il conteggio inizia all'inizio dell'esecuzione dell'istruzione SQL. Si verifica il timeout di qualsiasi istruzione SQL di Databricks con un tempo di esecuzione superiore al valore.
È possibile impostare questo parametro in tre ambiti:
- Sessione: si applica alle istruzioni nella sessione corrente. Usare l'istruzioneSET .
- Warehouse (Beta): si applica a tutte le istruzioni eseguite in un'istanza specifica di SQL Warehouse. Usare l'API SQL Warehouses.
- Area di lavoro: si applica a tutti i warehouse SQL nell'area di lavoro. Usare le impostazioni di amministrazione dell'area di lavoro o l'API SQL Warehouses.
Impostazione
Impostare un valore di timeout in secondi compreso tra 0 e 172800 secondi (2 giorni). Qualsiasi istruzione SQL di Databricks con un tempo di esecuzione superiore al valore impostato viene interrotta.
Predefinito del sistema
Il valore predefinito del sistema è 172800 secondi (2 giorni).
Precedence
Quando il timeout viene impostato in più ambiti, si applica il primo valore non Null nell'ordine seguente:
- Sessione
- Magazzino (Beta)
- Workspace
Se il timeout non è impostato in alcun ambito, viene applicato il valore predefinito del sistema .
Esempi
Nell'esempio seguente viene impostato un timeout a livello di sessione e quindi viene reimpostato.
-- Set a session-level timeout
> SET STATEMENT_TIMEOUT = 86400;
> SELECT * FROM DIAMONDS;
-- Reset the timeout duration
> RESET STATEMENT_TIMEOUT;
> SELECT * FROM DIAMONDS;
Per impostare un timeout a livello di area di lavoro, passare alle impostazioni di amministrazione dell'area di lavoro, fare clic su Calcolo, quindi fare clic su Gestisci accanto a SQL warehouses. Nell'impostazione parametri di configurazione SQL aggiungere un parametro di configurazione in cui il valore di timeout è espresso in secondi.
-- Set a workspace-level timeout
> STATEMENT_TIMEOUT 86400
Timeout a livello di magazzino
È possibile impostare un timeout dell'istruzione in un singolo warehouse SQL in modo che i diversi warehouse possano applicare timeout diversi alle query. Ad esempio, impostare un timeout più lungo in un magazzino ETL e un timeout più breve in un magazzino BI.
Importante
I timeout delle istruzioni a livello di magazzino sono in versione beta. Un amministratore dell'area di lavoro deve abilitare l'anteprima del timeout dell'istruzione warehouse dalla pagina Anteprime . Vedere Gestire le anteprime di Azure Databricks.
Impostare un timeout a livello di warehouse con il statement_timeout campo nelle API di creazione o aggiornamento del warehouse. Il valore è in secondi. Per rimuovere un timeout a livello di magazzino, impostare il campo su 0.
Quando si cambia statement_timeout con l'API del warehouse di aggiornamento, il warehouse viene riavviato automaticamente in modo che il nuovo valore venga applicato.
Per controllare il timeout attualmente attivo nel magazzino a cui si è connessi, eseguire quanto segue:
SET STATEMENT_TIMEOUT;
Note
La disattivazione dell'anteprima del timeout dell'istruzione warehouse non cancella statement_timeout i valori già impostati nei magazzini. Un valore impostato in precedenza a livello di magazzino continua a essere applicato fino al riavvio del magazzino.