Spark+Hbase 亿级流量分析实战( 留存计算)

这篇已经是本系列文章的第五篇了,简书/小红书/CSDN 还不快来感谢大猪,上一篇大猪已经介绍 PV/UV 的实现方式以及程序的计算逻辑,本篇大猪继续为小伙伴介绍 留存,看在Spark+Hbase 的架构中到底是怎么实现这种指标的。

大猪的习惯就是能上图就尽量不~~~,好的图是会说话的,大猪也在努力实现中。

详细分析过程

  1. 大猪25通过某篇文章注册了简书帐号,26去浪去了。

  2. 27再次登录简书,小伙伴猜猜是哪天的几日留存?

  3. 这么简单的问题,我们的小伙伴肯定能答得上来。

答案就是:25号的2日留存

啊?大猪我怎么答得不对呀

莫慌,大家看看当前的时间是28号,Spark+Hbase 计算的是03-27的数据,因为在27号这天只有大猪一个人访问,所以数据只能+1,再看下张图。

  1. 21号有一头大猪的粉丝大红猪通过 PV/UV 文章注册简书帐号,咳咳...
  2. 25号还一头大猪的粉丝大黄猪通过 小巧高性能的ETL 文章在简书上注册了
  3. 然后这两头大胖猪03-28号这天都来了
  4. 再算算是哪天几日留存

大猪这次我看懂,是21号的7日留存跟25号的3日留存
我就说小伙伴是聪明的,这还是比较容易理解的。

接下来,我们看看如何将留存转成算法去实现,我们会尽量设计成SQL形式去实现。

大猪已经把留存表给设计好了,想必小伙伴跟大猪的设计也是一样的,毕竟都是志同道合的小伙伴。

到这里我们就需要一张用户表了,需要记录用户的注册时间等信息,后面的很多指标也会使用到,Hbase的用户创表语句如下:

Spark 计算注册用户并写入用户表的指标计算需要放在所有指标的前面
算法如下,有点黄黄的框框是批量写入。

我们接下来看Come具体的指标计算是如何计算的

由于涉及到了用户表,其实就是在UV去重的基础上添加用户注册时间这个字段:

大猪这就一一讲这三个框的意思,第一个框在上一篇的 PV/UV 的指标已经讲解过了,就是标记用户的。

第二个框,跟第一个框逻辑差不多,就是批量去查用户注册时间的。

第三个框,就是把第一个框跟第二框的数据合并在一起,把注册时间合并进去,这样每条数据都有注册时间,下面就可以用SQL来计算留存了。

PS:纠正(dt.datedt.regTime as date)

眼尖的小伙伴一看就看到了留存的核心算法了吧,就是圈黄色框框的地方。

怎么那么多函数?又有SUM、IF、date_add,这样的技巧小伙伴们要记住,因为在以后的指标计算当中会经常使用到。

大猪来解释一下它们的含义:date_add函数就是日期+N天,IF就简单啦,判断刚好满足对应的留存日期就将那条数据SUM到对应的come留存日期中。

留存率计算

select aid,sum(come1)/sum(register) from come_report where time = '2019-01-01' group by aid

为什么要这么写?因为这样Spark就可以使用一个job计算完所有留存指标,小伙伴们需要细细品尝一下才有感觉,如果不这么写,小伙伴们觉得怎么写?

反正 大猪 以前是一个留存写一个SQL,是不是很有问题?

下篇文章我们继续介绍其它有意思指标的算法。

本次源码传送门 => 留存计算源码

心明眼亮的你、从此刻开始。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267