AI & Analytics

SQL: patroonherkenning vereenvoudigen met MATCH_RECOGNIZE

Databricks Blog
SQL: patroonherkenning vereenvoudigen met MATCH_RECOGNIZE

Samenvatting

MATCH_RECOGNIZE vereenvoudigt patroonherkenning in SQL door reeksen in eventdata als regex voor rijen te beschrijven.

MATCH_RECOGNIZE in Databricks

Databricks maakt MATCH_RECOGNIZE beschikbaar als nieuwe SQL-operator in Public Preview. De operator werkt binnen Databricks compute, waaronder Lakehouse Real-Time, en herkent patronen en reeksen in eventdata met regex-achtige syntax.

Een cybersecurityteam kan ermee opeenvolgende mislukte loginpogingen vinden die direct door een succesvolle login worden gevolgd. Standaard SQL behandelt rijen als losse feiten zonder ingebouwde tijdlijn. Daardoor zijn voor zulke analyses vaak meerdere common table expressions, tijdsvensters en gaps-and-islands-logica nodig.

Waarom MATCH_RECOGNIZE relevant is

MATCH_RECOGNIZE verschuift de aandacht van losse tellingen naar de volgorde van gebeurtenissen. Een COUNT()-vensterfunctie kan het aantal mislukte pogingen tellen, maar bepaalt niet eenvoudig of die pogingen binnen een smal tijdsvenster vielen en daarna door succes werden gevolgd.

De DEFINE-sectie kan met FIRST(FAIL.event_time) het begin van een reeks vastleggen. Vervolgens controleert de query of elke volgende mislukte poging binnen één uur van die eerste poging valt, totdat de reeks overgaat naar SUCCESS. Dat maakt de tijdslogica zichtbaar in dezelfde SQL-constructie als het patroon.

Databricks noemt ook financiële analyse als toepassing, bijvoorbeeld het herkennen van V-vormige koersbewegingen. E-commerce, productie en IoT behoren eveneens tot de genoemde toepassingsgebieden. Voor eenvoudige tellingen blijven window functions en aggregaties passend; MATCH_RECOGNIZE richt zich op patronen waarin volgorde, timing en overgang tussen toestanden samen bepalend zijn.

Concrete takeaway

Inventariseer SQL-query’s met gekoppelde CTE’s, complexe tijdsvensters of gaps-and-islands-logica. Kies één patroon, zoals mislukte logins gevolgd door succes, en vergelijk de bestaande aanpak met MATCH_RECOGNIZE in Databricks compute. Controleer daarbij expliciet de sortering, de tijdsgrens van één uur en het moment waarop een reeks eindigt. Omdat de operator in Public Preview staat, leg je de uitkomst naast de bestaande query voordat je rapportages of controles vervangt.

Lees het volledige artikel
Meer over AI & Analytics →