Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:
Databricks
Databricks Runtime 19.0 och senare
Important
Den här funktionen finns i Beta. Arbetsyteadministratörer kan styra åtkomsten till den här funktionen från sidan Förhandsversioner . Se Hantera förhandsversioner av Azure Databricks.
Definierar de booleska variabler som PATTERN- och MEASURES-satserna i MATCH_RECOGNIZE referens och test.
Syntax
DEFINE { rowPatternVar AS booleanExpr } [, ...]
Parameters
rowPatternVar
En identifierare som är unik i
DEFINE-satsen. Om du återanvänder ett namn skapar Azure Databricks MATCH_RECOGNIZE_DUPLICATE_PATTERN_VARIABLE.booleanExpr
Ett booleskt uttryck som inte innehåller en underfråga, aggregeringsfunktion eller fönsterfunktion och som inte refererar till ett annat kolumn- eller kolumnalias än de som
table_referenceföregårMATCH_RECOGNIZEsatsen.Kolumnreferenser kan använda följande funktioner som är specifika för
DEFINE-satsen:En kolumnreferens kan kvalificeras med ett variabelnamn för radmönster (
rowPatternVar.colName). Detta väljer värden från rader som mappats till variabeln i den aktuella matchningen. Till exempelLAST(down.tstamp)är tidsstämpeln för den sista raden klassificerad somdown. Okvalificerade kolumnreferenser refererar till den aktuella raden i matchningen utan att välja en specifik mönstervariabel.Om en radmönstervariabel ännu inte matchas utvärderas den kvalificerade kolumnreferensen till
NULL.När
rowPatternVarnamnger mönstervariabeln som för närvarande testas för raden refererarrowPatternVar.colNametill radens kolumnvärde och motsvarar en okvalificeradcolName. NärrowPatternVardu namnger en annan mönstervariabelrowPatternVar.colNameläser värden från rader som redan har mappats till variabeln.Nondeterministiska funktioner som
rand()ochuuid()tillåts inte iDEFINEpredikat eftersom NFA-simulering kan utvärdera predikat flera gånger per rad. Om du använder en Azure Databricks genererar MATCH_RECOGNIZE_NONDETERMINISTIC_DEFINE.Allmänna aggregeringsfunktioner förutom
FIRST()ochLAST()stöds inte iDEFINE. Om du använder en Azure Databricks genererar MATCH_RECOGNIZE_DEFINE_UNSUPPORTED_AGGREGATE.
Vanliga felvillkor
- MATCH_RECOGNIZE_DEFINE_UNSUPPORTED_AGGREGATE
- MATCH_RECOGNIZE_DUPLICATE_PATTERN_VARIABLE
- MATCH_RECOGNIZE_NONDETERMINISTIC_DEFINE