OpenSharing materialization history system table reference

Paylaşılan gerçekleştirilmiş veri geçmişi tablosu, OpenSharing kullanılarak görünüm paylaşımı, gerçekleştirilmiş görünümler ve akış tablolarından oluşturulan veri gerçekleştirmelerini temsil eder. Verilerin nereden geldiği, somutlaştırılan güvenlik unsuru ve somutlaştırmanın ne zaman oluşturulduğu hakkında bilgiler içerir.

Paylaşılan oluşturulmalar hakkında daha fazla bilgi için bkz. Paylaşıma görünüm ekleme ve Paylaşılan görünümleri okuma.

Tablo yolu: Bu sistem tablosu system.sharing.materialization_historykonumunda bulunur.

Şemayı materialization_history etkinleştirme

Hesap yöneticisinin şemayı etkinleştirmesi materialization_history gerekir:

  1. Hesap konsolunda sol taraftaki panelde Önizlemeler'e tıklayın.
  2. Paylaşım Gerçekleştirme Geçmişi Sistem Tablosu'nu etkinleştirin.

Paylaşılan materyalize edilmiş veri kaydı sistem tablosu şeması

Paylaşılan gerçekleştirilmiş veri geçmişi sistem tablosu aşağıdaki şemayı kullanır:

Sütun Adı Türü Açıklama Örnek Veriler Null olabilir
sharing_materialization_id String Veri somutlaştırmanın benzersiz kimliği. da38803f-2a62-4e27-bdb9-29b801c6dd84 Yanlış
account_id String Gerçekleştirmenin oluşturulduğu Azure Databricks hesabının kimliği. Yanlış
workspace_id String Faturalanan Azure Databricks çalışma alanının kimliği. 6051921418418893 Yanlış
recipient_name String Veri materyalizasyonunu kullanan alıcının adı. e2-dogfood Doğru
provider_name String Veri gerçekleştirmeyi kullanan sağlayıcının adı. aws:us-west-2:19a85dee-54bc-43a2-87ab-023d0ec16013 Doğru
share_name String Veri oluşturma için kullanılan paylaşımın adı. my_share Yanlış
schema_name String Paylaşılan varlığın şemasının adı. my_schema Yanlış
table_name String Veri gerçekleştirme oluşturmak için kullanılan tablonun adı. stocks Yanlış
created_at Tarih damgası Oluşturmanın ne zaman yapıldığını gösteren zaman damgası. 2025-01-01 00:00:00 Yanlış

Örnek sorgulamalar

Bu bölüm, faturalama ilişkilendirmesi hakkında içgörü elde etmek için kullanabileceğiniz aşağıdaki örnek sorguları içerir:

Sağlayıcı verilerin somutlaştırılması için faturalandırıldığında, sorgu sonuçlarını yalnızca sağlayıcı görebilir. Alıcıya veri materyalizasyonu için fatura kesildiğinde, sorgu sonuçlarını yalnızca o görebilir.

OpenSharing özniteliklerinin ve maliyetlerin nasıl yansıtılmasıyla ilgili daha fazla bilgi için bkz. OpenSharing maliyetlerini nasıl karşılayıp denetleyebilirim?.

OpenSharing alıcısı, paylaşılan görünümleri sorgulamak için kaç DBU harcandığını sorar

... yerlerini bilgilerinizle değiştirin.

SELECT
  SUM(bu.usage_quantity)
FROM
  system.billing.usage bu
INNER JOIN
  system.sharing.materialization_history dm
ON
  dm.sharing_materialization_id = bu.usage_metadata.sharing_materialization_id
WHERE
  bu.billing_origin_product = 'DATA_SHARING' AND
 dm.share_name = '...' AND
 dm.schema_name = '...' AND
 dm.table_name IN (...);

OpenSharing alıcısı, en çok kullanımı sorgulayan sağlayıcıyı sorar

SELECT
  SUM(bu.usage_quantity) AS total_usage,
  dm.provider_name
FROM
  system.billing.usage bu
INNER JOIN
  system.sharing.materialization_history dm
ON
  dm.sharing_materialization_id = bu.usage_metadata.sharing_materialization_id
WHERE
  bu.billing_origin_product = 'DATA_SHARING'
GROUP BY
  dm.provider_name
ORDER BY
  total_usage DESC;

OpenSharing sağlayıcısı, açık alıcılar için görünümleri filtrelemek için kaç DSU harcandığını sorar

SELECT
  SUM(bu.usage_quantity)
FROM
  system.billing.usage bu
INNER JOIN
  system.sharing.materialization_history dm
ON
  dm.sharing_materialization_id = bu.usage_metadata.sharing_materialization_id
INNER JOIN
  system.information_schema.table_share_usage tsu
ON
  dm.share_name = tsu.share_name AND
  dm.schema_name = tsu.schema_name AND
  dm.table_name = tsu.table_name
INNER JOIN
  system.information_schema.tables t
ON
  t.table_catalog = tsu.catalog_name AND
  t.table_schema = tsu.schema_name AND
  t.table_name = tsu.table_name
WHERE
  bu.billing_origin_product = 'DATA_SHARING' AND
  t.table_type = 'VIEW';

OpenSharing sağlayıcısı hangi açık alıcının en çok maliyete neden olduğunu sorar

SELECT
 SUM(usage_quantity) AS usage,
 srp.recipient_name
FROM
  system.billing.usage bu
INNER JOIN
  system.sharing.materialization_history dm
ON
  dm.sharing_materialization_id = bu.usage_metadata.sharing_materialization_id
INNER JOIN system.information_schema.share_recipient_privileges srp
ON
  srp.share_name = dm.share_name
WHERE
  bu.billing_origin_product = 'DATA_SHARING'
GROUP BY
  srp.recipient_name
ORDER BY
  usage DESC
LIMIT 1;