临时搞点儿开胃小菜,因为最近涉及到公式计算、指标、预警等相关内容,很容易把某些概念扩大化或者缩放,此处略作整理以供记录和参考、其中涉及的内容有大有小,老哥们酌情观看
发现身边事儿、聊点周奇遇,我是沈二,期待奇遇的互联网灵魂~、一起聊天吹水,探索新的可能~wx:breathingss,入圈吧!
数据指标
数据指标 就是将大数据之"大"的精髓给提炼出来,展现每日观察数据的使用者最迫切想要看到的统计量。数据指标体系并不是第三方服务公司的专利,只要对埋点科学地进行数据采集,每个成型的互联网公司都可以自己搭建数据指标体系。 往大的概念说,其实指标的获取根BI分析具象出来的报表、大屏等上层内容似乎没啥大不同,只不过因为同源异构、等等乱七八糟的特殊情况导致我们不能像sql一样从容的去处理数据,因此衍生出来一些大的概念,具体的业务诉求和具象化的内容不同,也有不同偏重和应用
指标管理
特点是无限新增嵌套,在一定的维度基础上,不停的产生新的计算值,用新产生的值获取新的计算固化值,同样,重要的指标计算公式被有效的管理起来了。
预警
采取的策略偏重的是计算值加逻辑规则判断,类似于埋点命中,保障了规则判断的灵活性和后续处理的灵活性
实时计算
公式计算这种其实更小众实际一些,更贴近于应用侧,关注的是值替换和计算结果,对维度的层级没那么关注,一般处理的是数据已经在一个层面或者只是把一些有限变量再进行运算获取结果 计算和转换的诉求会比较多一些
公式编辑
小型的如:formula-input,能满足一些简化的公式编辑诉求 如果需要函数等, 集成 CodeMirror做一些封装,差不多也可以实现带有特出处理函数的编辑 至于后台的辅助处理可以参考表达式引擎Aviator,当然,如果需要自己封装
java
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
辅助freemarker也是可以处理的,弊病就是不支持es6,搞的js那套语法,有些超限的函数处理没那么便捷。
PS
以上就是本次的分享,思路稍稍有点儿乱,想到哪里说哪里,最近也是焦头烂额的在整理CI/CD服务器侧的玩意儿,顺手做一下记录、修心的经历到年底又有了一些变化和感悟,稍后有空闲,再做一些分享