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

Virtuální LIVE schéma je zastaralá funkce kanálu používaná starší verzí režimu publikování pro odkazování na datové sady v rámci kanálu.

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 LIVE virtuálních schémat a starších verzí režimu publikování se plánuje odebrat v budoucí verzi Azure Databricks.

Poznámka:

Kanály režimu publikování starší verze jsou uvedené v poli Souhrn uživatelského rozhraní nastavení kanálu. 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 pro analýzu závislostí datové sady ve výchozím režimu publikování pro pipeline.

Schéma LIVE je programovací koncept v kanálech, 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 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í schéma LIVE se používá se starším režimem publikování pro pipeline. 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 protokolem událostí pro kanály starší verze režimu publikování v katalogu Unity

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 s protokolem událostí pro 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 v podokně Pipeline details v uživatelském rozhraní pipeline.

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;