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.
As definições de visualização métrica seguem a sintaxe de notação YAML padrão. Esta página explica como definir uma visualização métrica.
Consulte a documentação da Especificação YAML 1.2.2 para saber mais sobre as especificações YAML.
Visão geral do YAML
A definição de YAML para uma exibição métrica inclui os seguintes campos de nível superior:
-
version: O padrão é1.1. Esta é a versão da especificação da visualização métrica. Consulte Changelog da especificação de versão. -
source: Os dados de origem para a visualização métrica. Pode ser um ativo semelhante a uma tabela ou uma consulta SQL. -
joins: Opcional. O esquema de estrela e as junções de esquema de floco de neve são suportados. -
filter: Opcional. Uma expressão booleana SQL que se aplica a todas as consultas; equivalente àWHEREcláusula. -
comment: Opcional. Descrição da visualização métrica. -
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.
Referências de nomes de colunas
Ao fazer referência a nomes de colunas que contenham espaços ou caracteres especiais em expressões YAML, coloque o nome da coluna em backticks para escapar do espaço ou caractere. Se a expressão começar com um backtick e for usada 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 backtick.
Exemplos de formatação
Use os exemplos a seguir para aprender a formatar o YAML corretamente em cenários comuns.
Fazer referência a um nome de coluna
A tabela a seguir mostra como formatar nomes de colunas dependendo dos caracteres que elas contêm.
| Incidente | Nome(s) da(s) coluna(s) de origem | Expressão(ões) de referência | Observações |
|---|---|---|---|
| Sem espaços | revenue |
expr: "revenue"expr: 'revenue'expr: revenue |
Use aspas duplas, aspas simples ou sem aspas ao redor do nome da coluna. |
| Com espaços | First Name |
expr: "`First Name`" |
Use backticks para escapar de espaços. Coloque toda a expressão entre aspas duplas. |
| Nome da coluna com espaços em uma expressão SQL |
First Name e Last Name |
expr: CONCAT(`First Name`, , `Last Name`) |
Se a expressão não começar com backticks, aspas duplas não são necessárias. |
| As citações são incluídas no nome da coluna de origem | "name" |
expr: '`"name"`' |
Use backticks para escapar das aspas duplas no nome da coluna. Coloque essa expressão entre aspas simples na definição YAML. |
Usar expressões com dois pontos
| Incidente | Expression | Observações |
|---|---|---|
| Expressões com dois pontos |
expr: "CASE WHEN Nível de cliente = 'Enterprise: Premium' THEN 1 ELSE 0 END" |
Envolva toda a expressão entre aspas duplas para uma interpretação correta |
Observação
YAML interpreta dois pontos sem aspas como separadores chave-valor. Use sempre aspas duplas em torno de expressões que incluam dois pontos.
Recuo de várias linhas
| Incidente | Expression | Observações |
|---|---|---|
| Recuo de várias linhas | expr: \| CASE WHEN revenue > 100 THEN 'High' ELSE 'Low' END |
Indentar a expressão na alinhamento da primeira linha |
Observação
Use o | bloco escalar depois do expr: para expressões de várias linhas. Todas as linhas devem ser recuadas pelo menos dois espaços além da chave expr para a análise correta.
Definir uma 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
Definir uma medida
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')
Mapeação de nomes de colunas em CREATE VIEW com YAML
Quando se cria uma vista métrica usando CREATE VIEW com um column_list, o sistema mapeia colunas definidas em YAML (medidas e dimensões) por posição, não pelo 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 col1e b mapeia para col2, independentemente de seus nomes originais.
Atualize o seu YAML para 1.1
A atualização de uma visualização métrica para a especificação YAML versão 1.1 requer cuidado, porque os comentários são tratados de forma diferente das versões anteriores.
Tipos de comentários
- Comentários YAML (#): Comentários embutidos ou de linha única escritos diretamente no arquivo YAML usando o símbolo #.
- Comentários do Catálogo Unity: Comentários armazenados no Catálogo Unity para a visualização métrica ou suas colunas (dimensões e medidas). Estes são separados dos comentários YAML.
Considerações sobre a atualização
Escolha o caminho de atualização que corresponda à forma como você deseja lidar com os comentários em sua visualização métrica. As opções a seguir descrevem as abordagens disponíveis e fornecem exemplos.
Opção 1: Preservar comentários YAML usando blocos de anotações ou o editor SQL
Se sua exibição de métrica contiver comentários YAML (#) que você deseja manter, use as seguintes etapas:
Use o ALTER VIEW comando em um bloco de anotações ou editor SQL.
Copie a definição original do YAML para $$..$$ depois de AS. Altere o valor da versão para 1.1.
Salve a visualização métrica.
ALTER VIEW metric_view_name AS
$$
# Inline comments are preserved in the notebook
version: 1.1
source: samples.tpch.orders
dimensions:
- name: order_date # Inline comments are preserved in the notebook
expr: o_orderdate
measures:
# Commented out definition is preserved
# - name: total_orders
# expr: COUNT(o_orderid)
- name: total_revenue
expr: SUM(o_totalprice)
$$
Advertência
A execução ALTER VIEW remove os comentários do Catálogo Unity, a menos que eles estejam explicitamente incluídos nos comment campos da definição YAML. Se você quiser preservar os comentários mostrados no Catálogo Unity, consulte a opção 2.
Opção 2: Preservar comentários do Catálogo Unity
Observação
As diretrizes a seguir se aplicam somente ao usar o ALTER VIEW comando em um bloco de anotações ou editor SQL. Se você atualizar sua visualização métrica para a versão 1.1 usando a interface do usuário do editor YAML, seus comentários do Catálogo Unity serão preservados automaticamente.
Copie todos os comentários do Catálogo Unity para os campos apropriados
commentna sua definição de YAML. Altere o valor da versão para 1.1.Salve a visualização métrica.
ALTER VIEW metric_view_name AS
$$
version: 1.1
source: samples.tpch.orders
comment: "Metric view of order (Updated comment)"
dimensions:
- name: order_date
expr: o_orderdate
comment: "Date of order - Copied from Unity Catalog"
measures:
- name: total_revenue
expr: SUM(o_totalprice)
comment: "Total revenue"
$$
Registo de alterações da especificação da versão
Versão 1.1 (requer Databricks Runtime 17.2 ou superior)
-
Adicionado:
- Suporte para recursos de metadados semânticos. Consulte Usar metadados semânticos em exibições métricas.
- Suporte para campo YAML
commentopcional para descrever a visualização métrica, dimensões ou medidas.
Versão 0.1 (requer Databricks Runtime 16.4 a 17.1)
- Liberação inicial da especificação YAML da visualização métrica.