Aracılığıyla paylaş


REFRESH İLKE yan tümcesi (işlem hatları)

Ö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 POLICY atlanırsa, AUTO varsayılan ilkedir.

    Yenileme ilkesi, yenilemenin gerçekleştirilmiş görünümün artımlı hale getirilmesini nasıl işlediğini tanımlar.

    • AUTO

      Sistem, 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.
    • INCREMENTAL

      Sistem 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 STRICT

      Sistem 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.
    • FULL

      Sistem 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 BY yukarıdaki karmaşık ifadelerle desteklenmez.
  • EXPRESSION_NOT_DETERMINSTIC: sorguda gibi RANDbelirleyici 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: Olmayan PARTITION_BY pencere 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;