Cláusula DEFINE para MATCH_RECOGNIZE

Se aplica a:check marcado yes Comprobación de SQL de Databricks marcada como sí Databricks Runtime 19.0 y versiones posteriores

Importante

Esta característica se encuentra en su versión beta. Los administradores del área de trabajo pueden controlar el acceso a esta característica desde la página Vistas previas . Consulte Administrar versiones preliminares de Azure Databricks.

Define las variables booleanas que las cláusulas PATTERN y MEASURES de MATCH_RECOGNIZE referencia y prueba.

Syntax

DEFINE { rowPatternVar AS booleanExpr } [, ...]

Parameters

  • rowPatternVar

    Identificador único dentro de la DEFINE cláusula . Si reutiliza un nombre, Azure Databricks genera MATCH_RECOGNIZE_DUPLICATE_PATTERN_VARIABLE.

  • booleanExpr

    Una expresión booleana que no contiene una subconsulta, una función de agregado o una función de ventana, y no hace referencia a un alias de columna o columna distinto de los que table_reference preceden a la MATCH_RECOGNIZE cláusula .

    Las referencias de columna pueden usar las siguientes funciones específicas de la DEFINE cláusula :

    Una referencia de columna se puede calificar mediante un nombre de variable de patrón de fila (rowPatternVar.colName). Esto selecciona los valores de las filas asignadas a esa variable en la coincidencia actual. Por ejemplo, LAST(down.tstamp) es la marca de tiempo de la última fila clasificada como down. Las referencias de columna no calificadas hacen referencia a la fila actual de la coincidencia sin seleccionar una variable de patrón específica.

    Si aún no coincide una variable de patrón de fila, la referencia de columna calificada se evalúa como NULL.

    Cuando rowPatternVar asigna nombres a la variable de patrón que se está probando actualmente para la fila, rowPatternVar.colName hace referencia al valor de columna de esa fila y es equivalente a un objeto no calificado colName. Cuando asigna rowPatternVar un nombre a una variable de patrón diferente, rowPatternVar.colName lee los valores de las filas que ya están asignadas a esa variable.

    Las funciones no deterministas como rand() y uuid() no se permiten en DEFINE predicados porque la simulación de NFA puede evaluar predicados varias veces por fila. Si usa uno, Azure Databricks genera MATCH_RECOGNIZE_NONDETERMINISTIC_DEFINE.

    Las funciones de agregado generales distintas FIRST() de y LAST() no se admiten en DEFINE. Si usa uno, Azure Databricks genera MATCH_RECOGNIZE_DEFINE_UNSUPPORTED_AGGREGATE.

Condiciones de error comunes