Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Esta página explica como criar e gerenciar exibições métricas usando SQL.
Pré-requisitos
- Você deve ter
SELECTprivilégios nos objetos de dados de origem. - Você deve ter o
CREATE TABLEprivilégio e oUSE SCHEMAprivilégio no esquema em que deseja criar a exibição métrica. - Você também deve ter o
USE CATALOGprivilégio no catálogo pai do esquema. - PODE USAR permissões em um SQL warehouse ou outro recurso de computação executando o Databricks Runtime 17.2 ou superior.
Um administrador de metastore ou o proprietário do catálogo pode conceder todos esses privilégios. Um proprietário ou usuário do esquema com o privilégio MANAGE pode conceder-lhe privilégios de USE SCHEMA e CREATE TABLE no esquema.
Criar uma vista métrica
Use CREATE VIEW com a WITH METRICS cláusula para criar uma exibição métrica. A visualização de métricas deve ser definida com a especificação YAML válida no corpo do texto. Os dados de origem de uma exibição métrica podem ser uma tabela, uma exibição ou uma consulta SQL.
Os dados de origem para a vista métrica seguinte são a samples.tpch.orders tabela disponível no catálogo de exemplos para a maioria das implementações do Azure Databricks. A DDL SQL a seguir cria uma exibição de métrica nomeada orders_metric_view no catálogo e esquema atuais. Para especificar um catálogo e esquema diferentes, use o namespace de três níveis do Unity Catalog.
Você pode adicionar comentários no nível da tabela e no nível da coluna à definição da exibição métrica.
CREATE OR REPLACE VIEW orders_metric_view
WITH METRICS
LANGUAGE YAML
AS $$
version: 1.1
comment: "Orders KPIs for sales and financial analysis"
source: samples.tpch.orders
filter: o_orderdate > '1990-01-01'
dimensions:
- name: Order Month
expr: DATE_TRUNC('MONTH', o_orderdate)
- name: Order Status
expr: CASE
WHEN o_orderstatus = 'O' then 'Open'
WHEN o_orderstatus = 'P' then 'Processing'
WHEN o_orderstatus = 'F' then 'Fulfilled'
END
- name: Order Priority
expr: SPLIT(o_orderpriority, '-')[1]
measures:
- name: Order Count
expr: COUNT(1)
- name: Total Revenue
expr: SUM(o_totalprice)
- name: Total Revenue per Customer
expr: SUM(o_totalprice) / COUNT(DISTINCT o_custkey)
- name: Total Revenue for Open Orders
expr: SUM(o_totalprice) FILTER (WHERE o_orderstatus='O')
$$
Alterar uma vista métrica
Para fazer alterações na definição associada a uma exibição métrica, use ALTER VIEW. O seguinte exemplo adiciona comentários a dimensões e medidas na vista de métricas orders_metric_view.
ALTER VIEW orders_metric_view
AS $$
version: 1.1
comment: "Orders KPIs for sales and financial analysis"
source: samples.tpch.orders
filter: o_orderdate > '1990-01-01'
dimensions:
- name: Order Month
expr: DATE_TRUNC('MONTH', o_orderdate)
comment: "Month of order"
- name: Order Status
expr: CASE
WHEN o_orderstatus = 'O' then 'Open'
WHEN o_orderstatus = 'P' then 'Processing'
WHEN o_orderstatus = 'F' then 'Fulfilled'
END
comment: "Status of order: open, processing, or fulfilled"
- name: Order Priority
expr: SPLIT(o_orderpriority, '-')[1]
comment: "Numeric priority 1 through 5; 1 is highest"
measures:
- name: Order Count
expr: COUNT(1)
- name: Total Revenue
expr: SUM(o_totalprice)
comment: "Sum of total price"
- name: Total Revenue per Customer
expr: SUM(o_totalprice) / COUNT(DISTINCT o_custkey)
comment: "Sum of total price by customer"
- name: Total Revenue for Open Orders
expr: SUM(o_totalprice) FILTER (WHERE o_orderstatus='O')
comment: "Potential revenue from open orders"
$$
Conceder privilégios em uma exibição de métrica
Uma exibição métrica é um objeto protegível do Unity Catalog e segue o mesmo modelo de permissão que outras exibições. Os privilégios são hierárquicos, portanto, os privilégios em um metastore, catálogo ou esquema são transferidos em cascata para os objetos contidos nele. O exemplo a seguir concede privilégios mínimos necessários para que os usuários do data_consumers grupo consultem uma exibição métrica.
GRANT SELECT ON orders_metric_view to `data-consumers`;
Para saber mais sobre privilégios no Catálogo Unity, consulte Gerenciar privilégios no Catálogo Unity. Para saber mais sobre como criar e gerenciar grupos, consulte Grupos.
Obter definição de visualização métrica
Use DESCRIBE TABLE EXTENDED com o parâmetro opcional AS JSON para exibir a definição de uma exibição métrica. O AS JSON parâmetro é opcional. Omiti-lo fornece uma saída que é melhor para leitores humanos, enquanto incluí-lo é melhor para os consumidores de máquinas. O exemplo a seguir retorna uma cadeia de caracteres JSON que descreve a exibição métrica e seus componentes.
DESCRIBE TABLE EXTENDED orders_metric_view AS JSON
Eliminar uma visualização métrica
Use a sintaxe DROP VIEW para eliminar uma vista métrica.
DROP VIEW orders_metric_view;
Próximos passos
Agora que você criou uma exibição de métrica usando SQL, explore estes tópicos relacionados:
Consultar e consumir visualizações métricas
- Consultar uma visualização de métricas.
- Use visualizações métricas com painéis de IA/BI.
- Use visualizações métricas com o AI/BI Genie.
- Defina alertas em visualizações métricas.
Recursos avançados de visualização de métricas
- Use metadados semânticos em exibições métricas.
- Utilize junções em visões métricas.
- Use medidas de janela em visões métricas.
- Referência de sintaxe YAML.
Métodos alternativos de criação
- Crie uma exibição de métrica usando a interface do usuário do Catalog Explorer.
- CREATE VIEW.
- ALTER VIEW.
- DESCRIBE TABLE.