Megosztás a következőn keresztül:


ÉLŐ séma (örökölt)

Ez a cikk áttekintést nyújt a LIVE virtuális séma örökölt szintaxisáról és viselkedéséről.

A LIVE virtuális séma a DLT-folyamatok örökölt funkciója, és elavultnak minősül. Továbbra is használhat régi közzétételi módot és a LIVE virtuális sémát az ezzel a móddal létrehozott folyamatokhoz.

Az örökölt LIVE virtuális séma és az örökölt közzétételi mód támogatása az Azure Databricks egy későbbi verziójában megszűnik.

Jegyzet

Az örökölt közzétételi módú folyamatok a DLT-folyamatbeállítások felhasználói felületének Összegzés mezőjében jelennek meg. Azt is ellenőrizheti, hogy egy folyamat örökölt közzétételi módot használ-e, ha a target mező a folyamat JSON-specifikációjában van beállítva.

A folyamatkonfigurációs felhasználói felülettel nem hozhat létre új folyamatokat az örökölt közzétételi móddal. Ha új folyamatokat kell üzembe helyeznie örökölt LIVE szintaxissal, forduljon a Databricks-fiók képviselőjéhez.

Mi a LIVE virtuális séma?

Jegyzet

A LIVE virtuális sémára már nincs szükség az adathalmaz-függőség elemzéséhez a DLT alapértelmezett közzétételi módjában.

A LIVE séma egy programozási fogalom a DLT-ben, amely egy virtuális határt határoz meg a folyamatban létrehozott vagy frissített összes adathalmazhoz. A LIVE séma tervezés szerint nincs közvetlenül a közzétett sémák adatkészleteihez kötve. Ehelyett a LIVE séma lehetővé teszi a folyamatok logikájának tervezését és futtatását akkor is, ha a felhasználó nem szeretne adathalmazokat közzétenni egy sémában.

Az örökölt közzétételi módú folyamatokban a LIVE kulcsszóval hivatkozhat az aktuális folyamat más adathalmazaira olvasás céljából, például SELECT * FROM LIVE.bronze_table. Az új DLT-folyamatok alapértelmezett közzétételi módjában a rendszer figyelmen kívül hagyja ezt a szintaxist, ami azt jelenti, hogy a nem minősített azonosítók az aktuális sémát használják. Lásd: Célkatalógus és sémabeállítása.

Örökölt közzétételi mód csővezetékekhez

A LIVE virtuális sémát a rendszer a DLT-folyamatok örökölt közzétételi módjával használja. A 2025. február 5. előtt létrehozott összes tábla alapértelmezés szerint az örökölt közzétételi módot használja.

Az alábbi táblázat ismerteti a régi közzétételi módban létrehozott vagy frissített materializált nézetek és streamelő táblák viselkedését a folyamatokban.

Tárolási lehetőség Tárolási hely vagy katalógus Célséma Magatartás
Hive metaadattár Nincs megadva Nincs megadva Az adathalmaz metaadatai és adatai a DBFS-gyökérben vannak tárolva. A Hive metaadattárban nincsenek adatbázis-objektumok regisztrálva.
Hive metaadattár URI vagy fájl elérési útja a felhőalapú objektumtárolóhoz. Nincs megadva Az adathalmaz metaadatait és adatait a rendszer a megadott tárolási helyre tárolja. A Hive metaadattárban nincsenek adatbázis-objektumok regisztrálva.
Hive metaadattár Nincs megadva Meglévő vagy új séma a Hive metaadattárban. Az adathalmaz metaadatai és adatai a DBFS-gyökérben vannak tárolva. A folyamat összes materializált nézete és streamtáblája közzé lesz téve a Hive metaadattár megadott sémájában.
Hive metaadattár URI vagy fájl elérési útja a felhőalapú objektumtárolóhoz. Meglévő vagy új séma a Hive metaadattárban. Az adathalmaz metaadatait és adatait a rendszer a megadott tárolási helyre tárolja. A folyamat összes materializált nézete és streamtáblája közzé lesz téve a Hive metaadattár megadott sémájában.
Unity-katalógus Egy meglévő Unity Catalog-katalógus. Nincs megadva Az adathalmaz metaadatai és adatai a célkatalógushoz társított alapértelmezett tárolási helyen vannak tárolva. A Unity-katalógusban nincsenek adatbázis-objektumok regisztrálva.
Unity-katalógus Egy meglévő Unity Catalog-katalógus. Meglévő vagy új séma a Unity Catalogban. Az adathalmaz metaadatai és adatai a célséma vagy katalógus alapértelmezett tárolási helyén vannak tárolva. A folyamat összes materializált nézete és streamtáblája közzé lesz téve a Unity Catalog megadott sémájában.

Forráskód frissítése ÉLŐ sémából

Az új alapértelmezett közzétételi módban való futtatásra konfigurált folyamatok csendben figyelmen kívül hagyják a LIVE sémaszintaxisát. Alapértelmezés szerint az összes táblázatolvasás a folyamatkonfigurációban megadott katalógust és sémát használja.

A legtöbb meglévő folyamat esetében ez a viselkedésváltozás nincs hatással, mivel az örökölt LIVE virtuális séma viselkedése a folyamatkonfigurációban megadott katalógusba és sémába is irányítja az olvasást.

Fontos

A munkaterület alapértelmezett katalógusát és sémáját használó régebbi kód kódfrissítéseket igényel. Vegye figyelembe a következő materializált nézetdefiníciót:

CREATE MATERIALIZED VIEW silver_table
AS SELECT * FROM raw_data

Örökölt közzétételi módban a raw_data táblából származó nem minősített olvasás a munkaterület alapértelmezett katalógusát és sémáját használja, például main.default.raw_data. Az új alapértelmezett csővezeték módban az alapértelmezetten használt katalógus és séma az, amely a folyamatkonfigurációban van beállítva. Annak érdekében, hogy a kód továbbra is a várt módon működjön, frissítse a hivatkozást a tábla teljes azonosítójának használatára, ahogyan az alábbi példában is látható:

CREATE MATERIALIZED VIEW silver_table
AS SELECT * FROM main.default.raw_data

A Unity Catalog örökölt közzétételi módú folyamatainak eseménynaplójának használata

Fontos

A event_log TVF az örökölt közzétételi módú folyamatokhoz érhető el, amelyek táblákat tesznek közzé a Unity Catalogban. Az új folyamatok alapértelmezett viselkedése közzéteszi az eseménynaplót a célkatalógusban és a folyamathoz konfigurált sémában. Lásd: Az eseménynapló lekérdezése.

A Hive-metaadattárral konfigurált táblák is különböző eseménynapló-támogatással és -működéssel rendelkeznek. Lásd: Hogyan dolgozzon az eseménynaplóval a Hive metaadattár-folyamatokhoz.

Ha a folyamat régebbi közzétételi móddal teszi közzé a táblákat a Unity Catalogban, a folyamat eseménynaplójának lekéréséhez a event_logtáblaértékelő függvényt kell használnia (TVF). A folyamat eseménynaplóját a folyamatazonosító vagy a táblanév tvF-nek való átadásával kérdezheti le. Például a folyamat eseménynapló-rekordjainak lekérése 04c78631-3dd7-4856-b2a6-7d84e9b2638bazonosítóval:

SELECT * FROM event_log("04c78631-3dd7-4856-b2a6-7d84e9b2638b")

A tábla my_catalog.my_schema.table1létrehozó vagy tulajdonosa folyamat eseménynapló-rekordjainak lekérése:

SELECT * FROM event_log(TABLE(my_catalog.my_schema.table1))

A TVF meghívásához megosztott fürtöt vagy SQL-raktárt kell használnia. Használhat például egy megosztott fürthöz csatolt jegyzetfüzetet, vagy a SQL szerkesztőt, amely a SQL-raktárhoz van csatlakoztatva.

A folyamat eseményeinek lekérdezésének egyszerűsítése érdekében a folyamat tulajdonosa létrehozhat egy nézetet a event_log TVF-en. Az alábbi példa egy folyamat eseménynaplójának nézetét hozza létre. Ezt a nézetet a jelen cikkben szereplő példaeseménynapló-lekérdezések használják.

Jegyzet

  • A event_log TVF-et csak a csővezeték tulajdonosa hívhatja meg.
  • A folyamat vagy lekérdezés event_log táblaértékelt függvénye nem használható több folyamat eseménynaplóinak eléréséhez.
  • A event_log táblaértékfüggvényen létrehozott nézet nem osztható meg más felhasználókkal.
CREATE VIEW event_log_raw AS SELECT * FROM event_log("<pipeline-ID>");

Cserélje le <pipeline-ID> a DLT-folyamat egyedi azonosítójával. Az azonosítót a Folyamat részletei panelen találja a DLT felhasználói felületén.

A pipeline lefutásának minden egyes példányát frissítésneknevezik. A legutóbbi frissítéshez gyakran szeretne adatokat kinyerni. Futtassa a következő lekérdezést a legutóbbi frissítés azonosítójának megkereséséhez, és mentse azt latest_update_id ideiglenes nézetben. Ezt a nézetet az ebben a cikkben szereplő példaeseménynapló-lekérdezések használják:

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;