Referência de tabela do sistema de história de materialização do OpenSharing
A tabela de histórico de dados materializados compartilhada representa as materializações de dados criadas a partir do compartilhamento de views, de views materializadas e de tabelas de transmissão usando o OpenSharing. Contém informações sobre a origem dos dados, o recurso seguro que está sendo materializado e quando a materialização foi criada.
Para obter mais informações sobre materializações compartilhadas, consulte Adicionar visualização a um compartilhamento e Ler visualização compartilhada.
Caminho da tabela : Essa tabela do sistema está localizada em system.sharing.materialization_history.
Habilite o esquema materialization_history
Um administrador do site account deve ativar o esquema materialization_history:
- No console account, clique em Previews no painel do lado esquerdo.
- Habilitar compartilhamento Materialização história System Table .
Esquema de tabela do sistema de histórico de dados materializados compartilhados
A tabela do sistema de história de dados materializados compartilhados usa o seguinte esquema:
Nome da coluna | Tipo | Descrição | Dados de exemplo | Anulável |
|---|---|---|---|---|
| string | O ID exclusivo de uma materialização de dados. |
| False |
| string | O ID do site Databricks account onde a materialização foi criada. | False | |
| string | O ID do site Databricks workspace faturado. |
| False |
| string | Nome do destinatário usando a materialização de dados. |
| True |
| string | Nome do provedor usando a materialização de dados. |
| True |
| string | Nome do compartilhamento usado para criar a materialização de dados. |
| False |
| string | Nome do esquema do ativo compartilhado. |
| False |
| string | Nome da tabela usada para criar a materialização de dados. |
| False |
| carimbo de data/hora | Data e hora de quando a materialização foi criada. |
| False |
Exemplos de consultas
Esta seção inclui os seguintes exemplos de consultas que o senhor pode usar para obter entendimento sobre a atribuição de faturamento:
- Um destinatário OpenSharing pergunta quantos DBUs foram gastos ao consultar exibições compartilhadas.
- Um destinatário do OpenSharing pergunta qual provedor consultou o maior volume de uso
- Um provedor OpenSharing pergunta quantos DBUs foram gastos na filtragem de views para destinatários abertos
- Um provedor de OpenSharing pergunta qual destinatário aberto está incorrendo no maior custo.
Quando o provedor é cobrado pela materialização de dados, somente ele pode ver os resultados da consulta. Quando o destinatário é cobrado pela materialização de dados, somente ele pode ver os resultados da consulta.
Para mais detalhes sobre como o OpenSharing atribui e incorre em custos, consulte Como eu incorro e verifico custos do OpenSharing?.
Um destinatário de OpenSharing pergunta quantos DBUs foram gastos consultando views compartilhadas
Substitua as 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 do OpenSharing pergunta qual provedor consultou a maior utilização
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 OpenSharing pergunta quantos DBUs foram gastos na filtragem de views 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 provedor de Compartilhamento Aberto 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;