STATEMENT_TIMEOUT

Si applica a:segno di spunta sì 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:

  1. Sessione
  2. Magazzino (Beta)
  3. 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.