Spark+Hbase 億級(jí)流量分析實(shí)戰(zhàn)( 留存計(jì)算)

這篇已經(jīng)是本系列文章的第五篇了,簡(jiǎn)書(shū)/小紅書(shū)/CSDN 還不快來(lái)感謝大豬秃嗜,上一篇大豬已經(jīng)介紹 PV/UV 的實(shí)現(xiàn)方式以及程序的計(jì)算邏輯权均,本篇大豬繼續(xù)為小伙伴介紹 留存顿膨,看在Spark+Hbase 的架構(gòu)中到底是怎么實(shí)現(xiàn)這種指標(biāo)的。

大豬的習(xí)慣就是能上圖就盡量不~~~叽赊,好的圖是會(huì)說(shuō)話的恋沃,大豬也在努力實(shí)現(xiàn)中。

詳細(xì)分析過(guò)程

  1. 大豬25通過(guò)某篇文章注冊(cè)了簡(jiǎn)書(shū)帳號(hào)必指,26去浪去了囊咏。

  2. 27再次登錄簡(jiǎn)書(shū),小伙伴猜猜是哪天的幾日留存取劫?

  3. 這么簡(jiǎn)單的問(wèn)題匆笤,我們的小伙伴肯定能答得上來(lái)。

答案就是:25號(hào)的2日留存

捌仔啊炮捧?大豬我怎么答得不對(duì)呀

莫慌,大家看看當(dāng)前的時(shí)間是28號(hào)惦银,Spark+Hbase 計(jì)算的是03-27的數(shù)據(jù)咆课,因?yàn)樵?7號(hào)這天只有大豬一個(gè)人訪問(wèn),所以數(shù)據(jù)只能+1扯俱,再看下張圖书蚪。

  1. 21號(hào)有一頭大豬的粉絲大紅豬通過(guò) PV/UV 文章注冊(cè)簡(jiǎn)書(shū)帳號(hào),咳咳...
  2. 25號(hào)還一頭大豬的粉絲大黃豬通過(guò) 小巧高性能的ETL 文章在簡(jiǎn)書(shū)上注冊(cè)了
  3. 然后這兩頭大胖豬03-28號(hào)這天都來(lái)了
  4. 再算算是哪天幾日留存

大豬這次我看懂迅栅,是21號(hào)的7日留存跟25號(hào)的3日留存
我就說(shuō)小伙伴是聰明的殊校,這還是比較容易理解的。

接下來(lái)读存,我們看看如何將留存轉(zhuǎn)成算法去實(shí)現(xiàn)为流,我們會(huì)盡量設(shè)計(jì)成SQL形式去實(shí)現(xiàn)。

大豬已經(jīng)把留存表給設(shè)計(jì)好了让簿,想必小伙伴跟大豬的設(shè)計(jì)也是一樣的敬察,畢竟都是志同道合的小伙伴。

到這里我們就需要一張用戶表了尔当,需要記錄用戶的注冊(cè)時(shí)間等信息莲祸,后面的很多指標(biāo)也會(huì)使用到,Hbase的用戶創(chuàng)表語(yǔ)句如下:

Spark 計(jì)算注冊(cè)用戶并寫(xiě)入用戶表的指標(biāo)計(jì)算需要放在所有指標(biāo)的前面
算法如下椭迎,有點(diǎn)黃黃的框框是批量寫(xiě)入锐帜。

我們接下來(lái)看Come具體的指標(biāo)計(jì)算是如何計(jì)算的

由于涉及到了用戶表,其實(shí)就是在UV去重的基礎(chǔ)上添加用戶注冊(cè)時(shí)間這個(gè)字段:

大豬這就一一講這三個(gè)框的意思畜号,第一個(gè)框在上一篇的 PV/UV 的指標(biāo)已經(jīng)講解過(guò)了缴阎,就是標(biāo)記用戶的。

第二個(gè)框弄兜,跟第一個(gè)框邏輯差不多药蜻,就是批量去查用戶注冊(cè)時(shí)間的。

第三個(gè)框替饿,就是把第一個(gè)框跟第二框的數(shù)據(jù)合并在一起语泽,把注冊(cè)時(shí)間合并進(jìn)去,這樣每條數(shù)據(jù)都有注冊(cè)時(shí)間视卢,下面就可以用SQL來(lái)計(jì)算留存了踱卵。

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

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

怎么那么多函數(shù)惋砂?又有SUM、IF绳锅、date_add西饵,這樣的技巧小伙伴們要記住,因?yàn)樵谝院蟮闹笜?biāo)計(jì)算當(dāng)中會(huì)經(jīng)常使用到鳞芙。

大豬來(lái)解釋一下它們的含義:date_add函數(shù)就是日期+N天眷柔,IF就簡(jiǎn)單啦,判斷剛好滿足對(duì)應(yīng)的留存日期就將那條數(shù)據(jù)SUM到對(duì)應(yīng)的come留存日期中原朝。

留存率計(jì)算

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

為什么要這么寫(xiě)驯嘱?因?yàn)檫@樣Spark就可以使用一個(gè)job計(jì)算完所有留存指標(biāo),小伙伴們需要細(xì)細(xì)品嘗一下才有感覺(jué)喳坠,如果不這么寫(xiě)鞠评,小伙伴們覺(jué)得怎么寫(xiě)?

反正 大豬 以前是一個(gè)留存寫(xiě)一個(gè)SQL壕鹉,是不是很有問(wèn)題剃幌?

下篇文章我們繼續(xù)介紹其它有意思指標(biāo)的算法。

本次源碼傳送門(mén) => 留存計(jì)算源碼

心明眼亮的你御板、從此刻開(kāi)始锥忿。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市怠肋,隨后出現(xiàn)的幾起案子敬鬓,更是在濱河造成了極大的恐慌,老刑警劉巖笙各,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件钉答,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡杈抢,警方通過(guò)查閱死者的電腦和手機(jī)数尿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)惶楼,“玉大人右蹦,你說(shuō)我怎么就攤上這事诊杆。” “怎么了何陆?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵晨汹,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我贷盲,道長(zhǎng)淘这,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任巩剖,我火速辦了婚禮铝穷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘佳魔。我一直安慰自己曙聂,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開(kāi)白布吃引。 她就那樣靜靜地躺著筹陵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪镊尺。 梳的紋絲不亂的頭發(fā)上朦佩,一...
    開(kāi)封第一講書(shū)人閱讀 51,287評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音庐氮,去河邊找鬼语稠。 笑死,一個(gè)胖子當(dāng)著我的面吹牛弄砍,可吹牛的內(nèi)容都是我干的仙畦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼音婶,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼慨畸!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起衣式,我...
    開(kāi)封第一講書(shū)人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤寸士,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后碴卧,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體弱卡,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年住册,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了婶博。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡荧飞,死狀恐怖凡人,靈堂內(nèi)的尸體忽然破棺而出名党,到底是詐尸還是另有隱情,我是刑警寧澤挠轴,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布兑巾,位于F島的核電站,受9級(jí)特大地震影響忠荞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜帅掘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一委煤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧修档,春花似錦碧绞、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至院峡,卻和暖如春兴使,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背照激。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工发魄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人俩垃。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓励幼,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親口柳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子苹粟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354