Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime 19.0 and above
Important
Dieses Feature befindet sich in der Betaversion. Arbeitsbereichsadministratoren können den Zugriff auf dieses Feature über die Vorschauseite steuern. Siehe Manage Azure Databricks Previews.
Definiert die booleschen Variablen, die die PATTERN- und MEASURES-Klauseln von MATCH_RECOGNIZE Verweis und Test aufweisen.
Syntax
DEFINE { rowPatternVar AS booleanExpr } [, ...]
Parameters
rowPatternVar
Ein Bezeichner, der innerhalb der
DEFINEKlausel eindeutig ist. Wenn Sie einen Namen wiederverwenden, löst Azure Databricks MATCH_RECOGNIZE_DUPLICATE_PATTERN_VARIABLE aus.booleanExpr
Ein boolescher Ausdruck, der keine Unterabfrage, Aggregatfunktion oder Fensterfunktion enthält, und verweist nicht auf einen anderen Spalten- oder Spaltenalias als auf diejenigen, die
table_referencederMATCH_RECOGNIZEKlausel vorangestellt sind.Spaltenverweise können die folgenden für die
DEFINEKlausel spezifischen Funktionen verwenden:Ein Spaltenverweis kann durch einen Zeilenmustervariablennamen (
rowPatternVar.colName) qualifiziert werden. Dadurch werden Werte aus Zeilen ausgewählt, die dieser Variablen in der aktuellen Übereinstimmung zugeordnet sind. Ist z. BLAST(down.tstamp). der Zeitstempel der letzten Zeile, die alsdown. Nicht qualifizierte Spaltenverweise verweisen auf die aktuelle Zeile in der Übereinstimmung, ohne eine bestimmte Mustervariable auszuwählen.Wenn eine Zeilenmustervariable noch nicht übereinstimmt, wird der qualifizierte Spaltenverweis ausgewertet.
NULLWenn
rowPatternVardie Mustervariable, die derzeit für die Zeile getestet wird, benannt wird,rowPatternVar.colNamebezieht sich auf den Spaltenwert dieser Zeile und entspricht einem nicht qualifiziertencolNameWert. WennrowPatternVareine andere Mustervariable benannt wird, werden Werte aus Zeilen gelesen,rowPatternVar.colNamedie dieser Variablen bereits zugeordnet sind.Nicht deterministische Funktionen wie
rand()z. B. unduuid()sind inDEFINEPrädikaten nicht zulässig, da NFA-Simulation Prädikate mehrmals pro Zeile auswerten kann. Wenn Sie einen verwenden, löst Azure Databricks MATCH_RECOGNIZE_NONDETERMINISTIC_DEFINE aus.Allgemeine Aggregatfunktionen außer
FIRST()undLAST()werden nicht unterstützt inDEFINE. Wenn Sie einen verwenden, löst Azure Databricks MATCH_RECOGNIZE_DEFINE_UNSUPPORTED_AGGREGATE aus.
Häufige Fehlerbedingungen
- MATCH_RECOGNIZE_DEFINIERE_NICHT_UNTERSTÜTZTES_AGGREGAT
- MATCH_RECOGNIZE_DUPLICATE_PATTERN_VARIABLE
- MATCH_RECOGNIZE_NONDETERMINISTIC_DEFINE