Предложение DEFINE для MATCH_RECOGNIZE

Область применения:check помечена да проверка Databricks SQL помечено да Databricks Runtime 19.0 и выше

Important

Эта функция доступна в бета-версии. Администраторы рабочей области могут управлять доступом к этой функции на странице "Предварительные версии ". См. статью "Управление предварительными версиями Azure Databricks".

Определяет логические переменные, которые предложения PATTERN и MEASURESMATCH_RECOGNIZE ссылки и тестирования.

Syntax

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

Parameters

  • rowPatternVar

    Идентификатор, уникальный в предложении DEFINE . При повторном использовании имени Azure Databricks вызывает MATCH_RECOGNIZE_DUPLICATE_PATTERN_VARIABLE.

  • BooleanExpr

    Логическое выражение, которое не содержит вложенный запрос, агрегатную функцию или функцию окна, и не ссылается на псевдоним столбца или столбца, отличного от тех, table_reference которые предшествуют предложению MATCH_RECOGNIZE .

    Ссылки на столбцы могут использовать следующие функции, относящиеся к предложению DEFINE :

    Ссылка на столбец может быть квалифицирована по имени переменной шаблона строки (rowPatternVar.colName). При этом выбираются значения из строк, сопоставленных с этой переменной в текущем совпадении. Например, LAST(down.tstamp) метка времени последней строки, классифицированной как down. Неквалифицированные ссылки на столбцы ссылаются на текущую строку в совпадении без выбора определенной переменной шаблона.

    Если переменная шаблона строки еще не совпадает, ссылка на полный столбец оценивается NULL.

    При rowPatternVar именовке переменной шаблона, проверяемой в настоящее время для строки, rowPatternVar.colName ссылается на значение столбца этой строки и эквивалентен неквалифицированному colName. При rowPatternVar именовав другую переменную шаблона, считывает значения из строк, rowPatternVar.colName уже сопоставленных с этой переменной.

    Недетерминированные функции, такие как и uuid() не допускаются в DEFINE предикатах, так как rand() моделирование NFA может оценивать предикаты несколько раз в каждой строке. Если вы используете его, Azure Databricks вызывает MATCH_RECOGNIZE_NONDETERMINISTIC_DEFINE.

    Общие агрегатные функции, отличные FIRST() от и LAST() не поддерживаются.DEFINE Если вы используете его, Azure Databricks вызывает MATCH_RECOGNIZE_DEFINE_UNSUPPORTED_AGGREGATE.

Распространенные условия ошибки