STATEMENT_TIMEOUT

適用対象: Databricks SQL

STATEMENT_TIMEOUT構成パラメーターは、タイムアウト時間を秒単位で指定します。 カウントは、SQL ステートメントの実行の開始時に開始されます。 実行時間がこの値を超える Databricks SQL ステートメントはタイムアウトになります。

このパラメーターは、次の 3 つのスコープで設定できます。

  • セッション: 現在のセッションのステートメントに適用されます。 SET ステートメントを使用します。
  • ウェアハウス (ベータ): 特定の SQL ウェアハウスで実行されるすべてのステートメントに適用されます。 SQL Warehouses API を使用します
  • ワークスペース: ワークスペース内のすべての SQL ウェアハウスに適用されます。 ワークスペース管理者設定または SQL Warehouses API を使用します。

設定

タイムアウト値は、0 から 172,800 秒 (2 日) の間で秒単位で設定します。 実行時間が設定値を超える Databricks SQL ステートメントは停止されます。

システムの既定値

システムの既定値は 172,800 秒 (2 日) です。

優先順位

タイムアウトが複数のスコープで設定されている場合、次の順序で最初の null 以外の値が適用されます。

  1. セッション
  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;

ワークスペース レベルのタイムアウトを設定するには、ワークスペース管理者の設定に移動し、[Compute] (コンピューティング) をクリックしてから、[SQL warehouses] (SQL ウェアハウス) の横にある [管理] をクリックします。 [SQL Configuration Parameters] (SQL 構成パラメーター) の設定で、タイムアウト値を秒単位で指定する構成パラメーターを追加します。

-- Set a workspace-level timeout
> STATEMENT_TIMEOUT 86400

ウェアハウス レベルのタイムアウト

1 つの SQL ウェアハウスにステートメントタイムアウトを設定して、異なるウェアハウスがクエリに異なるタイムアウトを適用できるようにすることができます。 たとえば、ETL ウェアハウスのタイムアウトを長くし、BI ウェアハウスのタイムアウトを短く設定します。

Important

ウェアハウス レベルのステートメントタイムアウトは ベータ版です。 ワークスペース管理者は、[プレビュー] ページから Warehouse Statement Timeout プレビューを有効にする必要があります。 Manage Azure Databricks プレビューを参照してください。

[ウェアハウスの作成] または [更新] API の [statement_timeout] フィールドで、倉庫レベルのタイムアウト設定します。 値は秒単位です。 倉庫レベルのタイムアウトを削除するには、フィールドを 0に設定します。

Update Warehouse API で statement_timeout を変更すると、新しい値が有効になるように、ウェアハウスが自動的に再起動されます。

接続しているウェアハウスで現在有効になっているタイムアウトを確認するには、次を実行します。

SET STATEMENT_TIMEOUT;

Note

倉庫ステートメント タイムアウト プレビューをオフにしても、倉庫で既に設定されているstatement_timeout値はクリアされません。 以前に設定した倉庫レベルの値は、倉庫を再起動するまで引き続き適用されます。