Partilhar via


Referência da tabela de histórico de materialização do Delta Sharing

A tabela de histórico de dados materializados partilhados representa materializações de dados criadas a partir de partilha de vistas, vistas materializadas e tabelas em fluxo usando o Delta Sharing. Ele contém informações sobre de onde os dados vieram, o securable sendo materializado e quando a materialização foi criada.

Para obter mais informações sobre materializações compartilhadas, consulte Adicionar modos de exibição a um compartilhamento e Ler modos de exibição compartilhados.

Caminho da tabela: Esta tabela do sistema está localizada em system.sharing.materialization_history.

Ativar o materialization_history esquema

Um administrador de conta deve ativar o esquema materialization_history.

  1. No console da conta, clique em Visualizações no painel lateral esquerdo.
  2. Habilite a tabela do sistema de histórico de materialização de compartilhamento.

Esquema de tabela do sistema de histórico de dados materializados compartilhados

A tabela do sistema de histórico de dados materializados compartilhados usa o seguinte esquema:

Nome da Coluna Tipo Descrição Dados de exemplo Anulável
sharing_materialization_id cadeia (de caracteres) O identificador único de uma materialização de dados. da38803f-2a62-4e27-bdb9-29b801c6dd84 Falso
account_id cadeia (de caracteres) A ID da conta do Azure Databricks onde a materialização foi criada. Falso
workspace_id cadeia (de caracteres) O ID do espaço de trabalho do Azure Databricks que foi cobrado. 6051921418418893 Falso
recipient_name cadeia (de caracteres) Nome do destinatário usando a materialização dos dados. e2-dogfood Verdade
provider_name cadeia (de caracteres) Nome do fornecedor que utiliza a materialização dos dados. aws:us-west-2:19a85dee-54bc-43a2-87ab-023d0ec16013 Verdade
share_name cadeia (de caracteres) Nome da partilha usada para criar a materialização de dados. my_share Falso
schema_name cadeia (de caracteres) Nome do esquema do ativo compartilhado. my_schema Falso
table_name cadeia (de caracteres) Nome da tabela usada para criar a materialização de dados. stocks Falso
created_at carimbo de data/hora Data e hora de quando a materialização foi criada. 2025-01-01 00:00:00 Falso

Exemplos de consultas

Esta seção inclui as seguintes consultas de exemplo que você pode usar para obter informações sobre a atribuição de cobrança:

Quando o provedor é cobrado pela materialização de dados, somente o provedor pode ver os resultados da consulta. Quando o destinatário é cobrado pela materialização de dados, somente o destinatário pode ver os resultados da consulta.

Para obter mais detalhes sobre como o Delta Sharing atribui e incorre em custos, consulte Como incorrer e verificar os custos do Delta Sharing?.

Um destinatário do Delta Sharing pergunta quantos DBUs foram gastos ao consultar visualizações compartilhadas

Substitua instâncias de ... com as suas informações.

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 (...);

Um destinatário do Delta Sharing pergunta qual provedor realizou o maior número de consultas de uso de dados

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;

Um provedor de Delta Sharing pergunta quantos DBUs foram gastos na filtragem de visualizações para os destinatários abertos

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';

Um fornecedor de Delta Sharing pergunta qual recipiente aberto está incorrendo em mais custos

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;