Tendon 数据汇总模块,包括指标定义和指标计算两部分。数据汇总有时也叫数仓cube。
指标定义,用来统一指标口径,避免
指标分类
指标通过划分,
原子指标
基于业务过程的度量值,也就是数据表中某个字段的统计值。
通常也就是SQL中的聚合函数sum、count、distinct、avg、max、min等。
组成部分 |
示例 |
SQL示例 |
业务过程 |
购买 |
|
度量 |
用户数 |
count(distinct *) |
派生指标
由以下组成:原子指标、统计粒度、统计周期、业务限定等四部分组成。
组成部分 |
示例 |
SQL示例 |
|
原子指标 |
购买用户数 |
count(distinct user_id) |
|
统计周期 |
最近30天 |
where dt >= now_round_start(-30d) |
|
业务限定 |
北京地区 |
where province = 'beijing' |
|
统计粒度 |
商品 |
group by bid |
举例:
派生指标/组成 |
原子指标 |
统计周期 |
业务限定 |
统计粒度 |
指标1 |
第一帧数 |
最近30天 |
射击类 |
游戏 |
指标2 |
第一帧数 |
最近30天 |
射击类 |
接入商 |
指标3 |
第一帧数 |
最近30天 |
射击类 |
游戏,接入商 |
指标4 |
请求数 |
最近30天 |
射击类 |
游戏 |
指标5 |
请求数 |
最近30天 |
射击类 |
游戏,接入商 |
指标6 |
请求数 |
最近30天 |
射击类 |
接入商 |
指标命名规范
统计周期 + 统计粒度 + 业务限定 + 原子指标
复合指标
由若干个派生指标,进行逻辑运算复合成的。常见的有比率型指标、比例型指标。
举例:
符合指标 |
计算规则 |
统计粒度 |
举例 |
部分统计粒度重合 |
指标3 / 指标1 |
游戏相同 |
接入商游戏和整体比率 |
指标3 / 指标6 |
游戏、接入商都相同 |
||
全部统计粒度重合 |
指标3 / 指标5 |
接入商相同 |
接入商游戏自身比率 |
注意:统计粒度重合时,需要对应的值相同。例如:原神正常云玩比率=原神的第一帧数/原神云玩次数,不能 原神正常云玩比率=原神的第一帧数/王者农药云玩次数
指标命名规范
统计周期 + 统计粒度 + 业务限定 + 业务名称
指标计算
实时计算
source --> 数据过滤 --> 时间窗口 --> 派生指标 --> 复合指标
离线计算
离线计算和实时计算非常相似,只是实时计算使用时间窗口,离线计算则算出窗口编号。