STATEMENT_TIMEOUT

Область применения:установлен флажок Databricks SQL

Параметр конфигурации STATEMENT_TIMEOUT указывает длительность времени ожидания в секундах. Число начинается в начале выполнения инструкции SQL. Любой запрос Databricks SQL, время выполнения которого превышает заданное значение, завершится по тайм-ауту.

Этот параметр можно задать в трех областях:

  • Сеанс: применяется к операторам в текущем сеансе. Используйте инструкциюSET.
  • Хранилище (бета-версия): применяется ко всем операторам, которые выполняются в определенном хранилище SQL. Используйте API хранилищ SQL.
  • Рабочая область: применяется ко всем хранилищам SQL в рабочей области. Используйте параметры администратора рабочей области или API хранилищ SQL.

Настройка

Задайте значение времени ожидания в секундах от 0 до 172800 секунд (2 дня). Любая инструкция Databricks SQL, которая имеет время выполнения, превышающее заданное значение, останавливается.

Системное значение по умолчанию

Системное значение по умолчанию — 172800 секунд (2 дня).

Приоритет

Если время ожидания задано в нескольких областях, первое значение, отличное от NULL, применяется в следующем порядке:

  1. Session
  2. Склад (бета-версия)
  3. Workspace

Если время ожидания не задано в какой-либо области, системная система применяется по умолчанию .

Примеры

В следующем примере устанавливается время ожидания на уровне сеанса, а затем сбрасывается.

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

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

Чтобы задать время ожидания на уровне рабочей области, перейдите к параметрам администратора рабочей области, щелкните Вычислительные, а затем щелкните Управление рядом с хранилищами SQL. В настройках параметров конфигурации SQL добавьте параметр конфигурации, в котором значение тайм-аута указано в секундах.

-- Set a workspace-level timeout
> STATEMENT_TIMEOUT 86400

Время ожидания на уровне хранилища

Вы можете задать время ожидания инструкции в одном хранилище SQL, чтобы разные склады могли применять различные тайм-ауты к их запросам. Например, задайте более длительное время ожидания для хранилища ETL и более короткое время ожидания в хранилище бизнес-аналитики.

Important

Время ожидания инструкций уровня хранилища находятся в бета-версии. Администратор рабочей области должен включить предварительную версию времени ожидания инструкции хранилища на странице "Предварительные версии ". См. статью "Управление предварительными версиями Azure Databricks".

Задайте время ожидания на уровне хранилища с statement_timeout полем в API создания или обновления хранилища. Значение составляет в секундах. Чтобы удалить время ожидания на уровне хранилища, задайте для поля значение 0.

При изменении statement_timeout API хранилища обновлений хранилище автоматически перезапускается, чтобы новое значение вступило в силу.

Чтобы проверить время ожидания, которое в настоящее время действует на подключенном хранилище, выполните следующее:

SET STATEMENT_TIMEOUT;

Замечание

Отключение предварительного просмотра времени ожидания инструкции хранилища не очищает statement_timeout значения, уже заданные на складах. Ранее заданное значение уровня хранилища продолжает применяться до перезапуска хранилища.