ŽIVÉ SCHÉMA (starší verze)

Tento článek obsahuje přehled starší syntaxe a chování virtuálního schématu LIVE.

Virtuální LIVE schéma je starší funkcí deklarativních kanálů Sparku Lakeflow 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.

Databricks doporučuje migrovat všechny kanály do nového režimu publikování. Pro migraci máte dvě možnosti:

  • Přesuňte tabulky (včetně materializovaných zobrazení a streamovaných tabulek) ze staršího kanálu do kanálu, který používá výchozí režim publikování. Informace o přesouvání tabulek mezi kanály najdete v tématu Přesun tabulek mezi kanály.
  • V kanálu, který aktuálně používá starší režim publikování, povolte výchozí režim publikování. Viz Aktivace výchozího režimu publikování v potrubí.

Obě tyto metody jsou jednosměrné migrace. Tabulky nemůžete migrovat zpět do staršího 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í deklarativních kanálů Sparku Lakeflow. 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í LIVE schéma už není potřeba k analýze závislosti datové sady ve výchozím režimu publikování pro deklarativní kanály Sparku Lakeflow.

Schéma LIVE je programovací koncept v deklarativních kanálech Sparku v Lakeflow, 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 Deklarativní kanály Sparku v toku Lakeflow se tato syntaxe bezobslužně ignoruje, což znamená, že nekvalifikované identifikátory používají aktuální schéma. Viz Nastavení cílového katalogu a schématu.

režim publikování starší verze pro kanály

Virtuální LIVE schéma se používá se starým režimem publikování pro deklarativní kanály Lakeflow Spark. 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 Neurčeno Neurčeno 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ů. Neurčeno 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 Neurčeno 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.
metastore Hive 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 datovém toku se publikují do zadaného schématu v Hive metastore.
Katalog Unity Existující katalog Unity Catalog. Neurčeno 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 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. ID najdete na panelu podrobností kanálu v uživatelském rozhraní deklarativních kanálů Sparku Lakeflow.

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;