Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ebben a cikkben megismerheti a materializált tónézetek szintaxisát a Spark SQL használatával. A materializált tónézetekről további információt a materializált tónézetek áttekintésében talál.
Anyagiasított nézet tóra létrehozása
A tóházban egy materializált tónézet bármely táblából vagy egy másik materializált tónézetből meghatározható. Az alábbiakban a Materialized Lake View Spark SQL használatával történő deklarálásának szintaxisát mutatjuk be.
CREATE MATERIALIZED LAKE VIEW [IF NOT EXISTS][workspace.lakehouse.schema].MLV_Identifier
[(
CONSTRAINT constraint_name1 CHECK (condition expression1)[ON MISMATCH DROP | FAIL],
CONSTRAINT constraint_name2 CHECK (condition expression2)[ON MISMATCH DROP | FAIL]
)]
[PARTITIONED BY (col1, col2, ... )]
[COMMENT “description or comment”]
[TBLPROPERTIES (“key1”=”val1”, “key2”=”val2”, ... )]
AS select_statement
Argumentumok
Paraméter | Leírás |
---|---|
MLV_Identifier | Az anyaggá vált tókilátás neve. |
KÉNYSZER | Az adatminőségi korlátozás meghatározására vonatkozó kulcsszó, amelyet egy felhasználó által megadott név követ. A korlátozás a materializált tónézet szintjén érvényes. |
ELLENŐRIZ | A meghatározott oszlopértékek alapján definiált feltétel kényszerítésére használható. Kötelező használni a kényszer meghatározásakor. |
ELTÉRÉS ESETÉN | Adja meg az adott korlátozás megsértése esetén végrehajtandó műveletet. A lehetséges műveletek a DROP és a FAIL. Alapértelmezés szerint a záradék nélkül a művelet SIKERTELEN. |
PARTÍCIÓ RENDELKEZÉSRE ÁLLVA | Partíciók létrehozása a megadott oszlop alapján. |
TBLPROPERTIES | A materializált tó nézet definíciójának címkézésére használt kulcs-érték párok listája. |
MEGJEGYZÉS | A tó látképének leírását tartalmazó kijelentés. |
AS select_utalvány | Lekérdezés az adatok materializált tónézetben való feltöltéséhez select utasítással. |
Az alábbi példa egy "customers_enriched" nevű materializált nézet definícióját szemlélteti azáltal, hogy összekapcsolja az ügyfelek táblát a rendelések táblával.
CREATE MATERIALIZED LAKE VIEW IF NOT EXISTS silver.customers_enriched AS
SELECT
c.customerID,
c.customerName,
c.contact,
CASE
WHEN COUNT(o.orderID) OVER (PARTITION BY c.customerID) > 0 THEN TRUE
ELSE FALSE
END AS has_orders
FROM bronze.customers c LEFT JOIN bronze.orders o
ON c.customerID = o.customerID;
Az alábbi példa egy "customers_enriched" nevű anyagiasított nézetet definiál, amely "város" oszlop szerint van particionálva.
CREATE MATERIALIZED LAKE VIEW IF NOT EXISTS silver.customers_enriched
COMMENT "This is a sample materialzied view"
PARTITIONED BY (city)
SELECT
c.customerID,
c.customerName,
c.contact,
CASE
WHEN COUNT(o.orderID) OVER (PARTITION BY c.customerID) > 0 THEN TRUE
ELSE FALSE
END AS has_orders
FROM bronze.customers c LEFT JOIN bronze.orders o
ON c.customerID = o.customerID;
A materializált tónézetek listájának lekérése
A tóházban található összes materializált tónézet listájának lekéréséhez használja a következő parancsot:
Szintaxis
SHOW MATERIALIZED LAKE VIEWS <IN/FROM> Schema_Name;
Példa
SHOW MATERIALIZED LAKE VIEWS IN silver;
Materializált tónézet CREATE utasításának lekérése
A materializált tónézetet létrehozó utasítás lekéréséhez használja az alábbi parancsot:
Szintaxis
SHOW CREATE MATERIALIZED LAKE VIEW MLV_Identifier;
Példa
SHOW CREATE MATERIALIZED LAKE VIEW customers_enriched;
Materializált tónézet frissítése
A materializált tónézet definíciójának frissítéséhez először törölni kell, majd újra létre kell hozni. Az alter utasítás csak materializált tónézet átnevezése esetén támogatott.
Szintaxis
ALTER MATERIALIZED LAKE VIEW MLV_Identifier RENAME TO MLV_Identifier_New;
Példa
ALTER MATERIALIZED LAKE VIEW customers_enriched RENAME TO customers_enriched_new;
Látványos tó nézet megszüntetése
A materializált tónézet elvethető a lakehouse objektumkezelő törlési lehetőségével vagy a jegyzetfüzetben az alábbi parancs végrehajtásával.
Szintaxis
DROP MATERIALIZED LAKE VIEW MLV_Identifier;
Példa
DROP MATERIALIZED LAKE VIEW customers_enriched;
Megjegyzés:
A materializált tónézet elvetése vagy átnevezése hatással van az életút nézetre és az ütemezett frissítésre. Győződjön meg arról, hogy frissíti a hivatkozást minden kapcsolódó materializált adatnézetben.
Jelenlegi korlátozások
- A munkamenet szintjén beállított Spark-tulajdonságok nem lesznek alkalmazva az ütemezett vonalfrissítés során.
- A materializált tónézet létrehozása delta időutazással nem támogatott.
- A DML-utasítások nem támogatottak materializált tónézetekkel.
- A CTAS felhasználó által definiált függvényei nem támogatottak.
- Az ideiglenes nézetek nem használhatók materializált tónézetek definiálására.
Ismert problémák
- Egy materializált tónézet létrehozása CTE-vel működik, de a későbbi frissítések sikertelenek lehetnek. Ilyen esetekben hozza létre újra a nézetet CTE használata nélkül.