STATEMENT_TIMEOUT

Gilt für:Häkchen Databricks SQL

Der STATEMENT_TIMEOUT Konfigurationsparameter gibt eine Timeoutdauer in Sekunden an. Die Anzahl beginnt am Anfang der Ausführung der SQL-Anweisung. Für jede Databricks SQL-Anweisung, deren Laufzeit diesen Wert überschreitet, tritt ein Timeout auf.

Sie können diesen Parameter auf drei Bereiche festlegen:

  • Sitzung: Gilt für Anweisungen in der aktuellen Sitzung. Verwenden Sie die SET Anweisung.
  • Warehouse (Beta): Gilt für alle Anweisungen, die auf einem bestimmten SQL Warehouse ausgeführt werden. Verwenden Sie die SQL Warehouses-API.
  • Arbeitsbereich: Gilt für alle SQL-Lagerhäuser im Arbeitsbereich. Verwenden Sie arbeitsbereichsadministratoreinstellungen oder die SQL Warehouses-API.

Einstellung

Legen Sie einen Timeoutwert in Sekunden fest, der zwischen 0 und 172.800 Sekunden (2 Tage) betragen kann. Jede Databricks SQL-Anweisung, deren Ausführungszeit den festgelegten Wert überschreitet, wird angehalten.

Systemstandard

Der Standardwert beträgt 172.800 Sekunden (2 Tage).

Vorrang

Wenn das Timeout auf mehr als einen Bereich festgelegt wird, gilt der erste Wert ungleich NULL in der folgenden Reihenfolge:

  1. Sitzung
  2. Lagerhaus (Beta)
  3. Workspace

Wenn das Timeout in keinem Bereich festgelegt ist, gilt der Systemstandard .

Beispiele

Im folgenden Beispiel wird ein Timeout auf Sitzungsebene festgelegt und anschließend zurückgesetzt.

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

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

Um ein Timeout auf Arbeitsbereichsebene festzulegen, wechseln Sie zu den Administratoreinstellungen für Arbeitsbereiche, klicken Sie auf Compute, und klicken Sie dann neben SQL-Warehouses auf Verwalten. Fügen Sie in der Einstellung SQL-Konfigurationsparameter einen Konfigurationsparameter hinzu, wobei der Timeoutwert in Sekunden angegeben wird.

-- Set a workspace-level timeout
> STATEMENT_TIMEOUT 86400

Timeout auf Lagerebene

Sie können ein Anweisungstimeout für ein einzelnes SQL-Warehouse festlegen, sodass unterschiedliche Lagerhäuser unterschiedliche Timeouts auf ihre Abfragen anwenden können. Legen Sie z. B. einen längeren Timeout in einem ETL-Lager und einen kürzeren Timeout in einem BI-Lager fest.

Important

Timeouts auf Lagerebene befinden sich in der Betaversion. Ein Arbeitsbereichsadministrator muss die Timeoutvorschau für Warehouse-Anweisungen über die Vorschauseite aktivieren. Siehe Manage Azure Databricks Previews.

Legen Sie einen Timeout auf Lagerebene mit dem Feld in den statement_timeoutAPIs zum Erstellen oder Aktualisieren von Lagerhäusern fest. Der Wert ist in Sekunden angegeben. Um ein Timeout auf Lagerebene zu entfernen, legen Sie das Feld auf 0.

Wenn Sie mit der Update Warehouse-API wechseln statement_timeout , wird das Lager automatisch neu gestartet, sodass der neue Wert wirksam wird.

Führen Sie die folgenden Schritte aus, um das Timeout zu überprüfen, das aktuell für das Lager gilt, mit dem Sie verbunden sind:

SET STATEMENT_TIMEOUT;

Note

Durch das Deaktivieren der Timeoutvorschau für Warehouse-Anweisungen werden die bereits für Lagerhäuser festgelegten Werte gelöscht statement_timeout . Ein zuvor festgelegter Wert auf Lagerebene wird weiterhin angewendet, bis Sie das Lager neu starten.