Cláusula DEFINE para MATCH_RECOGNIZE

Aplica-se a:com visto sim Databricks SQL marcado sim Databricks Runtime 19.0 e superiores

Importante

Este recurso está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a esse recurso na página Visualizações . Ver Gerir as pré-visualizações de Azure Databricks.

Define as variáveis booleanas que as cláusulas PATTERN e MEASURES de MATCH_RECOGNIZE referenciam e testam.

Sintaxe

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

Parameters

  • rowPatternVar

    Um identificador que é único dentro da DEFINE cláusula. Se reutilizares um nome, Azure Databricks aumenta MATCH_RECOGNIZE_DUPLICATE_PATTERN_VARIABLE.

  • booleanExpr

    Uma expressão booleana que não contém uma subconsulta, função agregada ou função janela, e que não faz referência a uma coluna ou alias de coluna que não sejam os do table_reference que precede a MATCH_RECOGNIZE cláusula.

    As referências de coluna podem usar as seguintes funções específicas da DEFINE oração:

    Uma referência de coluna pode ser qualificada por um nome de variável padrão de linhas (rowPatternVar.colName). Isto seleciona valores das linhas mapeadas para essa variável na correspondência atual. Por exemplo, LAST(down.tstamp) é o carimbo temporal da última linha classificado como down. Referências de colunas não qualificadas referem-se à linha atual na correspondência sem selecionar uma variável de padrão específica.

    Se uma variável do padrão de linhas ainda não for correspondida, a referência qualificada da coluna avalia para NULL.

    Quando rowPatternVar nomeia a variável padrão atualmente testada para a linha, rowPatternVar.colName refere-se ao valor da coluna dessa linha e é equivalente a um não qualificado colName. Quando rowPatternVar nomeia uma variável de padrão diferente, rowPatternVar.colName lê valores de linhas já mapeadas para essa variável.

    Funções não determinísticas como rand() e uuid() não são permitidas em DEFINE predicados porque a simulação NFA pode avaliar predicados várias vezes por linha. Se usares um, Azure Databricks aumenta MATCH_RECOGNIZE_NONDETERMINISTIC_DEFINE.

    Funções agregadas gerais diferentes de FIRST() e LAST() não são suportadas em DEFINE. Se usares um, Azure Databricks aumenta MATCH_RECOGNIZE_DEFINE_UNSUPPORTED_AGGREGATE.

Condições de erro comuns