Delta Sharing 具体化历史记录系统表参考

重要

此系统表需要手动选择加入。 有关详细信息,请参阅启用系统表架构

共享具体化数据历史表表示使用 Delta Sharing 从视图共享、具体化视图和流式处理表创建的数据具体化。 它包含有关数据来源、正在具体化的可保护对象以及具体化创建时间的信息。

有关共享具体化的详细信息,请参阅添加视图到共享读取共享视图

表路径:此系统表位于 system.sharing.materialization_history.

启用materialization_history架构

帐户管理员必须启用 materialization_history 架构:

  1. 在帐户控制台中,单击左侧面板中的 “预览 ”。
  2. 启用 共享物化历史系统表

共享的具体化数据历史记录系统表架构

共享具体化数据历史记录系统表使用以下架构:

列名 类型 DESCRIPTION 示例数据 可为 Null
sharing_materialization_id 字符串 数据实体化的唯一标识符。 da38803f-2a62-4e27-bdb9-29b801c6dd84
account_id 字符串 在其中创建具体化的 Azure Databricks 帐户的 ID。
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 timestamp 具体化创建的时间戳。 2025-01-01 00:00:00

示例查询

本部分包括以下示例查询,可用于深入了解计费属性:

当提供程序按数据具体化计费时,只有提供程序才能看到查询结果。 当接收方按数据具体化计费时,只有收件人才能看到查询结果。

有关 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 Sharing 接收方询问哪个提供方查询的使用量最多

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 Sharing 提供方询问哪个开放接收方产生的成本最高

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;