Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Spark SQL kullanarak malzeme edilmiş göl görünümlerinin söz dizimi hakkında öğreneceksiniz. Gerçekleştirilmiş göl görünümleri hakkında daha fazla bilgi için bkz. Gerçekleştirilmiş göl görünümlerine genel bakış.
Gerçekleştirilmiş göl görünümü oluşturma
Gerçekleştirilmiş bir göl görünümü herhangi bir tablodan veya göl evi içindeki başka bir gerçekleştirilmiş göl görünümünden tanımlanabilir. Aşağıda Spark SQL kullanarak gerçekleştirilmiş göl görünümü bildirmeye yönelik söz dizimi özetlenmiştir.
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
Argümanlar
Parametre | Açıklama |
---|---|
MLV_Identifier | Gerçekleştirilmiş göl görünümünün adı. |
KISITLAMA | Veri kalitesi kısıtlaması tanımlamak için anahtar sözcük ve ardından kullanıcı tanımlı bir ad. Kısıtlama, malzemeleşmiş göl görünümü düzeyinde geçerlidir. |
ÇEK | Belirli sütun değerlerine göre tanımlanan koşulu zorlamak için kullanın. Kısıtlama tanımlarken kullanılması zorunlu. |
UYUŞMAZLIK DURUMUNDA | Belirtilen kısıtlama ihlal edilirse gerçekleştirilecek eylemi belirtin. Olası eylemler DROP ve FAIL işlemleridir. Varsayılan olarak, bu cümle olmadan, eylem başarısız olur. |
BELİRLİ KRİTERLERE GÖRE BÖLÜMLENDİ | Belirtilen sütuna göre bölümler oluşturmak için. |
TBLPROPERTIES | Gerçekleştirilmiş göl görünümü tanımını etiketlemek için kullanılan anahtar-değer çiftlerinin listesi. |
YORUM | Canlandırılmış göl manzarasını açıklayan bir ifade. |
AS select_statement | Select deyimi kullanılarak materyalize olmuş göl görünümündeki verileri doldurmak için bir sorgu. |
Aşağıdaki örnek, müşteriler tablosunu siparişler tablosuyla birleştirerek "customers_enriched" adlı gerçekleştirilmiş bir göl görünümünün tanımını gösterir.
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;
Aşağıdaki örnek, "şehir" sütununa göre bölümlenmiş "customers_enriched" adlı yapılandırılmış bir göl görünümünü tanımlar.
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;
Gerçekleştirilmiş göl görünümlerinin listesini alma
Göl evindeki tüm gerçekleştirilmiş göl görünümlerinin listesini almak için aşağıdaki komutu kullanın:
Sözdizimi
SHOW MATERIALIZED LAKE VIEWS <IN/FROM> Schema_Name;
Örnek
SHOW MATERIALIZED LAKE VIEWS IN silver;
Gerçekleştirilmiş göl görünümünün CREATE deyimini alma
Gerçekleştirilmiş göl görünümü oluşturan deyimini almak için şu komutu kullanın:
Sözdizimi
SHOW CREATE MATERIALIZED LAKE VIEW MLV_Identifier;
Örnek
SHOW CREATE MATERIALIZED LAKE VIEW customers_enriched;
Gerçekleştirilmiş göl görünümünü güncelleştirme
Gerçekleştirilmiş bir göl görünümünün tanımını güncellemek için silinmesi ve yeniden oluşturulması gerekir. Alter deyimi yalnızca gerçekleştirilmiş göl görünümünü yeniden adlandırmak için desteklenir.
Sözdizimi
ALTER MATERIALIZED LAKE VIEW MLV_Identifier RENAME TO MLV_Identifier_New;
Örnek
ALTER MATERIALIZED LAKE VIEW customers_enriched RENAME TO customers_enriched_new;
Maddileşmiş bir göl manzarasını bırak
Gerçekleştirilmiş göl görünümü, lakehouse nesne gezginindeki silme seçeneği kullanılarak veya not defterinde aşağıdaki komut çalıştırılarak kaldırılabilir.
Sözdizimi
DROP MATERIALIZED LAKE VIEW MLV_Identifier;
Örnek
DROP MATERIALIZED LAKE VIEW customers_enriched;
Uyarı
Gerçekleştirilmiş bir göl görünümünü bırakmak veya yeniden adlandırmak, köken görünümünü ve zamanlanmış yenilemeyi etkiler. Tüm bağımlı malzemeleşmiş göl görünümlerinde referansı güncellediğinizden emin olduğunuzdan emin olun.
Mevcut sınırlamalar
- Oturum düzeyinde ayarlanan Spark özellikleri, zamanlanmış köken yenilemesi sırasında uygulanmaz.
- Maddileşmiş göl manzarasının delta zaman yolculuğu ile oluşturulması desteklenmez.
- DML deyimleri malzemeleşmiş göl görünümlerinde desteklenmez.
- CTAS'de kullanıcı tanımlı işlevler desteklenmez.
- Gerçekleştirilmiş göl görünümlerini tanımlamak için geçici görünümler kullanılamaz.
Bilinen sorunlar
- CTE ile malzemeleşmiş bir göl görünümü oluşturmak çalışır, ancak sonraki yenilemeler başarısız olabilir. Böyle durumlarda, CTE kullanmadan görünümü yeniden oluşturun.