Aracılığıyla paylaş


Gerçekleştirilmiş göl görünümleri Spark SQL başvurusu

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.