国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

關于用戶行為大數據計算

數據庫
用戶行為類數據是最常見的大數據形式,比如電信的通話記錄、網站的訪問日志、應用商店的app下載記錄、銀行的賬戶信息、機頂盒的觀看記錄、股票的交易記錄、保險業的保單信息,連鎖超市會員的購物信息、交通違法信息、醫療就診記錄。

用戶行為類數據的特點在于用戶數量龐大,但每個用戶的行為數量較小,針對用戶行為的計算較為復雜,用戶之間的關聯計算相對較少。

用戶數量龐大。通話記錄中的電話號碼、訪問日志中的用戶編號、賬戶信息中的銀行賬戶、交易記錄中股票賬戶、保單信息中的被保險人,這些都是用戶行為類數據中的用戶。用戶的數量通常都很龐大,多的可達億級或更多,少的也有***。

[[109844]]

每個用戶的行為數量較小相對于龐大的用戶數量,每個用戶的行為通常較少。對單個電話號碼來說,平均每月的通話記錄只有數百條,每年也不超過一萬條。即使是網站的活躍用戶,他們每天最多也只能產生上百條行為記錄,每年不超過十萬條。

用戶行為的計算較為復雜。計算用戶的兩次登錄間隔天數、反復購買的商品、累積在線時間,這些都是針對用戶行為的計算,通常具有一定的復雜性。

用戶之間的關聯計算較少。用戶的行為相對獨立,一般不需要知道其他用戶即可實現計算。相應的,用戶之間的關聯計算則較少,比如:某人通話記錄中接聽電話的一方的通話時長;社交網站上某個用戶的朋友購買了哪些商品,這些計算存在但不多。

根據用戶行為類大數據的特點不難看出,其最直觀最容易寫出的算法可以這樣設計:每次將某一用戶的所有數據一次性加載到內存中來計算,而不要反復訪問硬盤讀取某個用戶的部分數據,也不要將大量用戶的數據同時加載到內存中。

將某一用戶的所有數據加載到內存中來計算。這樣做是因為用戶之間的關聯計算少,而單個用戶行為的計算較為復雜,計算同一個用戶的數據可以讓程序員減少不相干數據的干擾。比如計算某用戶反復購買的商品。首先,將某用戶的數據按商品分組匯總出每件商品的購買次數;再按次數逆序排序;過濾掉只購買了一次的商品,剩下的就是反復購買的商品及購買次數。再比如計算某用戶的累積在線時長。該用戶會訪問多次,每次都會形成一對登錄和退出,因此先要過濾出所有的登錄和退出記錄;再針對每一次訪問,用退出時刻減去登錄時刻,這就是單次時長;將多個單次時長相加,就是累積時長。

另外,因為每個用戶的行為數量相對較少,完全可以全部加載進內存進行自由靈活的計算。

不要反復訪問硬盤讀取用戶的部分數據。由于用戶的行為計算比較復雜,同一個用戶的各條數據之間是存在關聯關系的,讀取一個用戶的部分記錄去計算會導致算法難寫,而且性能很低。

不要將大量用戶的數據同時加載到內存中。由于用戶數量龐大,顯然不可能將全部用戶的數據一次性加載到內存中來,必須要分批讀取。分批的標準上面已經分析出來了:按用戶分批。至于用戶之間計算結果的合并,可以留到***一步再做,由于用戶之間關聯計算少,這個合并非常簡單。比如計算所有用戶反復購買的商品或累計在線時長,只要計算出每個用戶反復購買的商品或累計的在線時長,再將所有用戶的計算結果簡單合并就可以。另外還可以看出,由于是用戶之間的關聯少,因此此類算法很適合使用并行計算,即每個節點機分配一定數量的用戶,這樣既不會增加難度又能大幅提高性能。

將同一用戶的所有數據加載到內存中來計算,這就需要事先將數據按用戶分成多個組。比如按零售店會員分組,每個組就是某個會員對應的多條采購記錄;或按用戶編號分,每個組是某個用戶對應的網頁訪問記錄。分組的實質是排序,即將數據按用戶排序,使同一個用戶的數據挨在一起??梢韵胂蟮?,對億級的用戶、每用戶萬級的數據排序將是個非常緩慢的過程。事先排序可以加速分組的過程。

將數據事先按用戶排序,不同的計算目標都使用同樣排序好的數據。將排序的時間花在前面而且只花一次,這就可以避免計算時的大排序,參數不同的同一個計算目標也可以重復計算而不必重復排序,不同的計算目標還可以省去相同的排序過程。

但是,不幸的是,一般的計算工具難以實現上述算法,無法有效利用事先排序的數據。比如SQL(含Hive)和MapRreduce。

SQL的困難。SQL的集合是無序的,事先按索引重新插入排好序的數據往往不能被優化器正確優化,具有很大的偶然性,無法保證查詢時可以按排好的次序查詢出需要的數據。

Hive具有SQL的語法風格,同時也支持并行計算,但它卻并不適合用戶行為類大數據計算。這是因為用戶行為的計算較為復雜,需要窗口函數甚至存儲過程來解決,而Hive只支持基本的SQL語法,不支持窗口函數和存儲過程。

用戶行為的計算之所以較為復雜,是因為需要對同一個用戶的多條數據之間進行計算,這種計算大多和順序相關。SQL對有序計算的支持有限,只有窗口函數可以實現部分簡單的有序計算,但對于復雜的業務邏輯仍然顯得非常繁瑣,而且經常因為大排序造成低下的性能。使用程序性的存儲過程編寫復雜代碼可以實現復雜的有序計算,但很難復用SQL的集合運算能力,所有處理都有從基礎運算自己編寫,而且其性能通常比SQL更低。

MapReduce的困難。MapReduce支持大數據并行計算,同時它是用程序性的JAVA語言來編寫的,這一點和存儲過程有相似性。但是,MapReduce所使用的 JAVA語言缺乏針對結構數據計算的類庫,所有的底層功能都要自己實現:分組、排序、查詢、關聯等等,對于有序計算這較復雜的算法所要書寫的代碼更多、編寫難度更大、維護更加困難。同樣的,MapReduce也無法利用已經排序好的數據,在shuffle階段還需要得做大排序。

SQL和MapReduce無法利用事先排序好的數據,難以高性能地將同一用戶的所有數據加載到內存中來計算,用戶類大數據計算因此會遇到性能、擴展性和開發難度的挑戰。

如何利用事先排序好的數據,以此簡化代碼書寫難度并提高計算性能?

集算器是支持多節點并行計算的程序設計語言,并提供豐富的有序計算。如果數據事先排好序,集算器支持通過游標來按組讀取數據,每次讀取一組數據進內存,避免反復的外存訪問,整個數據只要遍歷一次即可,從而使性能大大提高。針對組內計算復雜,集算器具有完備的批量化數據計算類庫,可以輕松實現各類復雜的有序計算。。

集算器支持靈活自由的多節點并行計算,可以進一步優化性能。方法之一將用戶按某種方式分段,以此實現分布存儲后的高效并行處理。比如將會員零售數據按照會員編號的前兩位分成100段存儲于HDFS,每段存儲十萬會員的一億條數據?;蛘邔⒕W站日志按照用戶ID的首字母和年份分段,每段存儲幾百萬用戶的數據?;蛘邔⑼ㄔ捰涗洶凑諈^號和用戶數量合并為30段,每段存儲一個州或幾個州的用戶。經過分段處理后,每段數據都是排好序的,可被節點機的一個線程獨立處理,這樣的并行計算性能更高。

針對上面的難點,下面用”每個用戶在每種產品上的累積在線時間”為例來說明集算器的一般解決辦法。

大分組的困難事先排序數據,以供多種計算目標使用。在節點機運算時可以直接按用戶分組取數,有效利用已經有序的數據以提高性能。

36大數據

組內計算復雜:esProc具有完備的批量化數據計算類庫,可以輕松實現各類復雜的有序計算。

36大數據

完整的代碼如下:

36大數據

原文鏈接:http://www.36dsj.com/archives/6812

責任編輯:彭凡 來源: 36大數據
相關推薦

2013-09-05 09:33:25

大數據盧東明SAP

2016-12-01 11:15:00

WOT大數據友盟+

2016-11-25 11:03:48

2016-03-18 15:51:24

大數據預測

2011-05-13 10:07:47

LBS簽到

2013-04-10 09:42:33

2018-08-20 15:05:41

大數據

2022-09-28 11:34:27

用戶行為數據業務

2015-03-16 13:49:27

大數據大數據誤區大數據錯誤

2013-05-16 10:56:52

2013-12-02 10:25:34

大數據消費行為數字化

2017-11-21 13:46:30

大數據用戶畫像數據管理

2017-09-21 17:14:46

大數據AITalkingData

2013-01-23 09:07:37

云計算大數據ERP

2012-09-26 10:57:10

大數據云計算facebook

2013-07-11 13:52:31

大數據云計算

2016-06-03 13:06:18

UBI

2015-07-27 08:55:52

數據信用

2017-01-10 17:38:37

微信小程序

2016-11-27 19:21:05

點贊
收藏

51CTO技術棧公眾號

麻豆91av| 一级日本不卡的影视| 给我免费播放日韩视频| 毛片在线视频| 澳门av一区二区三区| 麻豆av在线免费观看| 7777精品| 草久在线视频| 高清在线视频不卡| 亚洲一区网址| 成人av综合网| 狠狠爱www人成狠狠爱综合网| av中文一区| 久久综合视频网| 欧美日韩ab片| 亚洲一区二区精品在线| 精精国产xxxx视频在线动漫| 99精品在线观看| 亚洲成a人片在线不卡一二三区 | 伊色综合久久之综合久久| 怕怕欧美视频免费大全| 国产精品一卡二| 欧美精品一区二区久久婷婷| 亚洲xxxxx电影| 首播影院在线观看免费观看电视| 四虎影视成人精品国库在线观看| 欧美激情综合在线| 精品性高朝久久久久久久| 国产91成人在在线播放| 日韩精品一区二区三区久久| 粉嫩一区二区三区| 亚洲国产黄色| 色先锋资源久久综合| 国产精品区一区二区三在线播放| 亚洲一区二区三区四区五区xx| 亚洲色图美女| 欧美男同性恋视频网站| 日本一区视频在线观看| 亚洲高清影院| 国内成人免费视频| 久久综合网hezyo| 国产成人精品视频ⅴa片软件竹菊| 日韩一二三四| 欧美伊人影院| 在线观看日韩av| 最新国产在线观看| 九一九一国产精品| 欧美日韩国产999| 日韩伦理在线电影| 久久精品一二三| www国产亚洲精品久久网站| 成年人观看网站| 亚洲久久一区| 国产精品午夜视频| 国产一二三在线视频| 亚洲福利专区| 亚洲一二三区不卡| 婷婷久久综合九色综合99蜜桃| 2欧美一区二区三区在线观看视频| 亚洲国产又黄又爽女人高潮的| 欧美一级片免费播放| 色999韩欧美国产综合俺来也| caoporm超碰国产精品| 日韩av观看网址| 国产欧美日韩精品一区二区免费 | 欧美大陆国产| 日本高清成人免费播放| 国产精品久久久久7777| 国产欧美综合一区二区三区| 97视频在线观看视频免费视频| 欧美成人免费| 色猫猫国产区一区二在线视频| 国产又大又长又粗又黄| 亚洲v天堂v手机在线| 国产精品久久久久久影视| 性欧美18~19sex高清播放| 蜜臀av性久久久久蜜臀aⅴ流畅 | 亚洲一区精品电影| 超碰97久久国产精品牛牛| 热re91久久精品国99热蜜臀| 超碰资源在线| 亚洲色在线视频| 厕沟全景美女厕沟精品| 欧美高清视频不卡网| 精品亚洲第一| 国产一区二区中文| 欧美国产亚洲精品久久久8v| 福利电影一区| 亚洲精品一区二区三区福利 | 国产日韩中文字幕| 欧美日韩xx| 日韩亚洲欧美在线| 97影院秋霞午夜在线观看| 伊人婷婷欧美激情| 欧美性猛交内射兽交老熟妇| 老司机在线永久免费观看| 国产亚洲成av人片在线观看桃| 国产www视频在线观看| 日韩亚洲成人av在线| 一区二区三区| 午夜婷婷国产麻豆精品| 久久久久久五月天久久久久久久久| 香蕉国产精品偷在线观看不卡| 黄色网络在线观看| av在线播放一区二区三区| 99.玖玖.com| 国产欧美一二三区| 欧美aaaaaa| 在线观看欧美视频| 国产精品自在| 日韩动漫在线观看| 国产精品一区免费在线观看| 国产.com| 欧美日韩性视频在线| 性感美女激情视频在线观看| 欧美男人的天堂一二区| 国产黄色一区| 成人欧美视频在线| www国产精品av| 成人在线二区| 国产91精品久久久| 久久69av| 免费一级特黄毛片| 亚洲欧洲性图库| 成人免费观看在线观看| 色播亚洲视频在线观看| 欧美日本国产一区| 欧美男女视频| 超碰超碰在线观看| 91亚洲午夜在线| av一区二区不卡| 欧美大胆a人体大胆做受| 成人网在线视频| 91视视频在线观看入口直接观看www| 精品麻豆一区二区三区| 精品亚洲国产视频| 色综合久久久| 国产成人精品免费视频大全最热| 国产精品视频一二三| 男同在线观看| 国产日韩精品视频| 欧美日韩国产高清| 无码 制服 丝袜 国产 另类| 色爱区综合激月婷婷| av在线不卡免费观看| 色视频www在线播放国产人成| 国产**成人网毛片九色| 成人av黄色| 精品久久久无码人妻字幂| 粉嫩精品一区二区三区在线观看| 搡老女人一区二区三区视频tv| 伊人精品一区| 国产成人午夜电影| 国产精品国产福利国产秒拍| 亚洲最新视频在线观看| 亚洲91视频| 国产亚洲人成a在线v网站 | 久久国产精品99久久人人澡| 一二三四中文在线| 国产成人免费av电影| 欧美色videos| 日韩欧美在线字幕| 中文字幕av免费专区久久| 一个色综合av| 亚洲最新在线视频| 麻豆精品视频在线观看免费| 国产精品magnet| 日韩不卡一区二区三区 | 日本午夜精品一区二区三区电影| 亚洲精品国产a久久久久久 | 黄色成年人视频在线观看| 久久99精品久久久久久欧洲站 | 黄色片免费在线观看视频| 欧美精品一区二区三区蜜臀| 7777精品久久久大香线蕉| 国产亚洲精品久久| 欧美一区三区三区高中清蜜桃| 国产精品初高中精品久久| 色片在线免费观看| 午夜欧美激情| 狠狠色狠狠色综合婷婷tag| 国产精品色网| 在线天堂中文资源最新版| 欧美啪啪免费视频| 95在线视频| 成人在线视频中文字幕| 麻豆久久精品| 亚洲最新在线观看| 久久午夜免费电影| 在线播放亚洲激情| 国产二区视频在线| 国产蜜臀一区二区打屁股调教| 日韩高清不卡在线| 亚洲天堂男人的天堂| 岛国大片在线播放| av日韩久久| 国产精品国产三级国产普通话三级 | 免费看久久久| 国产宾馆实践打屁股91| 日韩女优av电影|