Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här artikeln får du lära dig mer om Spark SQL-syntaxen för aktiviteter relaterade till materialiserade sjövyer i Microsoft Fabric.
Skapa en materialiserad sjövy
Du kan definiera en materialiserad sjövy från valfri tabell eller från en annan materialiserad sjövy i ett sjöhus. Följande kod beskriver syntaxen för att deklarera en materialiserad sjövy med hjälp av 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
| Parameter | Beskrivning |
|---|---|
MLV_Identifier |
Namnet på den materialiserade sjövyn. |
CONSTRAINT |
Nyckelord för att definiera en datakvalitetsbegränsning följt av ett användardefinierat namn. Villkoret gäller på nivån för den materialiserade sjövyn. |
CHECK |
Parameter för att framtvinga ett villkor baserat på vissa kolumnvärden. Obligatoriskt att använda när du definierar villkor. |
ON MISMATCH |
Parameter för att ange vilken åtgärd som ska vidtas om begränsningen överträds. Möjliga åtgärder är DROP och FAIL. Utan den här satsen är FAILåtgärden som standard . |
PARTITIONED BY |
Parameter för att skapa partitioner baserat på den angivna kolumnen. |
TBLPROPERTIES |
Lista över nyckel/värde-par för taggning av definitionen av den materialiserade sjövyn. |
COMMENT |
Instruktion för att beskriva den materialiserade sjövyn. |
AS select_statement |
Fråga för att fylla i data i den materialiserade sjövyn med hjälp av en SELECT -instruktion. |
Examples
I följande exempel visas definitionen av en materialiserad sjövy med namnet customers_enriched genom att ansluta en customers tabell till en orders tabell:
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;
I följande exempel definieras en materialiserad sjövy med namnet customers_enriched, partitionerad av city kolumnen:
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;
Hämta en lista över materialiserade sjövyer
Använd följande kommando för att hämta listan över alla materialiserade sjövyer i ett sjöhus:
SHOW MATERIALIZED LAKE VIEWS <IN/FROM> Schema_Name;
Här är ett exempel:
SHOW MATERIALIZED LAKE VIEWS IN silver;
Hämta instruktionen som skapade en materialiserad sjövy
Använd följande kommando för att hämta instruktionen CREATE för en materialiserad sjövy:
SHOW CREATE MATERIALIZED LAKE VIEW MLV_Identifier;
Här är ett exempel:
SHOW CREATE MATERIALIZED LAKE VIEW customers_enriched;
Uppdatera en materialiserad sjövy
Om du vill uppdatera definitionen av en materialiserad sjövy måste du släppa den och återskapa den. Instruktionen ALTER stöds endast för att byta namn på en materialiserad sjövy.
ALTER MATERIALIZED LAKE VIEW MLV_Identifier RENAME TO MLV_Identifier_New;
Här är ett exempel:
ALTER MATERIALIZED LAKE VIEW customers_enriched RENAME TO customers_enriched_new;
Släpp en projicerad sjövy
Du kan släppa en materialiserad sjövy med hjälp av alternativet Ta bort i lakehouse-objektutforskaren eller genom att köra följande kommando i notebook-filen:
DROP MATERIALIZED LAKE VIEW MLV_Identifier;
Här är ett exempel:
DROP MATERIALIZED LAKE VIEW customers_enriched;
Anmärkning
Att ta bort eller byta namn på en materialiserad sjövyvy påverkar härkomstvyn och den schemalagda uppdateringen. Se till att uppdatera referensen i alla beroende materialiserade sjövyer.
Aktuella begränsningar
- Schemanamn med alla versaler stöds inte. Du kan fortsätta att skapa materialiserade sjövyer utan att använda alla versaler i schemanamnet.
- Spark-egenskaper som anges på sessionsnivå tillämpas inte under en schemalagd ursprungsuppdatering.
- Det går inte att skapa en materialiserad sjövy med deltatidsresor.
- DML-instruktioner (Data Manipulation Language) stöds inte med materialiserade sjövyer.
- Användardefinierade funktioner i
CREATE TABLE AS SELECT(CTAS)-instruktioner stöds inte. - Du kan inte använda tillfälliga vyer för att definiera materialiserade sjövyer.