Bağımsız somutlaştırılmış görünümleri yapılandırma

Bağımsız somutlaştırılmış görünümleri, sonuçlara yönelik erişim denetimi de dahil olmak üzere, somutlaştırılmış görünümü CREATE OR REPLACE MATERIALIZED VIEW ile oluştururken veya oluşturulduktan sonra ALTER TABLE ile yapılandırın.

Gerçekleştirilmiş görünümü açıklama

Gerçekleştirilmiş bir görünümün sütunlarını ve veri türlerini almak için DESCRIBE deyimini kullanın. Gerçekleştirilmiş bir görünümün sütunlarını, veri türlerini ve sahip, konum, oluşturma zamanı ve yenileme durumu gibi meta verileri almak üzere DESCRIBE EXTENDED kullanın. Bir DESCRIBE deyim göndermek için Azure Databricks kullanıcı arabirimindeki SQL düzenleyicisini, Databricks SQL CLI'yı veya Databricks SQL API'sini kullanın.

Katalog Gezgini ile materyalize görünümler hakkında detaylı bilgi edinin

Gerçekleştirilmiş görünüm hakkındaki ayrıntıları görüntülemek için alternatif olarak Katalog Gezgini'ni kullanabilirsiniz.

  1. Veri simgesine tıklayın. Kenar çubuğunda katalog.
  2. Sol taraftaki Katalog Gezgini ağacında kataloğu açın ve gerçekleştirilmiş görünümünüzün bulunduğu şemayı seçin.
  3. Seçtiğiniz şemanın altındaki Tablolar öğesini açın ve gerçekleştirilmiş görünüme tıklayın.

Burada, gerçekleştirilmiş görünüm adı altındaki sekmeleri kullanarak gerçekleştirilmiş görünüm hakkındaki bilgileri görüntüleyebilir ve düzenleyebilirsiniz, örneğin:

  • Yenileme durumu ve zamanlaması
  • Yenileme geçmişini ve her yenileme için ayrıntılı günlükleri görmek için işlem hattı ayrıntılarına bakın. İşlem hattı ayrıntılarını görmek için Genel Bakış sekmesinden Yenileme ayrıntılarını gör'e tıklayın.
  • Tablo şeması
  • Örnek veriler (etkin işlem gerektirir)
  • Permissions
  • Bu materyalize edilmiş görünümün bağlı olduğu tablolar ve işlem hatları dahil olmak üzere köken.
  • Kullanımla ilgili içgörüler
  • Bu materyalize görünüm için oluşturduğunuz monitörler

Tablonun Katalog Gezgini'nde kullanılamayan birkaç özelliği vardır. Bu özellikler için veya bilgileri program aracılığıyla almak için DESCRIBE EXTENDED komutunu kullanabilirsiniz.

Gerçekleştirilmiş görünümün tanımını güncelleştirme

Gerçekleştirilmiş görünümü belirten sorgu, tanımıdır. Gerçekleştirilmiş görünümün tanımını değiştirmek için sorguyu düzenleyin veya aynı görünüm adıyla yeni bir CREATE OR REPLACE MATERIALIZED VIEW sorgusu oluşturun ve ardından çalıştırın. Gerçekleştirilmiş görünümü güncelleştirmek için tam yenileme gerçekleştirilir ve diğer yenilemeler yeni tanımı kullanır.

Gerçekleştirilmiş görünümlere erişimi denetleme

Gerçekleştirilmiş görünümler, veri paylaşımını desteklemek için zengin erişim denetimlerini desteklerken, potansiyel olarak özel verilerin ortaya konulmasını önler. Gerçekleştirilmiş görünüm sahibi veya MANAGE ayrıcalığına sahip bir kullanıcı, diğer kullanıcılara SELECT ayrıcalıklar verebilir. Malzemeleştirilmiş görünüme erişimi olan SELECT kullanıcılar, malzemeleştirilmiş görünüm tarafından referans verilen tablolara erişmek zorunda değiller SELECT. Bu erişim denetimi, temel alınan verilere erişimi denetlerken veri paylaşımını etkinleştirir.

Gerçekleştirilmiş görünümün sahibini de değiştirebilirsiniz.

Gerçekleştirilmiş görünüme ayrıcalık tanıma

Gerçekleştirilmiş görünüme erişim vermek için deyiminiGRANT kullanın:

GRANT <privilege_type> ON <mv_name> TO <principal>;

privilege_type şunlar olabilir:

  • SELECT - kullanıcı maddileştirilmiş görünümü SELECT yapabilir.
  • REFRESH - kullanıcı maddileştirilmiş görünümü REFRESH yapabilir. Yenilemeler, sahibin izinleri kullanılarak çalıştırılır.

Aşağıdaki örnek malzemeleşmiş bir görünüm oluşturur ve kullanıcılara select ve refresh ayrıcalıkları verir:

CREATE MATERIALIZED VIEW mv_name AS SELECT * FROM source_table;

-- Grant read-only access:
GRANT SELECT ON mv_name TO read_only_user;

-- Grant read and refresh access:
GRANT SELECT ON mv_name TO refresh_user;
GRANT REFRESH ON mv_name TO refresh_user;

Gerçekleştirilmiş görünümden ayrıcalıkları iptal et

Gerçekleştirilmiş görünümden erişimi iptal etmek için deyiminiREVOKE kullanın:

REVOKE privilege_type ON <mv_name> FROM principal;

Kaynak tablodaki SELECT ayrıcalıkları maddileştirilmiş görünüm sahibinden veya bu görünüme MANAGE veya SELECT ayrıcalıkları verilmiş başka bir kullanıcıdan alındığında ya da kaynak tablo silindiğinde, maddileştirilmiş görünüm sahibi veya erişim hakkı verilen kullanıcı yine de maddileştirilmiş görünümü sorgulayabilir. Ancak, aşağıdaki davranış oluşur:

  • Gerçekleştirilmiş görünüm sahibi veya gerçekleştirilmiş görünüme erişimi kaybeden diğer kişiler artık REFRESH bu gerçekleştirilmiş görünüme sahip olamaz ve gerçekleştirilmiş görünüm eski hale gelir.
  • Zamanlamayla otomatikleştirilmişse, bir sonraki zamanlanan REFRESH başarısız olur veya çalıştırılmaz.

Aşağıdaki örnek, SELECT'den read_only_user ayrıcalığını iptal eder.

REVOKE SELECT ON mv_name FROM read_only_user;

Gerçekleştirilmiş görünümün sahibini değiştirme

MANAGE izinlerine sahip bir kullanıcı, Katalog Gezgini aracılığıyla bağımsız bir somutlaştırılmış görünüm için yeni bir sahip belirleyebilir. Yeni sahip kendileri veya Hizmet Sorumlusu Kullanıcı rolüne sahip oldukları bir hizmet sorumlusu olabilir.

  1. Azure Databricks çalışma alanınızda Veri simgesine tıklayın.Katalog Gezgini'ni açmak için katalog.

  2. Güncellemek istediğiniz malzemeleşmiş görünümü seçin.

  3. Sağ kenar çubuğunda Bu gerçekleştirilmiş görünüm hakkında başlığının altında Sahip ismini bulun ve Kalem simgesine tıklayarak düzenleyin.

    Note

    İşlem hattı ayarlarında Run as kullanıcısını değiştirerek sahibi güncellemeniz gerektiğini belirten bir ileti alırsanız, materialized view bağımsız bir tablo olarak değil, bir Lakeflow işlem hattında tanımlanmıştır. İleti, kullanıcı olarak çalıştır'ı değiştirebileceğiniz işlem hattı ayarlarına bir bağlantı içerir.

  4. Gerçekleştirilmiş görünüm için yeni bir sahip seçin.

    Sahipler, sahip oldukları gerçekleştirilmiş görünümlerde MANAGE ve SELECT ayrıcalıklarına otomatik olarak sahiptir. Sahip olduğunuz gerçekleştirilmiş bir görünümün sahibi olarak bir hizmet sorumlusu ayarlayıp gerçekleştirilmiş görünümde açıkça SELECT veya MANAGE ayrıcalıklarınız yoksa, bu değişiklik gerçekleştirilmiş görünüme tüm erişimi kaybetmenize neden olur. Bu durumda, bu ayrıcalıkları açıkça sağlamanız istenir.

    MANAGE VER ve VER SELECT ayrıcalıklarını Kaydet'te sağlamak için seçin.

  5. Sahibi değiştirmek için Kaydet'e tıklayın.

Gerçekleştirilmiş görünümün sahibi güncelleştirilir. Gelecekteki tüm yenilemeler yeni sahibin kimliği kullanılarak çalıştırılır.

Sahip, kaynak tablolara ayrıcalıklarını kaybettiğinde

Sahibi değiştirirseniz ve yeni sahibin kaynak tablolara erişimi yoksa (veya SELECT kaynak tablolar üzerindeki ayrıcalıklar iptal edilirse), kullanıcılar yine de materyalize görünümü sorgulayabilir. Ancak:

  • Gerçekleştirilmiş görünüme sahip olamazlar REFRESH .
  • Somutlaştırılmış görünümün bir sonraki zamanlanmış yenileme işlemi başarısız olur.

Kaynak verilere erişimin kaybolması güncelleştirmeleri engeller, ancak mevcut gerçekleştirilmiş görünümün okunmasını hemen geçersiz kılmaz.

Çalışma zamanı sürümü

Materyalize edilmiş görünümler her zaman en son Databricks SQL çalışma zamanı sürümünde çalışır. pipelines.channel Daha önce bir preview veya current çalışma zamanı kanalı seçmek için kullanılan tablo özelliği artık desteklenmiyor ve etkisi yok. Mevcut bir tanım bu özelliği içeriyorsa, bu güvenle göz ardı edilir ve kaldırmanıza gerek yoktur.