métricas view Referência YAML
Visualização
Esse recurso está em Public Preview.
Esta página descreve cada componente do YAML usado para definir uma métrica view.
Visão geral do YAML
A definição YAML para uma métrica view inclui seis campos de nível superior:
version
: padrão para0.1
. Essa é a versão da especificação métricas view.source
: Os dados de origem das métricas view. Isso pode ser um ativo semelhante a uma tabela ou uma consulta SQL.joins
: Opcional. A junção de esquemas em estrela e em floco de neve é suportada.filter
: Opcional. Uma expressão booleana SQL que se aplica a todas as consultas; equivalente à cláusulaWHERE
.dimensions
: Uma matriz de definições de dimensão, incluindo o nome e a expressão da dimensão.measures
: Uma matriz de colunas de expressão agregada.
Sintaxe e formatação YAML
métricas view definições seguem a sintaxe de notação YAML padrão. Consulte a documentação do yaml.org para saber mais sobre as especificações do YAML.
Referências ao nome da coluna
Ao fazer referência a nomes de colunas que contêm espaços ou caracteres especiais em expressões YAML, coloque o nome da coluna em acentos invertidos para escapar do espaço ou do caractere. Se a expressão começar com um acento grave e for utilizada diretamente como um valor YAML, envolva toda a expressão entre aspas duplas. Os valores YAML válidos não podem começar com um acento grave.
Exemplos de formatação
Use os exemplos a seguir para aprender a formatar o YAML corretamente em cenários comuns.
Faça referência ao nome de uma coluna
A tabela a seguir mostra como formatar nomes de colunas dependendo dos caracteres que elas contêm.
Caso | Nome (s) da coluna de origem | Expressão (s) de referência | Notas |
---|---|---|---|
Sem espaços |
|
| Use aspas duplas, aspas simples ou nenhuma aspa ao redor do nome da coluna. |
Com espaços |
|
| Use acentos nas costas para escapar dos espaços. Coloque a expressão inteira entre aspas duplas. |
Nome da coluna com espaços em uma expressão SQL |
|
| Se a expressão não começar com crase, não é necessário utilizar aspas duplas. |
As cotações estão incluídas no nome da coluna de origem |
|
| Use acentos invertidos para escapar das aspas duplas no nome da coluna. Coloque essa expressão entre aspas simples na definição YAML. |
Use expressões com dois pontos
Caso | Expressão | Notas |
---|---|---|
Expressões com dois pontos |
| Coloque a expressão inteira entre aspas duplas para uma interpretação correta |
O YAML interpreta dois pontos sem aspas como separadores de valor key. Sempre use aspas duplas em expressões que incluam dois pontos.
Indentação de várias linhas
Caso | Expressão | Notas |
---|---|---|
Indentação de várias linhas |
Use o escalar de bloco >
após expr:
para expressões de várias linhas. Todas as linhas devem ser recuadas pelo menos dois espaços além do expr
key para uma análise correta.
Fonte
O senhor pode usar um ativo do tipo tabela ou uma consulta SQL como fonte para suas métricas view. Para usar um ativo do tipo tabela, o senhor deve ter pelo menos SELECT
privilégios no ativo.
Use uma tabela como fonte
Para usar uma tabela como fonte, inclua o nome totalmente qualificado da tabela, como no exemplo a seguir.
source: samples.tpch.orders
Usar uma consulta SQL como fonte
Para usar uma consulta SQL, escreva o texto da consulta diretamente no YAML.
source: SELECT * FROM samples.tpch.orders o
LEFT JOIN samples.tpch.customer c
ON o.o_custkey = c.c_custkey
Ao usar uma consulta SQL como fonte com uma cláusula JOIN
, o Databricks recomenda definir restrições primárias e estrangeiras key nas tabelas subjacentes e usar a opção RELY
para otimizar o desempenho no momento da consulta, se aplicável. Para obter mais informações sobre o uso de restrições primárias e estrangeiras key, consulte Declare primary key and foreign key relationships e Query optimization using primary key constraints.
Use o site métricas view como fonte
O senhor também pode usar uma métrica existente view como fonte para uma nova métrica view:
version: 0.1
source: views.examples.source_metric_view
dimensions:
# Dimension referencing dimension from source_metric_view
- name: Order date
expr: order_date_dim
measures:
# Measure referencing dimension from source_metric_view
- name: Latest order month
expr: MAX(order_date_dim_month)
# Measure referencing measure from source_metric_view
- name: Latest order year
expr: DATE_TRUNC('year', MEASURE(max_order_date_measure))
Ao usar uma métrica view como fonte:
-
As dimensões nas novas métricas view podem fazer referência a qualquer dimensão nas métricas de origem view.
-
As medidas nas novas métricas view podem fazer referência a qualquer dimensão ou medida nas métricas de origem view.
Todas as outras regras de composição se aplicam. Consulte Composabilidade.
Filtro
Um filtro na definição YAML de uma métrica view se aplica a todas as consultas que fazem referência a ela. Ela deve ser escrita como uma expressão booleana SQL e é equivalente ao uso de uma cláusula WHERE
em uma consulta SQL.
unir-se
viewAs funções JOIN permitem definir relações entre uma fonte de métricas e outras fontes, como tabelas, visualizações ou outras visualizações de métricas. É possível utilizar a junção para modelar relações da tabela de fatos para tabelas de dimensões (esquema em estrela) e para percorrer dimensões e subdimensões, permitindo junções de múltiplos saltos entre tabelas de dimensões normalizadas (esquema em floco de neve). Se o usuário join para outra métricas view, apenas as dimensões estarão disponíveis na métricas view.
Snowflake A junção é suportada apenas ao utilizar Databricks Runtime compute 17.1 e versões superiores. Consulte Utilizar a junção na visualização de métricas.
Dimensões
As dimensões são usadas nas cláusulas SELECT
, WHERE
e GROUP BY
no momento da consulta. Cada expressão deve retornar um valor escalar. Cada dimensão consiste em dois componentes:
-
name
: O alias da coluna. -
expr
: Uma expressão SQL nos dados de origem que define a dimensão.
O exemplo a seguir demonstra como definir dimensões:
dimensions:
# Column name
- name: Order date
expr: o_orderdate
# SQL expression
- name: Order month
expr: DATE_TRUNC('MONTH', `Order date`)
# Referring to a column with a space in the name
- name: Month of order
expr: `Order month`
# Multi-line expression
- name: Order status
expr: CASE
WHEN o_orderstatus = 'O' THEN 'Open'
WHEN o_orderstatus = 'P' THEN 'Processing'
WHEN o_orderstatus = 'F' THEN 'Fulfilled'
END
Medidas
As medidas são uma matriz de expressões agregadas que definem resultados agregados sem um nível predeterminado de agregação. Elas devem ser expressas como funções agregadas. Para referenciar uma medida em uma consulta, você deve usar a função MEASURE
. Cada medida consiste nos seguintes componentes:
-
name
: O alias da medida. -
expr
: Uma expressão SQL agregada que pode incluir funções SQL agregadas.
Consulte Funções agregadas para obter uma lista de funções agregadas.
Veja a função agregadameasure
.
O exemplo a seguir demonstra como definir medidas:
measures:
# Basic aggregation
- name: Total revenue
expr: SUM(o_totalprice)
# Basic aggregation with ratio
- name: Total revenue per customer
expr: SUM(`Total revenue`) / COUNT(DISTINCT o_custkey)
# Measure-level filter
- name: Total revenue for open orders
expr: COUNT(o_totalprice) FILTER (WHERE o_orderstatus='O')
# Measure-level filter with multiple aggregate functions
# filter needs to be specified for each aggregate function in the expression
- name: Total revenue per customer for open orders
expr: SUM(o_totalprice) FILTER (WHERE o_orderstatus='O')/COUNT(DISTINCT o_custkey) FILTER (WHERE o_orderstatus='O')
Medidas de janela
Experimental
Esse recurso é experimental.
As medidas de janela permitem que o senhor defina medidas com agregações de janela, cumulativas ou semiaditivas em sua visualização métricas. Esses tipos de medidas permitem cálculos mais complexos, como médias móveis, mudanças de período a período e totais correntes. Consulte Usar medidas de janela na visualização métricas para obter exemplos que demonstram como usar medidas de janela na visualização métricas.
Composibilidade
As visualizações métricas são compostas, o que permite que o senhor crie uma lógica complexa fazendo referência a elementos definidos anteriormente.
Em uma definição métrica view:
- As dimensões podem referenciar dimensões previamente definidas no YAML.
- As medidas podem referenciar todas as dimensões.
- As medidas podem referenciar medidas definidas anteriormente usando a função
MEASURE()
.
O exemplo a seguir mostra como as dimensões e medidas podem ser compostas:
dimensions:
# Dimension referencing a source column
- name: Order month
expr: DATE_TRUNC('month', o_orderdate)
# Dimension referencing a previously defined dimension
- name: Previous order month
expr: ADD_MONTHS(`Order Month`, -1)
measures:
# Measure referencing a dimension
- name: Earliest order month
expr: MIN(`Order month`)
# Measure referencing a source column
- name: Revenue
expr: SUM(sales_amount)
# Measure referencing a source column
- name: Costs
expr: SUM(item_cost)
# Measure referencing previously defined measures
- name: Profit
expr: MEASURE(Revenue) - MEASURE(Costs)
Mapeamento do nome da coluna em CREATE VIEW
com YAML
Ao criar uma métrica view utilizando CREATE VIEW
com um column_list
, o sistema mapeia as colunas definidas em YAML (medidas e dimensões) para o column_list
por posição, e não por nome.
Isso segue o comportamento padrão do SQL, conforme mostrado no exemplo a seguir:
CREATE VIEW v (col1, col2) AS SELECT a, b FROM table;
Neste exemplo, a
mapeia para col1
e b
mapeia para col2
, independentemente de seus nomes originais.