Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:
controllo SQL di Databricks
Databricks Runtime 19.0 e versioni successive
Importante
Questa funzionalità è in versione beta. Gli amministratori dell'area di lavoro possono controllare l'accesso a questa funzionalità dalla pagina Anteprime . Vedere Gestire le anteprime di Azure Databricks.
Definisce le variabili booleane che le clausole PATTERN e MEASURES di MATCH_RECOGNIZE riferimento e test.
Syntax
DEFINE { rowPatternVar AS booleanExpr } [, ...]
Parameters
rowPatternVar
Identificatore univoco all'interno della
DEFINEclausola . Se si riutilizza un nome, Azure Databricks genera MATCH_RECOGNIZE_DUPLICATE_PATTERN_VARIABLE.booleanExpr
Espressione booleana che non contiene una sottoquery, una funzione di aggregazione o una funzione window e non fa riferimento a una colonna o a un alias di colonna diverso da quelli di
table_referenceche precede laMATCH_RECOGNIZEclausola .I riferimenti a colonne possono usare le funzioni seguenti specifiche della
DEFINEclausola :Un riferimento a una colonna può essere qualificato da un nome di variabile del criterio di riga (
rowPatternVar.colName). In questo modo vengono selezionati i valori delle righe mappate a tale variabile nella corrispondenza corrente. Ad esempio,LAST(down.tstamp)è il timestamp dell'ultima riga classificata comedown. I riferimenti a colonne non qualificate fanno riferimento alla riga corrente nella corrispondenza senza selezionare una variabile di pattern specifica.Se una variabile del criterio di riga non è ancora corrispondente, il riferimento di colonna qualificato restituisce
NULL.Quando
rowPatternVarsi assegna un nome alla variabile pattern attualmente in fase di test per la riga,rowPatternVar.colNamefa riferimento al valore di colonna della riga ed è equivalente a un oggetto non qualificatocolName. QuandorowPatternVarsi assegna un nome a una variabile di pattern diversa,rowPatternVar.colNamelegge i valori dalle righe già mappate a tale variabile.Funzioni non deterministiche come
rand()euuid()non sono consentite neiDEFINEpredicati perché la simulazione NFA può valutare i predicati più volte per riga. Se si usa uno, Azure Databricks genera MATCH_RECOGNIZE_NONDETERMINISTIC_DEFINE.Le funzioni di aggregazione generali diverse da
FIRST()eLAST()non sono supportate inDEFINE. Se si usa uno, Azure Databricks genera MATCH_RECOGNIZE_DEFINE_UNSUPPORTED_AGGREGATE.
Condizioni di errore comuni
- MATCH_RECOGNIZE_DEFINE_UNSUPPORTED_AGGREGATE
- MATCH_RECOGNIZE_DUPLICATE_PATTERN_VARIABLE
- MATCH_RECOGNIZE_NONDETERMINISTIC_DEFINE