適用対象:
Databricks SQL
Databricks Runtime 19.0 以降" とマークされているチェック
Important
この機能は ベータ版です。 ワークスペース管理者は、[ プレビュー] ページからこの機能へのアクセスを制御できます。 Manage Azure Databricks プレビューを参照してください。
MATCH_RECOGNIZEの PATTERN 句と MEASURES 句が参照およびテストするブール変数を定義します。
Syntax
DEFINE { rowPatternVar AS booleanExpr } [, ...]
Parameters
rowPatternVar
DEFINE句内で一意の識別子。 名前を再利用すると、Azure Databricks MATCH_RECOGNIZE_DUPLICATE_PATTERN_VARIABLEが発生します。booleanExpr
サブクエリ、集計関数、またはウィンドウ関数を含まず、
MATCH_RECOGNIZE句の前にあるtable_referenceの列または列の別名を参照しないブール式。列参照では、
DEFINE句に固有の次の関数を使用できます。列参照は、行パターン変数名 (
rowPatternVar.colName) で修飾できます。 これにより、現在の一致でその変数にマップされた行の値が選択されます。 たとえば、LAST(down.tstamp)は、downとして分類された最後の行のタイムスタンプです。 修飾されていない列参照は、特定のパターン変数を選択せずに、一致する現在の行を参照します。行パターン変数がまだ一致していない場合、修飾列参照は
NULLと評価されます。rowPatternVar、行に対して現在テスト中のパターン変数に名前を付けると、rowPatternVar.colNameはその行の列値を参照し、修飾されていないcolNameと同じです。rowPatternVar別のパターン変数に名前を付けると、rowPatternVar.colNameは、その変数に既にマップされている行から値を読み取ります。NFA シミュレーションでは行ごとに述語を複数回評価できるため、
rand()やuuid()などの非決定的関数は、DEFINE述語では許可されません。 1 つを使用すると、Azure Databricks MATCH_RECOGNIZE_NONDETERMINISTIC_DEFINEが発生します。DEFINEでは、FIRST()およびLAST()以外の一般的な集計関数はサポートされていません。 1 つを使用すると、Azure Databricks MATCH_RECOGNIZE_DEFINE_UNSUPPORTED_AGGREGATEが発生します。
一般的なエラー状態
- MATCH_RECOGNIZE_DEFINE_UNSUPPORTED_AGGREGATE
- 一致認識_重複_パターン_変数
- MATCH_RECOGNIZE_NONDETERMINISTIC_DEFINE