Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:
проверка 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.
Распространенные условия ошибки
- MATCH_RECOGNIZE_DEFINE_UNSUPPORTED_AGGREGATE
- MATCH_RECOGNIZE_DUPLICATE_PATTERN_VARIABLE
- MATCH_RECOGNIZE_NONDETERMINISTIC_DEFINE