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.
Platí pro:
Databricks SQL
Databricks Runtime 19.0 and above
Important
Tato funkce je v beta verzi. Správci pracovního prostoru můžou řídit přístup k této funkci ze stránky Previews . Viz Manage Azure Databricks preview.
Definuje logické proměnné, které klauzule PATTERN a MEASURESMATCH_RECOGNIZE odkazu a testování.
Syntax
DEFINE { rowPatternVar AS booleanExpr } [, ...]
Parameters
rowPatternVar
Identifikátor, který je v rámci
DEFINEklauzule jedinečný. Pokud znovu použijete název, Azure Databricks vyvolá MATCH_RECOGNIZE_DUPLICATE_PATTERN_VARIABLE.booleanExpr
Logický výraz, který neobsahuje poddotaz, agregační funkci nebo funkci okna, a neodkazuje na jiný alias sloupce nebo sloupce, než je ten,
table_referencekterý předcházíMATCH_RECOGNIZEklauzuli.Odkazy na sloupce můžou používat následující funkce specifické pro klauzuli
DEFINE:Odkaz na sloupec může být kvalifikovaný názvem proměnné vzoru řádku (
rowPatternVar.colName). Tím se vyberou hodnoty z řádků namapovaných na danou proměnnou v aktuální shodě. Jedná se napříkladLAST(down.tstamp)o časové razítko posledního řádku klasifikovaného jakodown. Nekvalifikované odkazy na sloupce odkazují na aktuální řádek ve shodě bez výběru konkrétní proměnné vzoru.Pokud se proměnná vzoru řádku ještě neshoduje, vyhodnotí se kvalifikovaný odkaz na
NULLsloupec .Pokud
rowPatternVarpojmenuje proměnnou vzoru, která se aktuálně testuje pro řádek,rowPatternVar.colNameodkazuje na hodnotu sloupce daného řádku a je ekvivalentní nekvalifikovanémucolName. KdyžrowPatternVarpojmenuje jinou proměnnou vzoru,rowPatternVar.colNamepřečte hodnoty z řádků, které jsou namapované na danou proměnnou.Nedeterministické funkce, jako
rand()jsou auuid()nejsou povoleny vDEFINEpredikátech, protože simulace NFA může vyhodnotit predikáty vícekrát na řádek. Pokud ji použijete, Azure Databricks vyvolá MATCH_RECOGNIZE_NONDETERMINISTIC_DEFINE.Obecné agregační funkce jiné než
FIRST()aLAST()nejsou podporovány vDEFINE. Pokud ji použijete, Azure Databricks vyvolá MATCH_RECOGNIZE_DEFINE_UNSUPPORTED_AGGREGATE.
Běžné chybové podmínky
- MATCH_RECOGNIZE_DEFINE_UNSUPPORTED_AGGREGATE
- MATCH_RECOGNIZE_DUPLICATE_PATTERN_VARIABLE
- MATCH_RECOGNIZE_NONDETERMINISTIC_DEFINE