STATEMENT_TIMEOUT

Aplica-se a:marca de seleção positiva SQL do Databricks

O STATEMENT_TIMEOUT parâmetro de configuração especifica uma duração de tempo limite em segundos. A contagem começa no início da execução da instrução SQL. Qualquer instrução SQL do Databricks com um tempo de execução excedendo o valor será esgotada.

Você pode definir esse parâmetro em três escopos:

  • Sessão: aplica-se a instruções na sessão atual. Use a instruçãoSET.
  • Warehouse (Beta): aplica-se a todas as instruções executadas em um sql warehouse específico. Use a API de sql warehouses.
  • Workspace: aplica-se a todos os sql warehouses no workspace. Use as configurações de administrador do workspace ou a API de sql warehouses.

Configuração

Defina um valor de tempo limite em segundos entre 0 e 172800 segundos (2 dias). Qualquer instrução SQL do Databricks que tenha um tempo de execução excedendo o valor definido será interrompida.

Padrão do sistema

O padrão do sistema é 172800 segundos (2 dias).

Precedence

Quando o tempo limite é definido em mais de um escopo, o primeiro valor não nulo na seguinte ordem se aplica:

  1. Sessão
  2. Warehouse (versão beta)
  3. Workspace

Se o tempo limite não for definido em nenhum escopo, o padrão do sistema se aplicará .

Exemplos

O exemplo a seguir define um tempo limite no nível da sessão e o redefine.

-- Set a session-level timeout
> SET STATEMENT_TIMEOUT = 86400;
> SELECT * FROM DIAMONDS;

-- Reset the timeout duration
> RESET STATEMENT_TIMEOUT;
> SELECT * FROM DIAMONDS;

Para definir um tempo limite no nível do workspace, acesse as configurações de administrador do workspace, clique em Computaçãoe, em seguida, clique em Gerenciar ao lado de SQL warehouses. Na configuração Parâmetros de configuração do SQL, adicione um parâmetro de configuração em que o valor do tempo limite esteja em segundos.

-- Set a workspace-level timeout
> STATEMENT_TIMEOUT 86400

Tempo limite no nível do armazém

Você pode definir um tempo limite de instrução em um único sql warehouse para que diferentes armazéns possam aplicar tempos limite diferentes às suas consultas. Por exemplo, defina um tempo limite maior em um armazém ETL e um tempo limite mais curto em um armazém de BI.

Importante

Os tempos limite de instrução no nível do warehouse estão em Beta. Um administrador de workspace deve habilitar a visualização tempo limite da instrução warehouse na página Visualizações . Consulte Gerenciar visualizações do Azure Databricks.

Defina um tempo limite no nível do armazém com o statement_timeout campo nas APIs criar ou atualizar o warehouse. O valor é em segundos. Para remover um tempo limite no nível do armazém, defina o campo como 0.

Quando você altera statement_timeout com a API do update warehouse, o armazém é reiniciado automaticamente para que o novo valor entre em vigor.

Para verificar o tempo limite atualmente em vigor no warehouse ao qual você está conectado, execute o seguinte:

SET STATEMENT_TIMEOUT;

Note

Desativar a visualização tempo limite da instrução warehouse não limpa statement_timeout valores já definidos em armazéns. Um valor de nível de armazém definido anteriormente continua a ser aplicado até que você reinicie o armazém.