共用具體化的數據歷史表表示使用 Delta Sharing 從視圖共用、實體化視圖和串流表建立的數據實體化。 其中包含數據的來源資訊、正在具體化的可保護實體,以及具體化創建的時間。
如需了解共享的具體化的詳細資訊,請參閱 將檢視新增至共用 和 讀取共享檢視。
資料表路徑:此系統資料表位於 system.sharing.materialization_history。
啟用materialization_history架構
帳戶管理員必須啟用 materialization_history 架構:
- 在帳戶控制台中,按兩下左側面板中的 [預覽 ]。
- 啟用 共用具現化歷程系統表格。
共用具體化數據歷程記錄系統數據表架構
共用具體化資料記錄系統資料表會使用下列架構:
| 欄位名稱 | 類型 | 說明 | 示例資料 | 可空值 |
|---|---|---|---|---|
sharing_materialization_id |
字串 | 數據具體化的唯一標識碼。 | da38803f-2a62-4e27-bdb9-29b801c6dd84 |
否 |
account_id |
字串 | Azure Databricks 帳戶中建立該具體化的識別碼。 | 否 | |
workspace_id |
字串 | "已計費的 Azure Databricks 工作區之 ID。" | 6051921418418893 |
否 |
recipient_name |
字串 | 使用數據具體化的收件者名稱。 | e2-dogfood |
對 |
provider_name |
字串 | 使用數據具體化方法的提供者名稱。 | aws:us-west-2:19a85dee-54bc-43a2-87ab-023d0ec16013 |
對 |
share_name |
字串 | 用來創建資料具體化的共享名稱。 | my_share |
否 |
schema_name |
字串 | 共用資產的架構名稱。 | my_schema |
否 |
table_name |
字串 | 用來建立數據具體化的數據表名稱。 | stocks |
否 |
created_at |
時間戳記 | 建立具體化時的時間戳。 | 2025-01-01 00:00:00 |
否 |
範例查詢
本節包含下列範例查詢,可用來深入了解計費屬性:
- Delta Sharing 的接收者會詢問查詢共享視圖花費多少 DBU
- Delta 共用的接收者詢問哪一個提供者查詢了最多的使用量
- Delta Sharing 提供者詢問在為開放收件者篩選檢視時花費了多少 DBU
- Delta Sharing 提供者詢問哪一個開放的收件者產生最多成本
當提供者因數據具體化而計費時,只有提供者可以看到查詢結果。 當收件者因數據實體化而被收費時,僅收件者可以看到查詢結果。
如需 Delta Sharing 的屬性及產生成本的詳細資訊,請參閱 如何產生和檢查 Delta Sharing 成本?。
Delta Sharing 的使用者詢問查詢共享檢視時花費了多少 DBU
將 ... 實例替換為您的資訊。
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 (...);
Delta 共用收件者會詢問哪一個提供者查詢最多使用量
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;
Delta Sharing 提供者會詢問篩選提供給開放收件者的檢視花費了多少 DBU
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';
Delta 分享提供者詢問哪一個活躍的收件者產生最多成本
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;