Co jsou relace SQL Warehouse?

Relace SQL Warehouse umožňují definovat proměnné, vytvářet dočasná zobrazení a udržovat změny stavu napříč několika spuštěními dotazů. Pomocí relací můžete iterativně sestavovat logiku SQL, aniž byste museli spouštět všechny příkazy najednou.

Relace můžete použít v následujících kontextech při připojení k SQL Warehouse:

Příklad případu použití

Relace umožňují spouštět příkazy samostatně a zároveň udržovat sdílený stav. Můžete například deklarovat proměnnou, vytvořit dočasné zobrazení, které tuto proměnnou používá, a pak dotazovat zobrazení samostatně.

Následující příklad ukazuje tento pracovní postup:

-- Statement 1: Declare a variable
DECLARE VARIABLE row_limit = 10;

-- Statement 2: Create a temporary view using the variable
CREATE OR REPLACE TEMPORARY VIEW filtered_data AS
SELECT
  *
FROM
  main.default.sales_data
LIMIT row_limit;

-- Statement 3: Query the temporary view
SELECT
  *
FROM
  filtered_data;

S relacemi můžete jednotlivé příkazy spouštět jednotlivě. Proměnná a dočasné zobrazení zůstanou dostupné a umožní vám iterovat dotazy, aniž byste museli znovu spouštět všechny předchozí příkazy.

Jak fungují relace

Relace se vytvoří, když uživatel spustí dotaz na SQL Warehouse. Relace zůstávají aktivní, pokud se příkaz spustí alespoň jednou každých osm hodin. Sezení se zachovají i v případě, že se datový sklad zastaví nebo restartuje.

Relace vyprší po osmi hodinách nečinnosti.

Stav sdílené relace

Všechny příkazy se spouštějí ve stejné relaci, sdílejí následující:

  • Proměnné deklarované pomocí DECLARE VARIABLE
  • Dočasná zobrazení vytvořená pomocí CREATE TEMPORARY VIEW
  • Dočasné tabulky vytvořené pomocí CREATE TEMPORARY TABLE. Zobrazení dočasných tabulek v Databricks SQL a Databricks Runtime
  • Nastavení prostředí, jako je aktuální katalog a schéma
  • Značky dotazu nastavené pomocí SET QUERY_TAGS nebo parametrů konfigurace relace. Zobrazit značky dotazů

Rozsah relací a spolupráce

Sezení jsou svázaná s objektem dotazu (dotaz, poznámkový blok nebo soubor) a konkrétním SQL skladem, ke kterému jsou připojená. Stejnou relaci sdílejí i všichni uživatelé, kteří sdílejí přístup k danému objektu a připojení k skladu.

Například:

  • Uživatel A definuje dočasné zobrazení v dotazu 1 při připojení ke skladu X.
  • Uživatel B může spustit příkaz SQL v dotazu 1 ve skladu X, který odkazuje na stejné dočasné zobrazení.
  • Pokud je dotaz 1 znovu připojen k jinému skladu, vytvoří se nová relace s vlastním izolovaným stavem.

Toto chování při spolupráci umožňuje týmům spolupracovat na vývoji sdílených dotazů, ale také to znamená, že změny provedené jedním uživatelem ovlivní všechny ostatní uživatele sdílející stejnou relaci.

Další zdroje informací