Справочник по системной таблице журнала материализации OpenSharing

Общая таблица журнала материализованных данных представляет материализации данных, созданные из общего доступа к представлению, материализованных представлений и потоковых таблиц с помощью OpenSharing. Он содержит информацию о том, откуда поступили данные, защищаемый объект, который материализуется, и когда была создана материализация.

Дополнительные сведения об общих материализациях см. раздел «Добавление представлений в общий доступ» и «Чтение общих представлений».

Путь к таблице: эта системная таблица расположена по адресу system.sharing.materialization_history.

Включите materialization_history схему

Администратор учетной записи должен включить схему materialization_history :

  1. В консоли учетной записи щелкните "Предварительные просмотры " на левой боковой панели.
  2. Включите системную таблицу журнала материализации общего доступа.

Схема системной таблицы общего материализованного журнала данных

В общей таблице системного журнала материализованных данных используется следующая схема:

Имя столбца Тип Описание Пример данных Нуллибельный
sharing_materialization_id струна Уникальный идентификатор материализации данных. da38803f-2a62-4e27-bdb9-29b801c6dd84 Неправда
account_id струна Идентификатор учетной записи Azure Databricks, в которой была создана материализация. Неправда
workspace_id струна Идентификатор рабочей области Azure Databricks, для которой выставлен счет. 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 Неправда

Примеры запросов

В этом разделе приведены следующие примеры запросов, которые можно использовать для получения сведений о выставлении счетов:

Если поставщик оплачивается за материализацию данных, только поставщик может видеть результаты запроса. Когда получатель оплачивается за материализацию данных, только получатель может видеть результаты запроса.

Дополнительные сведения о том, как атрибуты и затраты OpenSharing повлечет за собой затраты, см. в статье "Как нести и проверять затраты OpenSharing?".

Получатель OpenSharing спрашивает, сколько баз данных было потрачено на запросы общих представлений

Замените экземпляры ... вашей информацией.

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 запрашивает, какой поставщик запрашивал наибольшее использование

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 спрашивает, сколько баз данных было потрачено на фильтрацию представлений для открытых получателей

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 запрашивает, какой открытый получатель несет большую стоимость

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;