Use SQL para criar e gerenciar métricas de visualização
Esta página explica como criar e gerenciar uma visualização de métricas usando SQL.
Pré-requisitos
- Você deve ter privilégios
SELECTnos objetos de dados de origem. - Você deve ter o privilégio
CREATE TABLEe o privilégioUSE SCHEMAno esquema onde deseja criar a view de métricas. - Você também deve ter o privilégio
USE CATALOGno catálogo pai do esquema. - Permissões CAN USE em um SQL warehouse ou outro recurso compute executando Databricks Runtime 17.2 ou superior.
Um administrador do metastore ou o proprietário do catálogo pode conceder a você todos esses privilégios. Um proprietário ou usuário do esquema com o privilégio MANAGE pode conceder a você privilégios USE SCHEMA e CREATE TABLE no esquema.
Criar uma viewde métricas
Use CREATE VIEW com a cláusula WITH METRICS para criar uma view de métricas. A view de métricas deve ser definida com uma especificação YAML válida no corpo. Os dados de origem para uma view de métricas podem ser uma tabela, view ou uma consulta SQL .
Os dados de origem para a seguinte view de métricas são a tabela samples.tpch.orders disponível no catálogo de amostras para a maioria das implantações Databricks . O seguinte SQL DDL cria uma view de métricas chamada 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 Unity Catalog .
Você pode adicionar comentários em nível de tabela e de coluna à definição view de métricas.
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 viewde métricas
Para fazer alterações na definição associada a uma view de métricas, use ALTER VIEW. O exemplo a seguir adiciona comentários a dimensões e medidas na view 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 viewde métricas
Uma view de métricas é um objeto protegível 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 usuários no grupo data_consumers consultem uma view de métricas.
GRANT SELECT ON orders_metric_view to `data-consumers`;
Para saber mais sobre privilégios no Unity Catalog, consulte gerenciar privilégios no Unity Catalog. Para saber mais sobre como criar e gerenciar grupos, consulte Grupos.
Obter definição view de métricas
Use DESCRIBE TABLE EXTENDED com o parâmetro opcional AS JSON para view a definição de uma view de métricas. O parâmetro AS JSON é opcional. Omiti-lo fornece uma saída melhor para leitores humanos, enquanto incluí-lo é melhor para consumidores de máquinas. O exemplo a seguir retorna uma string JSON que descreve a view de métricas e seus componentes.
DESCRIBE TABLE EXTENDED orders_metric_view AS JSON
Solte uma viewde métricas
Use a sintaxe DROP TABLE para excluir uma view de métricas.
DROP TABLE orders_metric_view;
Próximos passos
Agora que você criou uma view de métricas usando SQL, explore estes tópicos relacionados:
Consultar e consumir visualização de métricas
- Consultar uma viewde métricas.
- Utilize a visualização de métricas com dashboards AI/BI.
- Use a visualização de métricas com AI/BI Genie.
- Definir alerta na visualização de métricas.
Medições avançadas view recurso
- Use metadados semânticos na visualização de métricas.
- Use join na visualização métricas.
- Use medidas de janela na visualização de métricas.
- Referência de sintaxe YAML.
Métodos alternativos de criação
- Crie uma view de métricas usando a interface do usuário do Catalog Explorer.
- CREATE VIEW.
- ALTER VIEW.
- DESCRIBE TABLE.