ŽIVÉ SCHÉMA (starší verze)
Tento článek obsahuje přehled starší syntaxe a chování virtuálního schématu LIVE
.
Virtuální schéma LIVE
je starší funkcí kanálů DLT a považuje se za zastaralé. Stále můžete použít starší režim publikování a virtuální schéma LIVE
pro kanály vytvořené v tomto režimu.
Podpora starších verzí LIVE
virtuálního schématu a staršího režimu publikování se v budoucí verzi Azure Databricks odebere.
Poznámka
Kanály režimu publikování starší verze jsou uvedené v poli Souhrn uživatelského rozhraní nastavení kanálu DLT. Pokud je pole target
nastavené ve specifikaci JSON kanálu, můžete také potvrdit, že kanál používá starší režim publikování.
Uživatelské rozhraní konfigurace kanálu nelze použít k vytvoření nových kanálů s režimem publikování starší verze. Pokud potřebujete nasadit nové kanály pomocí starší syntaxe LIVE
, obraťte se na zástupce účtu Databricks.
Co je virtuální schéma LIVE?
Poznámka
Virtuální schéma LIVE
už není potřeba k analýze závislosti datové sady ve výchozím režimu publikování dlT.
Schéma LIVE
je koncept programování v DLT, který definuje virtuální hranici pro všechny datové sady vytvořené nebo aktualizované v kanálu. Schéma LIVE
není záměrně svázané přímo s datovými sadami v publikovaném schématu. Místo toho schéma LIVE
umožňuje plánování a spuštění logiky v kanálu i v případě, že uživatel nechce publikovat datové sady do schématu.
Ve starších kanálech režimu publikování můžete pomocí klíčového slova LIVE
odkazovat na jiné datové sady v aktuálním kanálu pro čtení, například SELECT * FROM LIVE.bronze_table
. Ve výchozím režimu publikování pro nové kanály DLT se tato syntaxe bezobslužně ignoruje, což znamená, že nekvalifikované identifikátory používají aktuální schéma. Vizte Nastavte cílový katalog a schéma.
režim publikování starší verze pro kanály
Virtuální schéma LIVE
se používá se starší verzí režimu publikování pro kanály DLT. Všechny tabulky vytvořené před 5. únorem 2025 používají ve výchozím nastavení starší režim publikování.
Následující tabulka popisuje chování všech materializovaných zobrazení a streamovaných tabulek vytvořených nebo aktualizovaných v rámci kanálu v režimu publikování starší verze:
Možnost Úložiště | Umístění úložiště nebo katalog | Cílové schéma | Chování |
---|---|---|---|
Metastore Hive | Není zadán žádný | Žádný neuveden. | Metadata a data datové sady se ukládají do kořenového adresáře DBFS. Do metastoru Hive nejsou zaregistrované žádné databázové objekty. |
Metastore Hive | Identifikátor URI nebo cesta k souboru do cloudového úložiště objektů. | Není zadán žádný | Metadata a data datové sady se ukládají do zadaného umístění úložiště. Do metastoru Hive nejsou zaregistrované žádné databázové objekty. |
Metastore Hive | Žádný neurčen | Existující nebo nové schéma v metastoru Hive | Metadata a data datové sady se ukládají do kořenového adresáře DBFS. Všechna materializovaná zobrazení a streamované tabulky v datovém toku se publikují do zadaného schématu v Hive metastore. |
Hive Metastore | Identifikátor URI nebo cesta k souboru do cloudového úložiště objektů. | Existující nebo nové schéma v metastoru Hive | Metadata a data datové sady se ukládají do zadaného umístění úložiště. Všechna materializovaná zobrazení a streamované tabulky v procesu jsou publikována do zadaného schématu v metastore Hive. |
Katalog Unity | Existující katalog Unity Catalog. | Nezadáno | Metadata a data datové sady se ukládají do výchozího umístění úložiště přidruženého k cílovému katalogu. V katalogu Unity nejsou zaregistrované žádné databázové objekty. |
Katalog Unity | Existující katalog Unity Catalog. | Existující nebo nové schéma v katalogu Unity. | Metadata a data datové sady jsou uložena ve výchozím umístění úložiště přidruženém k cílovému schématu nebo katalogu. Všechna materializovaná zobrazení a streamované tabulky v rámci datového toku jsou publikovány do zadaného schématu v katalogu Unity. |
Aktualizace zdrojového kódu ze schématu LIVE
Kanály nakonfigurované pro spuštění s novým výchozím režimem publikování bezobslužně ignorují syntaxi schématu LIVE
. Ve výchozím nastavení používají všechna čtení tabulek katalog a schéma zadané v konfiguraci kanálu.
U většiny existujících kanálů tato změna chování nemá žádný vliv, protože starší verze LIVE
chování virtuálního schématu také směruje čtení do katalogu a schématu zadaného v konfiguraci kanálu.
Důležitý
Starší kód, který obsahuje operace čtení využívající výchozí katalog a schéma pracovního prostoru, vyžaduje aktualizaci kódu. Zvažte následující materializovanou definici zobrazení:
CREATE MATERIALIZED VIEW silver_table
AS SELECT * FROM raw_data
Ve starším publikačním režimu používá nekvalifikované čtení z tabulky raw_data
výchozí katalog a schéma pracovního prostoru, například main.default.raw_data
. V novém výchozím režimu kanálu jsou katalog a schéma používané ve výchozím nastavení nakonfigurované v konfiguraci kanálu. Pokud chcete zajistit, aby tento kód fungoval podle očekávání, aktualizujte odkaz tak, aby používal plně kvalifikovaný identifikátor tabulky, jak je znázorněno v následujícím příkladu:
CREATE MATERIALIZED VIEW silver_table
AS SELECT * FROM main.default.raw_data
Práce s událostním protokolem pro kanály staršího publikačního režimu Unity Catalog
Důležitý
event_log
TVF je k dispozici pro kanály starší verze režimu publikování, které publikují tabulky do katalogu Unity. Výchozí chování pro nové kanály publikuje protokol událostí do cílového katalogu a schématu nakonfigurovaného pro kanál. Viz také Vyžádat protokol událostí.
Tabulky nakonfigurované s metastorem Hive mají také jinou podporu a chování protokolu událostí. Viz Práce se záznamem událostí pro datové kanály metastoru Hive.
Pokud vaše pipeline publikuje tabulky do katalogu Unity v režimu starší verze publikování, musíte k načtení protokolu událostí pro pipeline použít funkci s hodnotou tabulky event_log
(TVF). Protokol událostí kanálu načtete předáním ID kanálu nebo názvu tabulky do TVF. Pokud chcete například načíst záznamy protokolu událostí pro kanál s ID 04c78631-3dd7-4856-b2a6-7d84e9b2638b
:
SELECT * FROM event_log("04c78631-3dd7-4856-b2a6-7d84e9b2638b")
Pro načtení záznamů z protokolu událostí pro kanál, který vytvořil nebo vlastní tabulku my_catalog.my_schema.table1
:
SELECT * FROM event_log(TABLE(my_catalog.my_schema.table1))
Pokud chcete volat TVF, musíte použít sdílený cluster nebo SQL Warehouse. Můžete například použít poznámkový blok připojený ke sdílenému clusteru nebo použít editor sql připojený ke službě SQL Warehouse.
Pro zjednodušení dotazování událostí potrubí může vlastník potrubí vytvořit zobrazení přes event_log
TVF. Následující příklad vytvoří zobrazení protokolu událostí pro kanál. Toto zobrazení se používá v ukázkových dotazech protokolu událostí, které jsou součástí tohoto článku.
Poznámka
-
event_log
TVF může volat pouze vlastník potrubí. - Pro přístup k protokolům událostí více kanálů nemůžete použít funkci
event_log
tabulkové hodnoty v kanálu nebo dotazu. - Nelze sdílet zobrazení vytvořené prostřednictvím funkce
event_log
tabulkové hodnoty s jinými uživateli.
CREATE VIEW event_log_raw AS SELECT * FROM event_log("<pipeline-ID>");
Nahraďte <pipeline-ID>
jedinečným identifikátorem kanálu DLT. ID najdete v panelu podrobnosti datového toku v uživatelském rozhraní DLT.
Každé spuštění kanálu se nazývá aktualizace. Často chcete extrahovat informace pro nejnovější aktualizaci. Spuštěním následujícího dotazu vyhledejte identifikátor poslední aktualizace a uložte ho v latest_update_id
dočasném zobrazení. Toto zobrazení se používá v ukázkových dotazech protokolu událostí, které jsou součástí tohoto článku:
CREATE OR REPLACE TEMP VIEW latest_update AS SELECT origin.update_id AS id FROM event_log_raw WHERE event_type = 'create_update' ORDER BY timestamp DESC LIMIT 1;