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.
Önemli
Bu özellik Beta sürümündedir. Çalışma alanı yöneticileri Bu özelliğe erişimi Önizlemeler sayfasından denetleyebilir. Bkz. Azure Databricks önizlemelerini yönetme.
Gerçekleştirilmiş görünüme yenileme ilkesini ekler ve yenilemenin ne zaman artımlı hale getirilmesini denetler. (işlem hatları) deyimi içinCREATE MATERIALIZED VIEW geçerlidir.
Artımlılaştırma hakkında bilgi edinmek için bkz. Gerçekleştirilmiş görünümler için artımlı yenileme. Databricks SQL'deki deyimiyle SQL sorgusunun EXPLAIN CREATE MATERIALIZED VIEW artımlı hale getirilebilir olup olmadığını de kontrol edebilirsiniz. Bkz. EXPLAIN CREATE MATERIALIZED VIEW.
Sözdizimi
REFRESH POLICY refresh_policy
refresh_policy:
AUTO | INCREMENTAL | INCREMENTAL STRICT | FULL
Parametreler
refresh_policy
Gerçekleştirilmiş görünüm için bir yenileme ilkesi tanımlar.
REFRESH POLICYatlanırsa,AUTOvarsayılan ilkedir.Yenileme ilkesi, yenilemenin gerçekleştirilmiş görünümün artımlı hale getirilmesini nasıl işlediğini tanımlar.
AUTOSistem, maliyet modeline göre artımlı veya tam yenilemeyi otomatik olarak seçer.
Devlet Davranış Yenileme için artımlı kullanılabilir. Hangisinin daha ucuz, artımlı veya dolu olduğunu belirlemek için maliyet modelini kullanır. Artımlı yenileme için kullanılamaz. Tam yenileme gerçekleştirir. Oluşturma veya yeniden başlatma gereklidir (örneğin, şema değişikliğinde) Tam yenileme gerçekleştirir. INCREMENTALSistem mümkün olduğunda artımlı yenilemeler kullanır. üzerinde
CREATE, sorgu artımlı hale getirilemiyorsa create deyimi başarısız olur.Devlet Davranış Yenileme için artımlı kullanılabilir. Artımlı yenileme gerçekleştirir. Yenileme için artımlı kullanılamaz. Tam yenileme gerçekleştirir. Oluşturma veya yeniden başlatma gereklidir, ancak sorgu için artımlılaştırma mümkündür. Tam yenileme gerçekleştirir. Oluşturma veya yeniden başlatma gereklidir ve sorgu için artımlılaştırma mümkün değildir. İşlem başarısız oluyor. INCREMENTAL STRICTSistem artımlı yenilemeler kullanır. üzerinde
CREATE, sorgu artımlı hale getirilemiyorsa create deyimi başarısız olur.Devlet Davranış Yenileme için artımlı kullanılabilir. Artımlı yenileme gerçekleştirir. Yenileme için artımlı kullanılamaz. Yenileme başarısız oluyor. Oluşturma veya yeniden başlatma gereklidir, ancak sorgu için artımlılaştırma mümkündür. Tam yenileme gerçekleştirir. Oluşturma veya yeniden başlatma gereklidir ve sorgu için artımlılaştırma mümkün değildir. İşlem başarısız oluyor. FULLSistem her zaman tam yenileme kullanır.
Devlet Davranış Yenileme için artımlı kullanılabilir. Tam yenileme gerçekleştirir. Yenileme için artımlı kullanılamaz. Tam yenileme gerçekleştirir. Oluşturma veya yeniden başlatma gereklidir. Tam yenileme gerçekleştirir.
Hata durumundaki davranış
Yenileme ilkesine (için) uymadığı için REFRESH POLICY INCREMENTAL (STRICT)yenileme başarısız olduğunda sistem, artımlı hale getirilememesinin nedenini açıklayan ayrıntılı bilgiler içeren bir hata sınıfı MATERIALIZED_VIEW_NOT_INCREMENTALIZABLE döndürür:
-
AGGREGATE_NOT_TOP_NODE:GROUP BYyukarıdaki karmaşık ifadelerle desteklenmez. -
EXPRESSION_NOT_DETERMINSTIC: sorguda gibiRANDbelirleyici olmayan bir işlev kullanılır. -
INPUT_NOT_IN_DELTA: Bir veya daha fazla kaynak veri kümesi Delta tabloları değildir. -
OPERATOR_NOT_INCREMENTALIZABLE: Karmaşık birleştirme gibi bir işleç artımlılaştırmayı engeller. -
ROW_TRACKING_NOT_ENABLED: Satır izleme gerektiren kaynak tablolarda satır izleme etkin değildir. -
SUBQUERY_EXPRESSION_NOT_INCREMENTALIZABLE: Sorgunuzdaki bir veya daha fazla alt sorgu artımlı hale getirilemez. -
UDF_NOT_DETERMINISTIC: İfadede kullanılan bir veya daha fazla UDF belirlenici olarak işaretlenmez. -
WINDOW_WITHOUT_PARTITION_BY: OlmayanPARTITION_BYpencere belirtimleri artımlı hale getirilemez.
Sorguyu artımlı hale getiren şeyleri anlamak için bkz. Gerçekleştirilmiş görünümler için artımlı yenileme.
SQL sorgusunun artımlı hale getirilebilir olup olmadığını denetlemek için Databricks SQL'deki deyimini EXPLAIN CREATE MATERIALIZED VIEW kullanın. Bkz. EXPLAIN CREATE MATERIALIZED VIEW.
Örnekler
-- Create a materialized view with an incremental policy
CREATE OR REFRESH MATERIALIZED VIEW my_mv
REFRESH POLICY INCREMENTAL
AS SELECT a, sum(b) FROM my_catalog.example.my_table GROUP BY a;