Compartilhar via


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

A tabela de histórico de dados materializados compartilhados representa as materializações de dados criadas a partir do compartilhamento de visualizações, visualizações materializadas e tabelas de streaming com o Delta Sharing. Contém informações sobre a origem dos dados, o objeto de proteção sendo materializado e quando a materialização foi criada.

Para obter mais informações sobre materializações compartilhadas, consulte Adicionar exibições a um compartilhamento e ler exibições compartilhadas.

Localização da tabela: Esta tabela do sistema está localizada em system.sharing.materialization_history.

Habilitar o materialization_history esquema

Um administrador de conta deve habilitar o materialization_history esquema:

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

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

A tabela do sistema de histórico de dados materializado compartilhado usa o seguinte esquema:

Nome da Coluna Tipo Descrição Dados de exemplo Anulável
sharing_materialization_id cadeia ID exclusivo de uma materialização de dados. da38803f-2a62-4e27-bdb9-29b801c6dd84 Falso
account_id cadeia A ID da conta do Azure Databricks em que a materialização foi criada. Falso
workspace_id cadeia ID do workspace do Azure Databricks cobrado. 6051921418418893 Falso
recipient_name cadeia Nome do destinatário usando a materialização de dados. e2-dogfood Verdade
provider_name cadeia Nome do provedor que usa a materialização de dados. aws:us-west-2:19a85dee-54bc-43a2-87ab-023d0ec16013 Verdade
share_name cadeia Nome do compartilhamento usado para criar a materialização de dados. my_share Falso
schema_name cadeia Nome do esquema do ativo compartilhado. my_schema Falso
table_name cadeia Nome da tabela usada para criar a materialização de dados. stocks Falso
created_at carimbo de data/hora Carimbo de data/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 inclui atributos e incorre em custos, consulte Como incorrer e verificar os custos do Delta Sharing?.

Um destinatário do Delta Sharing pergunta quantas DBUs foram gastas consultando visões compartilhadas

Substitua instâncias de ... por 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 de compartilhamento Delta pergunta qual provedor teve mais consultas de uso

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 visões para 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 do Delta Sharing pergunta qual destinatário aberto está gerando o maior custo

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;