Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku se dozvíte o syntaxi Spark SQL pro aktivity související s materializovanými zobrazeními jezera v Microsoft Fabric.
Vytvoření materializovaného zobrazení jezera
Můžete definovat materializované zobrazení jezera z libovolné tabulky nebo z jiného materializovaného zobrazení jezera v rámci jezera. Následující kód popisuje syntaxi pro deklarování materializovaného zobrazení lake pomocí Spark SQL:
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
Arguments
| Parametr | Popis |
|---|---|
MLV_Identifier |
Název materializovaného zobrazení jezera. |
CONSTRAINT |
Klíčové slovo pro definování omezení kvality dat následované uživatelem definovaným jménem. Omezení platí na úrovni materializovaného zobrazení jezera. |
CHECK |
Parametr pro vynucování podmínky na základě určitých hodnot sloupců Je povinné použít při definování omezení. |
ON MISMATCH |
Parametr pro zadání akce, která se má provést, pokud je omezení porušeno. Možné akce jsou DROP a FAIL. Ve výchozím nastavení bez této klauzule je FAILakce . |
PARTITIONED BY |
Parametr pro vytváření oddílů na základě zadaného sloupce |
TBLPROPERTIES |
Seznam párů klíč/hodnota pro označení definice materializovaného zobrazení jezera |
COMMENT |
Příkaz k popisu materializovaného zobrazení jezera. |
AS select_statement |
Dotaz na naplnění dat v zobrazení materializovaného jezera pomocí SELECT příkazu |
Examples
Následující příklad znázorňuje definici materializovaného zobrazení jezera pojmenovaného customers_enriched spojením customers tabulky s tabulkou orders :
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;
Následující příklad definuje materializované zobrazení jezera s názvem customers_enriched, rozdělené podle city sloupce:
CREATE MATERIALIZED LAKE VIEW IF NOT EXISTS silver.customers_enriched
COMMENT "This is a sample materialized lake view"
PARTITIONED BY (city)
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;
Získání seznamu materializovaných zobrazení jezera
Pokud chcete získat seznam všech materializovaných zobrazení jezera v jezeře, použijte následující příkaz:
SHOW MATERIALIZED LAKE VIEWS <IN/FROM> Schema_Name;
Tady je příklad:
SHOW MATERIALIZED LAKE VIEWS IN silver;
Načtení příkazu, který vytvořil materializované zobrazení jezera
Pokud chcete získat CREATE příkaz pro materializované zobrazení jezera, použijte následující příkaz:
SHOW CREATE MATERIALIZED LAKE VIEW MLV_Identifier;
Tady je příklad:
SHOW CREATE MATERIALIZED LAKE VIEW customers_enriched;
Aktualizace materializovaného zobrazení jezera
Pokud chcete aktualizovat definici materializovaného zobrazení jezera, musíte ji odstranit a znovu vytvořit. Tento ALTER příkaz se podporuje jenom pro přejmenování materializovaného zobrazení jezera.
ALTER MATERIALIZED LAKE VIEW MLV_Identifier RENAME TO MLV_Identifier_New;
Tady je příklad:
ALTER MATERIALIZED LAKE VIEW customers_enriched RENAME TO customers_enriched_new;
Zrušit materializované zobrazení jezera
Materializované zobrazení jezero můžete odstranit pomocí možnosti Odstranit v Průzkumníku objektů lakehouse nebo spuštěním následujícího příkazu v poznámkovém bloku:
DROP MATERIALIZED LAKE VIEW MLV_Identifier;
Tady je příklad:
DROP MATERIALIZED LAKE VIEW customers_enriched;
Poznámka:
Vyřazení nebo přejmenování materializovaného zobrazení jezera má vliv na zobrazení rodokmenu a plánovanou aktualizaci. Nezapomeňte aktualizovat odkaz ve všech závislých materializovaných zobrazeních jezera.
Aktuální omezení
- Názvy schémat se všemi velkými písmeny se nepodporují. Můžete i nadále vytvářet materializovaná zobrazení jezera bez použití velkých písmen v názvu schématu.
- Vlastnosti Sparku nastavené na úrovni relace se při plánované aktualizaci rodokmenu nepoužijí.
- Vytvoření materializovaného zobrazení jezera s rozdílovým časovým cestováním se nepodporuje.
- Příkazy jazyka DML (Data Manipulation Language) nejsou podporovány v zobrazení materializovaných jezer.
- Uživatelem definované funkce v
CREATE TABLE AS SELECTpříkazech CTAS se nepodporují. - K definování materializovaných zobrazení jezero nemůžete použít dočasná zobrazení.