Aracılığıyla paylaş


Maddileşmiş görünümleri izleme Databricks SQL'de

Bu makalede, Databricks SQL'de malzemeleşmiş bir görünüm hakkında yenileme verilerinin nasıl izleneceği ve sorgulanacağı açıklanmaktadır.

Katalog Gezgini'nde ayrıntıları görüntüleme

Gerçekleştirilmiş görünümünüzle ilgili bilgileri görüntülemenin en kolay yolu, bunu Katalog Gezgini'nde görüntülemektir. Katalog Gezgini ayrıca günlükler de dahil olmak üzere yenileme geçmişini görmenizi ve geçerli yenilemenin durumunu görüntülemenizi sağlar.

Gerçekleştirilmiş görünümün Katalog Gezgini'nde bulunmayan birkaç özelliği vardır. Bu özellikler için veya bilgileri program aracılığıyla almak için komutunu kullanabilirsiniz DESCRIBE EXTENDED .

Gerçekleştirilmiş görünüm ayrıntılarını görüntüle DESCRIBE EXTENDED

Belirtilen DESCRIBE EXTENDED komutunu kullanarak program aracılığıyla önceden oluşturulmuş bir görünümle ilgili ayrıntıları görüntüleyebilirsiniz. Buna aşağıdakiler dahildir:

  • En son tamamlanan yenilemenin durumu.
  • Yenileme zamanlaması.
  • Gerçekleştirilmiş görünümün sütunları.
  • Gerçekleştirilmiş görünümün toplam bayt cinsinden veri boyutu (Katalog Gezgini'nde kullanılamaz).
  • Gerçekleştirilmiş görünümün depolama konumu (Katalog Gezgini'nde kullanılamaz).
-- As table:
DESCRIBE TABLE EXTENDED sales;

-- As a single JSON object:
DESCRIBE TABLE EXTENDED sales AS JSON;

Gerçekleştirilmiş görünümün yenileme geçmişini görüntüleme

Geçerli ve geçmiş yenilemeler de dahil olmak üzere gerçekleştirilmiş bir görünümde işlemlerin REFRESH durumunu görüntülemek için Lakeflow Bildirimli İşlem Hatları olay günlüğünü sorgulayın:

SELECT
  *
FROM
  event_log(TABLE(my_catalog.my_schema.sales))
WHERE
  event_type = "update_progress"
ORDER BY
  timestamp desc;

<fully-qualified-table-name> değerini, katalog ve şema da dahil olmak üzere, maddi görünümün tam adıyla değiştirin.

Şu konuya bakın: Lakeflow Deklaratif İşlem Hatları olay günlüğü nedir?.

Gerçekleştirilmiş görünüm için oluşan yenileme türünü görüntüleme

Bazı sorgular artımlı olarak yenilenebilir. Artımlı yenileme gerçekleştirilemiyorsa bunun yerine tam yenileme gerçekleştirilir.

Gerçekleştirilmiş bir görünümün yenileme türünü görmek için olay günlüğünü sorgula:

SELECT
  timestamp,
  message
FROM
  event_log(TABLE(my_catalog.my_schema.sales))
WHERE
  event_type = 'planning_information'
ORDER BY
  timestamp desc;

Bu komut için örnek çıktı:

    • Tarih damgası
    • mesaj
    • 2025-03-21T22:23:16.497+00:00
    • Flow 'sales' has been planned in :re[LDP] to be executed as ROW_BASED.

Yenileme türleri ve yenilemelerinizi optimize etme hakkında ayrıntılı bilgi için Gerçekleştirilmiş görünümler için artımlı yenileme'ye göz atabilirsiniz.

Sorgu geçmişini kullanarak işlemleri takip etme

Akış tablosu güncelleştirmelerinizi çalıştırmak için kullanılan Lakeflow Bildirimli İşlem Hatlarında kötü performans gösteren sorguları ve performans sorunlarını belirlemenize yardımcı olabilecek sorgu ayrıntılarına ve sorgu profillerine erişmek için sorgu geçmişi sayfasını kullanabilirsiniz. Sorgu geçmişleri ve sorgu profilleri için sağlanan bilgi türüne genel bakış için bkz . Sorgu geçmişi ve Sorgu profili.

Önemli

Bu özellik Genel Önizleme aşamasındadır. Çalışma alanı yöneticileri Bu özelliği Önizlemeler sayfasından etkinleştirebilir. Bkz. Azure Databricks önizlemelerini yönetme.

Malzemeleşmiş görünümlerle ilgili tüm ifadeler sorgu geçmişinde görünür. Herhangi bir komutu seçmek ve ilgili sorguları incelemek için Deyim açılır filtresini kullanabilirsiniz. Tüm CREATE deyimlerini, bir ardışık düzen üzerinde zaman uyumsuz olarak yürütülen bir REFRESH deyimi takip eder. REFRESH İfadeler genellikle performans optimizasyonu için içgörüler sağlayan ayrıntılı sorgu planlarını içerir.

Sorgu geçmişi kullanıcı arabirimindeki REFRESH ifadelerine erişmek için aşağıdaki adımları kullanın:

  1. History icon.History icon.Sorgu Geçmişi kullanıcı arabirimini açmak için sol kenar çubuğunda tıklayın.
  2. REFRESH açılır filtresinden onay kutusunu seçin.
  3. Sorgunun süresi ve toplanan ölçümler gibi özet ayrıntılarını görüntülemek için sorgu deyiminin adına tıklayın.
  4. Sorgu profilini açmak için Sorgu profilini göster'e tıklayın. Sorgu profilinde gezinme hakkında ayrıntılı bilgi için bkz . Sorgu profili.
  5. İsteğe bağlı olarak, ilgili sorguyu veya işlem hattını açmak için Sorgu Kaynağı bölümündeki bağlantıları kullanın.

Bkz. CREATE MATERIALIZED VIEW.

Başarısız yenileme sorunlarını giderme

Uyarı

Artımlı olması gerektiğini düşündüğünüz tam yenileme sorunlarını gidermek için, önce kaynak Delta tablolarında satır izleme özelliğini etkinleştirip etkinleştirmediğinizi denetleyin. Artımlı yenileme hakkında diğer ayrıntılar için bkz. Gerçekleştirilmiş görünüm artımlı yenileme desteği.

Yenileme işlemi çeşitli nedenlerle başarısız olabilir. Örneğin:

  • Gerçekleştirilmiş görünümün sahibi kaynak tablolara erişimi kaybedebilir SELECT .
  • Kaynak tablolarda gerçekleştirilmiş görünüm sorgusu tanımıyla uyumlu olmayan bir şema değişikliği olabilir.

Başarısız gerçekleştirilmiş görünüm yenileme sorunlarını gidermek için:

  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. Genel Bakış sekmesinde Yenileme ayrıntılarına bakın bağlantısına tıklayın.
  4. İşlem hattı ayrıntıları sayfasında, en alttaki Olay günlüğü sekmesinde Hata'ya tıklayarak yalnızca işlem hatalarını filtreleyin.
  5. Tam hata iletisi de dahil olmak üzere ayrıntıları görmek için bir hataya tıklayın.

Bu örnek bir hata iletisidir:

org.apache.spark.sql.AnalysisException: [AMBIGUOUS_REFERENCE] Reference `customer_name` is ambiguous, could be: ['p'.'customer_name', 'u'.'customer_name']. SQLSTATE: 42704