【数据产品】预警和智能分析

背景

预警和智能分析是当今数据产品不可缺少的功能之一。
本文分享我在工作中遇到的的预警和智能分析的技术方案。

需求描述:用户可对多个指标设置多个预警规则,次日达到预警条件则发送预警消息,并根据预警消息进行归因分析,生成智能分析报告。用户可根据消息查看对应的智能分析报告。

整体流程如图:
在这里插入图片描述

1.预警

1.1 预警流程设计

整个预警功能的难点就是跑批模块,整个技术方案也是经过多次技术评审,不断反复沟通、迭代,并确定最终可行的技术方案,以下是几个特别的点:

1)模块解耦:整个系统分为跑批模块、调度模块、Hive查询模块、告警模块、分析模块,模块之间通过Http接口或者MQ调用,模块与模块直接互相解耦。

2)通用性:虽然目前该预警功能只是给A产品用,但我们希望它的一套通用的系统,即便以后给其他业务也能使用。

但随之而来的难点就是表的设计,表字段不能强关联业务,但还要能够基于业务字段筛选分页等查询,解决方案如下:
在这里插入图片描述
3)稳定性:此处的稳定性主要是DB的稳定性,因为告警跑批时间会疯狂查询DB,因此不能在业务库去执行SQL,故单独抽取出需要用到的表至Hive,所有预警及分析直接查询hive。
当然,未来也可能切换成Doris等其他DB,因此生成Sql这里采用的是sql-engine动态生成SQL。

3)容错性:所有的Job任务在不同节点均有状态标识,任何状态节点的job执行失败(超时、pod重启等),均有调度任务定时检测并重试。

4)状态监控:当天的Job执行状态均接入企业微信机器人,定时推送当天跑批任务的状态统计,对于异常状态及时推送预警消息,做到能在第一时间及时处理。

1.2 预警跑批UML设计图

在这里插入图片描述

1.3 预警跑批流程(流程图较细,建议只关注具体模块去看)

在这里插入图片描述

2. 智能分析

智能分析依据自主分析能力,在其基础上,根据数据分析师设计的算法,寻找到最大影响因子(可以按不同维度下钻、或按指标进行拆解),从而帮助用户实现归因分析。

下面是自主分析基本思路:
在这里插入图片描述

2.1 智能分析流程图

智能分析主要经过一下几个步骤:
1、先对一级指标进行拆解,例如:实收=订单数*单均。则判断是订单数 还是 单均对实收的影响最大。
2、随后计算不同业务维度的影响因子,判断不同业务维度的影响程度,作为下钻节点的where条件。
3、最后进行地域维度的下钻分析,例如:大区-》省份-》城市
在这里插入图片描述

3. 成果

目前已为40w+用户服务,支撑每日10w+条告警规则,并稳定运行。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值