Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Definice zobrazení metrik se řídí standardní syntaxí notace YAML. Tato stránka vysvětluje, jak definovat zobrazení metriky.
Další informace o specifikacích YAML najdete v dokumentaci ke specifikaci YAML 1.2.2 .
Přehled YAML
Definice YAML pro zobrazení metrik obsahuje následující pole nejvyšší úrovně:
-
version: Výchozí hodnota1.1je . Toto je verze specifikace zobrazení metriky. Viz protokol změn specifikace verze. -
source: Zdrojová data pro zobrazení metrik. Může se jednat o prostředek podobný tabulce nebo dotaz SQL. -
joins: Volitelné. Jsou podporována spojení hvězdicového schématu a snowflake schématu. -
filter: Volitelné. Logický výraz SQL, který se vztahuje na všechny dotazy; odpovídající klauzuliWHERE. -
comment: Volitelné. Popis zobrazení metriky -
dimensions: Pole definic dimenzí, včetně názvu a výrazu dimenze. -
measures: Pole sloupců agregačních výrazů.
Odkazy na názvy sloupců
Při odkazování na názvy sloupců, které obsahují mezery nebo speciální znaky ve výrazech YAML, uzavřete název sloupce do zpětných apostrofů, aby se mezera nebo znak eskapoval. Pokud výraz začíná zpětným apostrofem a používá se přímo jako hodnota YAML, uzavřete celý výraz do dvojitých uvozovek. Platné hodnoty YAML nemohou začínat znakem zpětného apostrofu.
Příklady formátování
V následujících příkladech se dozvíte, jak správně formátovat YAML v běžných scénářích.
Odkaz na název sloupce
Následující tabulka ukazuje, jak formátovat názvy sloupců podle znaků, které obsahují.
| Případ | Názvy zdrojových sloupců | Referenční výrazy | Poznámky |
|---|---|---|---|
| Žádné mezery | revenue |
expr: "revenue"expr: 'revenue'expr: revenue |
U názvu sloupce používejte dvojité uvozovky, jednoduché uvozovky nebo žádné uvozovky. |
| S mezerami | First Name |
expr: "`First Name`" |
Použijte zpětné uvozovky k úniku mezer. Uzavřete celý výraz do dvojitých uvozovek. |
| Název sloupce s mezerami ve výrazu SQL |
First Name a Last Name |
expr: CONCAT(`First Name`, , `Last Name`) |
Pokud výraz nezačíná zpětnými apostrofy, dvojité uvozovky nejsou nutné. |
| Do názvu zdrojového sloupce jsou zahrnuté uvozovky. | "name" |
expr: '`"name"`' |
Pomocí zpětných apostrofů unikněte dvojitým uvozovkám v názvu sloupce. Tento výraz uzavřete do jednoduchých uvozovek v definici YAML. |
Použití výrazů s dvojtečkami
| Případ | Expression | Poznámky |
|---|---|---|
| Výrazy s dvojtečkami |
expr: "CASE WHEN Zákaznická úroveň = 'Enterprise: Premium' THEN 1 ELSE 0 END" |
Umístěte celý výraz do dvojitých uvozovek pro správnou interpretaci |
Poznámka:
YAML interpretuje necitované dvojtečky jako oddělovače klíč-hodnota. Vždy používejte dvojité uvozovky kolem výrazů, které obsahují dvojtečky.
Odsazení více řádků
| Případ | Expression | Poznámky |
|---|---|---|
| Odsazení více řádků | expr: \| CASE WHEN revenue > 100 THEN 'High' ELSE 'Low' END |
Odsadit výraz pod prvním řádkem |
Poznámka:
| Pro víceřádkové výrazy použijte skalár bloku zaexpr:. Všechny řádky musí být odsazené aspoň dvě mezery za klíč expr, aby byly správně parsovány.
Definování dimenze
Následující příklad ukazuje, jak definovat dimenze:
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
Definování míry
Následující příklad ukazuje, jak definovat míry:
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')
Mapování CREATE VIEW názvů sloupců pomocí YAML
Když vytváříte zobrazení metriky s použitím CREATE VIEW s column_list, systém mapuje sloupce definované v YAML (míry a dimenze) na column_list podle pozice, nikoli podle názvu.
Toto se řídí standardním chováním SQL, jak je znázorněno v následujícím příkladu:
CREATE VIEW v (col1, col2) AS SELECT a, b FROM table;
V tomto příkladu a se mapují na col1a b mapují na col2, bez ohledu na jejich původní názvy.
Upgrade YAML na verzi 1.1
Aktualizace pohledu metrik na specifikaci YAML verze 1.1 vyžaduje opatrnost, jelikož komentáře se zpracovávají jinak než v předchozích verzích.
Typy komentářů
- Komentáře YAML (#): Vložené nebo jednořádkové komentáře napsané přímo v souboru YAML pomocí symbolu #.
- Komentáře k katalogu Unity: Komentáře uložené v katalogu Unity pro zobrazení metrik nebo jeho sloupce (dimenze a míry). Ty jsou oddělené od komentářů YAML.
Důležité informace o upgradu
Zvolte cestu upgradu, která odpovídá způsobu zpracování komentářů v zobrazení metriky. Následující možnosti popisují dostupné přístupy a poskytují příklady.
Možnost 1: Zachování komentářů YAML pomocí poznámkových bloků nebo editoru SQL
Pokud zobrazení metrik obsahuje komentáře YAML (#), které chcete zachovat, postupujte takto:
ALTER VIEW Použijte příkaz v poznámkovém bloku nebo editoru SQL.
Zkopírujte původní definici YAML do $$.. $$ section after AS. Změňte hodnotu verze na 1.1.
Uložte zobrazení metriky.
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)
$$
Výstraha
Při spuštění ALTER VIEW se odeberou komentáře katalogu Unity, pokud nejsou explicitně zahrnuty do comment polí definice YAML. Pokud chcete zachovat komentáře zobrazené v katalogu Unity, podívejte se na možnost 2.
Možnost 2: Zachování komentářů katalogu Unity
Poznámka:
Následující pokyny platí jenom při použití ALTER VIEW příkazu v poznámkovém bloku nebo editoru SQL. Pokud upgradujete zobrazení metrik na verzi 1.1 pomocí uživatelského rozhraní editoru YAML, komentáře katalogu Unity se zachovají automaticky.
Zkopírujte všechny komentáře katalogu Unity do příslušných
commentpolí v definici YAML. Změňte hodnotu verze na 1.1.Uložte zobrazení metriky.
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"
$$
Protokol změn specifikace verze
Verze 1.1 (vyžaduje Databricks Runtime 17.2 nebo novější)
-
Přidáno:
- Podpora sémantických funkcí metadat Viz Použití sémantických metadat v zobrazeních metrik.
- Podpora volitelného pole YAML
commentpro popis zobrazení metrik, dimenzí nebo měr
Verze 0.1 (vyžaduje Databricks Runtime 16.4 až 17.1)
- Počáteční verze specifikace YAML pro zobrazení metrik