Skip to content

WeiWenda/effect-cep

Repository files navigation

effect-cep

纯前端工具:用可视化表单维护 CEP 相关配置(虚拟事件、模式匹配、归因策略),并在本地生成多种运行时的 MVP 骨架代码(ClickHouse UDF、StarRocks UDF、Hive UDF、Flink CEP、Siddhi)。src/codegen/patterns/*src/codegen/attribution/* 分别实现模式匹配归因策略的生成逻辑;各引擎入口文件负责拼装「虚拟事件 + 模式 + 归因」或按「代码生成」页所选范围仅输出其中一段。

输入 / 输出契约

  • 输入Array<Record<string, unknown>> —— 每条为任意 JSON 对象;「虚拟事件」含全局唯一的 event_key,其下可有多规则组(组内三段式 AND、组间 OR),命中后得到 params.{abstract_param_key}
  • 输出Record<string, number> —— 归因 label 到权重的映射(在生成代码中以注释与占位逻辑体现)。

生成物定位为 可粘贴修改的起点,不保证与各引擎方言完全等价;复杂 CE 语义需在生成文件中按环境补全(代码中已用 TODO 标出)。

技术栈

  • React 19、Vite 6、TypeScript、Tailwind CSS v4(@tailwindcss/vite
  • react-router-dom 路由;@monaco-editor/react 只读预览;lucide-react 图标

布局与编译方式参考同工作区的 chatbot 前端(顶栏分段导航 + h-screen 主壳)。

脚本

npm install
npm run dev
npm run build
npm run lint

数据持久化

项目配置保存在浏览器 localStorage(键名 effect-cep:project:v1)。在顶栏右侧 项目配置(齿轮)中可 导出 / 导入 JSON 备份或协作。若当前项目中 没有任何虚拟事件,下次加载时会自动合并一组 电商演示 event_keyPAGE_VIEWPRODUCT_VIEWADD_TO_CARTBEGIN_CHECKOUTORDER_PAIDORDER_REFUNDED),便于本地调模式与归因;已有虚拟事件时不会覆盖。

一级功能

  1. 虚拟事件event_key(全局唯一)、描述;多规则组在弹窗中配置(每组:三段式 AND + 虚拟参数;组间 OR);列表页仅概括展示。
  2. 模式匹配:Within(毫秒)、步骤序列、每步 event_key、谓词(可写 row / params.)、发生次数区间,以及多组输出规则*(选择步骤、条件:未达到最少 / 超过最多 / 次数在范围内;多条 result_key 与 value,可为 0/1 或含 {stepN.field} 的表达式)。
  3. 归因策略:选择待归因虚拟事件可归因事件库(与模式解耦);点击生成排列后对库内事件做全排列(库至多 6 个以免超过 720 条),对每种排列配置 labelweight 映射,并可删除不合理排列;旧版「关联模式 + 单组条目」导入后变为单条空序排列。

配置变更会自动写回本地存储;代码生成入口在「模式匹配」「归因策略」详情区标题行右上角(进入后按模块锁定生成范围)。基础校验结果在「代码生成」页顶部展示。

StarRocks UDAF E2E(模式匹配)

黄金样例与期望输出见 fixtures/starrocks-pattern-e2e/。本地 Docker 与注册步骤见 docker/starrocks/README.md

  1. npm install
  2. npm run starrocks:e2e:package — 根据 fixture 生成 CepPatternAgg.javamvn package 打出带依赖 jar。
  3. starrocks-udf-e2e/target/cep-pattern-udaf-1.0-SNAPSHOT-jar-with-dependencies.jar 复制到 docker/starrocks/host-jar/
  4. cd docker/starrocks && docker compose up -d,按 docker/starrocks/README.md 顺序执行 init/*.sql
  5. 04_verify.sqlpattern_outfixtures/starrocks-pattern-e2e/expected.json 对照。

About

专注解决行为分析场景下的模式匹配与事件归因问题

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages