電商數據分析平臺項目_第1頁
電商數據分析平臺項目_第2頁
電商數據分析平臺項目_第3頁
電商數據分析平臺項目_第4頁
電商數據分析平臺項目_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、文檔修訂說明:1.2.3.4.按修改時間先后倒序排列,修改的排在第一行。版本欄中填入版本或者更改。狀態(tài)分為三種狀態(tài):A增加;M修改;D刪除。在簡明欄中填寫變更的內容和變更的范圍。 表中所有日期格式為:YYYYMMDD。文件狀態(tài): 草稿正式發(fā)布當前版本:V1.1作者:審 核 人:發(fā)布日期:20170518編制日期版本狀態(tài)簡明作者審核者審核日期20170518V1.1A目錄第1 章項目概述11.11.21.3項目簡介項目目標業(yè)務需求簡介11222221.3.11.3.21.3.31.3.4用戶ses頁面單跳轉化率統(tǒng)計 熱門商品離線統(tǒng)計 流量實時統(tǒng)計 第2 章項目主體架構32.12.22.33 章項

2、目架構345離線日志實時流程(參考) 流程(參考) 第模擬業(yè)務數據源53.1離線數據5566667773.1.13.1.2數據模型 數據說明 3.2實時數據3.2.13.2.2數據模型 數據說明 3.3查詢條件3.3.13.3.2用戶數據模型數據說明Ses第4 章分析84.14.2模塊概述8889需求一:Ses聚合統(tǒng)計 4.2.14.2.24.2.3要做什么? 數據結構 數據處理流程 10111111124.3需求二:Ses隨機抽取 4.3.14.3.24.3.3要做什么? 數據模型 數據處理流程 4.4需求三:Top10 熱門品類 13131315151516164.4.14.4.24.4.

3、3要做什么? 數據模型 數據處理流程 4.5需求四:Top10 活躍 Ses4.5.14.5.24.5.3要做什么? 數據模型 數據處理流程 第5 章頁面單跳轉化率分析17 5.15.2模塊概述需求一:頁面單跳轉化率171717185.2.15.2.2數據模型 數據處理流程 第6 章各區(qū)域熱門商品統(tǒng)計分析18 6.16.2模塊概述需求一:各區(qū)域 Top3 商品統(tǒng)計181919206.2.16.2.2數據模型 數據處理流程 第7 章點擊流量實時統(tǒng)計分析20 7.17.2模塊概述202222222323232324242424252525需求一:統(tǒng)計用戶7.2.17.2.27.2.3要做什么? 數

4、據模型 數據處理流程 7.3需求二:點擊實時統(tǒng)計7.3.17.3.27.3.3要做什么? 數據模型 數據處理流程 7.4需求三:實時統(tǒng)計最熱7.4.17.4.27.4.3要做什么? 數據模型 數據處理流程 7.5需求四:最近一小時點擊趨勢統(tǒng)計7.5.1要做什么? 7.5.27.5.3數據模型25數據處理流程26第 8 章大數據部署建設(選做)26 8.18.2通過 azkaban 將業(yè)務進行部署26通過 Zeppelin 將中的數據進行圖表輸出26第1章 項目概述1.1 項目簡介本項目主要講解一個大型的企業(yè)級大數據統(tǒng)計分析,該以 Spark 為主,對該大數據分析的流量進行離線和實時的分析。對的

5、各種用戶行為(行為、購物行為、廣告點擊行為等)進行復雜的分析。用統(tǒng)計分析出來的數據, 輔助公司中的 PM( 產品經理)、數據分析師以及管理分析現有產品的情況, 并根據用戶行為分析結果持續(xù)改進產品的設計,以及調整公司的和業(yè)務。最終達到用大數據技術來幫助公司的業(yè)績、營業(yè)額以及市場占有率的目標。項目主要使用了Spark 技術生態(tài)棧中最常用的三個技術框架,Spark Core、Spark SQL 和 Spark Streaming,進行離線計算和實時計算業(yè)務模塊的開發(fā)。實ses現了包括用戶分析、頁面單跳轉化率統(tǒng)計、熱門商品離線統(tǒng)計、廣告流量實時統(tǒng)計 4 個業(yè)務模塊。項目中所有的業(yè)務功能模塊都是直接從實

6、際企業(yè)項目中抽取出來的,業(yè)務復雜度沒有任何縮水,通過合理的將實際業(yè)務模塊進行技術整合與改造,該項目幾乎完全涵蓋了 Spark Core、Spark SQL 和 Spark Streaming 這三個技術框架中大部分的功能點、知識點。1.2 項目目標1、掌握系統(tǒng)中 Spark 的主要使用場景以及建設流程。2、掌握企業(yè)級的 Spark 項目的復雜性能調優(yōu)、線上故障解決經驗、數據傾斜處理方案。3、通過項目實戰(zhàn),完全將 Spark 所有和知識點都應用在項目中,掌握如何靈活應用 Spark 各項技術來實現各種復雜業(yè)務需求。1.3業(yè)務需求簡介1.3.1用戶sesses進行統(tǒng)計分析,包括 ses、獲取每天點

7、擊、下單和該模塊主要是對用戶的聚合指標計算、按時間比例隨機抽取 ses品類、并獲取 top10 品類的點擊量前 10 的前 10 的 ses。該模塊可以讓產品經理、數據分析師以及企業(yè)管理層形象地看到各種條件下的具體用戶行為以及統(tǒng)做出調整。主要使用 Spark計指標,從而對公司的產品設計以及業(yè)務發(fā)展Core 實現。1.3.2頁面單跳轉化率統(tǒng)計該模塊主要是計算關鍵頁面之間的單步跳轉轉化率,涉及到頁面切片算法以及頁面流匹配算法。該模塊可以讓產品經理、數據分析師以及企業(yè)管理層看到各個關鍵頁面之間的轉化率,從而對網頁布局,進行更好的優(yōu)化設計。主要使用 Spark Core 實現。1.3.3熱門商品離線統(tǒng)

8、計該模塊主要實現每天統(tǒng)計出各個區(qū)域的 top3 熱門商品。該模塊可以讓企業(yè)管理層看到公司售賣的商品的整體情況,從而對公司的商品相關的進行調整。主要使用 Spark SQL 實現。1.3.4流量實時統(tǒng)計該模塊負責實時統(tǒng)計公司的流量,包括展現流量和點擊流量。實現動態(tài)機制,以及過濾;實現滑動窗口內的各城市的展現流量和點擊流量的統(tǒng)計;實現每個區(qū)域每個的點擊流量實時統(tǒng)計;實現每個區(qū)域 top3 點擊量的的統(tǒng)計。主要使用 Spark Streaming 實現。第2章 項目主體架構2.1項目架構用戶行為數據在產生大量的原始日志上最簡單的存在形式就是日志。在運行過程中會RAW LOG,將其在文件系統(tǒng)中,企業(yè)會

9、將多種原始LOG,每一個會話日志表示用戶日志按照用戶行為匯總成會話日志 SES的一種反饋。2.2 離線日志流程(參考)2.3實時流程(參考)第3章 模擬業(yè)務數據源3.1 離線數據3.1.1數據模型3.1.2數據說明3.2 實時數據3.2.1數據模型程序每 秒向 .DIND 集群寫入數據,格式如下:3.2.2數據說明* 某個時間點 某個省份 某個城市 某個用戶 某個*/省份的 , 和城市的 , 相同* 格式 :timestprovince city userid adid/* 模擬的數據* 時間點: 當前時間毫秒* userId: 0 - 99* 省份、城市 ID 相同 : 1 - 9* adi

10、d: 0 - 19* (0L,),(1L,),(2L,江蘇省),(3L,廣州,省),(4L,三亞,海南省),(5L,省),(6L,長沙,湖南省),(7L,西安,陜西省),(8L,省),(9L,哈爾濱,東北省)格式 :timestprovince city userid adid生成的數據利用 Spark SQL 保存在 Hive 表中。/* 模擬的數據* date:是當前日期* age: 0 - 59* profesals: profesal0 - 59* cities: 0 - 9* sex: 0 - 1* keywords: (火鍋, 蛋糕, 重慶辣子雞, 重慶小面, 呷哺呷哺, 新辣道魚

11、火鍋, 國貿, 太古商場, 料理, 溫泉)* categoryIds: 0 - 99* ProductId: 0 - 99*/3.3 查詢條件3.3.1數據模型數據庫,采用了配置文件,在 Commons 項目中。格查詢對象沒有使用式如下:3.3.2數據說明# 可以使用的屬性如下:#startDate: 格式: yyyy-MM-DD必選#endDate:格式: yyyy-MM-DD必選#startAge:范圍: 0 - 59#endAge:范圍: 0 - 59#profesals: 范圍:profesals0 - 59#cities:0 - 9 (0,華北),(1,華東),(2,華東),(3,廣

12、州,華南),(4,三亞,華南),(5,華中),(6,長沙,華中),(7,西安,西北),(8,西南),(9,哈爾濱,東北)#sex:范圍: 0 - 1#keywords:范圍: (火鍋, 蛋糕, 重慶辣子雞, 重慶小面, 呷哺呷哺, 新辣道魚火鍋, 國貿, 太古商場, 料理, 溫泉) #categoryIds:0 - 99,以逗號分隔#PageFlow: 0 - 99, 以逗號分隔task.params.json=startDate:2017-10-20, endDate:2017-10-31, startAge: 20, endAge: 50, profesals: , cities: , s

13、ex:, keywords:, categoryIds:, PageFlow:1,2,3,4,5,6,7第4章 用戶Ses分析4.1 模塊概述用戶在上,通常會有很多的點擊行為,首先通常都是進入首頁;然后可能點擊首頁上的一些商品;點擊首頁上的一些品類;也可能隨時在搜索框里面搜索;還可能將一些商品加入購物車;對購物車中的多個商品下訂單;最后對訂單中的多個商品進行支付。用戶的每一次操作,其實可以理解為一個 action,比如點擊、搜索、下單、支付,用戶 ses,指的就是,從用戶第一次進入首頁,ses就開始了。然后在一定時間范圍內,直到最后操作完(可能做了幾十次、甚至上百次操作)。離開,關閉瀏覽器,或

14、者長時間沒有作;那么 ses就結束了。以上用戶在內的過程,就稱之為一次 ses。簡單理解,ses就是某一天某一個時間段內,某個用戶對到最后關閉瀏覽器。的過程。就叫做 ses從打開/進入,到做了大量操作,。ses實際上就是一個中最基本的數據和大數據。那么大數據,面向消費者, 那么對于最基本的分析莫過于是面向用戶行為/用戶ses的分析。1、可以根據使用者指定的某些條件,篩選出指定的一些用戶(有特定職業(yè)、城市);、2、對這些用戶在指定日期范圍內發(fā)起的 ses,進行聚合統(tǒng)計,比如,統(tǒng)計出時長在 03s 的 ses占總 ses數量的比例;3、按時間比例,比如一天有 24 個小時,其中 12:0013:0

15、0 的 ses數量占當天總 ses數量的 50%,當天總 ses數量是 10000 個,那么當天總共要抽取 1000 個 ses,ok,12:0013:00 的用戶,就得抽取 1000*50%=500。而且這 500 個需要隨機抽取。4、獲取點擊量、下單量和支付量都5、獲取 top10 的商品種類的點擊數量10 的商品種類前 10 的 ses4.2 需求一:Ses聚合統(tǒng)計4.2.1要做什么?統(tǒng)計出符合條件的 ses時長在 1s3s、4s6s、7s9s、10s30s、中30s60s、1m3m、3m10m、10m30m、30m 以上各個范圍內的 ses占比;步長在 13、46、79、1030、30

16、60、60 以上各個范圍內的 ses占比,并將結果保存到數據庫中。注意在計算之前需要根據查詢條件篩選 ses的用戶、,查詢條件比如搜索過某些的用戶、時間在某個時間段內在某個范圍內的用戶、職業(yè)在某個范圍內的用戶、所在某個城市的用戶,發(fā)起的 ses。找到對應的這些用戶的 ses,并進行統(tǒng)計,之所以需要有篩選主要是可以讓使用者,對感的和關系的用戶群體,進行后續(xù)各種復雜業(yè)務邏輯的統(tǒng)計和分析,那么拿到的結果數據,就是只是針對特殊用戶群體的分析結果;而不是對所有用戶進行分析的泛泛的分析結果。比如說,現,就是想看到用戶群體中,2835 歲的,老師職業(yè)的群體,對在某個企業(yè)應的一些統(tǒng)計和分析的結果數據, 從而輔

17、助高管進行上的。ses時長,也就是說一個 sesaction,到結束的對應的開始的action,之間的時間范圍;還有,就是步長,指的是,一個 ses執(zhí)行期間內,依次點擊過多少個頁面,比如說,一次 ses,維持了 1 分鐘,那么訪問時長就是 1m,然后在這 1 分鐘內,點擊了 10 個頁面,那么 ses步長,就是 10.的比如說,符合第一步篩選出來的 ses的數量大概是有 1000 萬個。那么要計算出,時長在 1s3s 內的 ses里面,的總 ses的數量,并除以符合條件數量(比如 1000 萬),比如是 100 萬/1000 萬,那么 1s3s 內的ses占比就是 10%。依次類推,這里說的統(tǒng)

18、計,就是這個意思。這個功能的作用,其實就是,可以讓人從全局的角度看到,符合某些條件的用戶群體,使用的產品的一些。比如大多數人,到底是會在產品中停留多長時間,大多數人,會在一次使用產品的過程中,么對于使用者來說,有一個全局和清晰的認識。多少個頁面。那4.2.2數據結構- Table structure for ses_aggr_sDROP TABLE IF EXISTS ses_aggr_s;CREATE TABLE ses_aggr_s (taskid varchar(255) DEFAULT NULL,ses_count(11) DEFAULT NULL,visit_length_1s_3s

19、_ratio double DEFAULT NULL,visit_length_4s_6s_ratio double DEFAULT NULL,visit_length_7s_9s_ratio double DEFAULT NULL,visit_length_10s_30s_ratio double DEFAULT NULL,4.2.3數據處理流程visit_length_30s_60s_ratio double DEFAULT NULL,visit_length_1m_3m_ratio double DEFAULT NULL,visit_length_3m_10m_ratio double

20、DEFAULT NULL,visit_length_10m_30m_ratio double DEFAULT NULL,visit_length_30m_ratio double DEFAULT NULL,step_length_1_3_ratio double DEFAULT NULL,step_length_4_6_ratio double DEFAULT NULL,step_length_7_9_ratio double DEFAULT NULL,step_length_10_30_ratio double DEFAULT NULL,step_length_30_60_ratio dou

21、ble DEFAULT NULL,step_length_60_ratio double DEFAULT NULL,KEY idx_task_id (taskid) ENGINE=InnoDB DEFAULT CHARSET=utf8;4.3 需求二:Ses隨機抽取4.3.1要做什么?在符合條件的 ses中,按照時間比例隨機抽取 1000 個 ses這個按照時間比例是什么意思呢?隨機抽取本身是很簡單的,但是按照時間比例,就很復雜了。比如說,這一天總共有 1000 萬的 ses。那么我現在總共要從這 1000 萬 ses中,隨機抽取出來 1000 個 ses。但是這個隨機不是那么簡單的。需要做到

22、如下幾點要求:首先,如果這一天的 12:0013:00 的ses數量是 100 萬,那么這個小時的 ses占比就是 1/10,那么這個小時中的 100 萬的 ses的 100 萬 ses也是這樣做。,就要抽取 1/10 * 1000 = 100 個。然后再從這個小時中,隨機抽取出 100 個 ses。以此類推,其他小時的抽取這個功能的作用,是說,可以讓使用者,能夠對于符合條件的 ses,按照時間比例均勻的隨機采樣出 1000 個 ses,然后觀察每個 ses具體的點擊流/行為,比如先進入了首頁、然后點擊了食品品類、然后點擊了雨潤火腿腸商品、然后搜索了火腿腸罐頭的對訂單做了支付。、接著對火腿腸下

23、了訂單、最后之所以要做到按時間比例隨機采用抽取,就是要做到,觀察樣本的公平性。抽取完畢之后,需要將 Ses庫中。的相關信息和詳細信息保存到數據4.3.2數據模型- Table structure for ses_detailDROP TABLE IF EXISTS ses_detail;CREATE TABLE ses_detail (taskid varchar(255) DEFAULT NULL,userid(11) DEFAULT NULL,sesid varchar(255) DEFAULT NULL,pageid(11) DEFAULT NULL,actionTime varchar

24、(255) DEFAULT NULL,searchKeyword varchar(255) DEFAULT NULL,clickCategoryId(11) DEFAULT NULL,clickProductId(11) DEFAULT NULL,orderCategoryIds varchar(255) DEFAULT NULL,ordroductIds varchar(255) DEFAULT NULL,4.3.3數據處理流程payCategoryIds varchar(255) DEFAULT NULL,payProductIds varchar(255) DEFAULT NULL,KE

25、Y idx_task_id (taskid),KEY idx_ses_id (sesid) ENGINE=InnoDB DEFAULT CHARSET=utf8;- Table structure for ses_random_extractDROP TABLE IF EXISTS ses_random_extract;CREATE TABLE ses_random_extract (taskid varchar(255) DEFAULT NULL,sesid varchar(255) DEFAULT NULL,startTime varchar(50) DEFAULT NULL,search

26、Keywords varchar(255) DEFAULT NULL,clickCategoryIds varchar(255) DEFAULT NULL,KEY idx_task_id (taskid) ENGINE=InnoDB DEFAULT CHARSET=utf8;4.4 需求三:Top10 熱門品類4.4.1要做什么?在符合條件的 ses前 10 的品類中,獲取點擊、下單和支付數量什么意思呢,對于這些 ses,每個 ses可能都會對一些品類的商品進行點擊、下單和支付等等行為。那么現在就需要獲取這些 ses點擊、下單和前 10 的最熱門的品類。也就是說,要計算出所有這些 ses支付數

27、量對各個品類的點擊、下單和支付的次數,然后按照這三個屬性進行排序,獲取前10 個品類。這個功能,很重要,就可以讓明白,就是符合條件的用戶,他最感興趣的商品是什么種類。這個可以讓公司里的人,清晰地了解到不同層次、不同類型的用戶的心理和喜好。計算完成之后,將數據保存到數據庫中。4.4.2數據模型- Table structure for top10_categoryDROP TABLE IF EXISTS top10_category;CREATE TABLE top10_category (taskid varchar(255) DEFAULT NULL,categoryid(11) DEFAU

28、LT NULL,clickCount(11) DEFAULT NULL,orderCount(11) DEFAULT NULL,payCount(11) DEFAULT NULL,KEY idx_task_id (taskid) ENGINE=InnoDB DEFAULT CHARSET=utf8;4.4.3數據處理流程4.5 需求四:Top10 活躍 Ses4.5.1 要做什么?對于前 10 的品類,分別獲取其點擊次數前 10 的 ses這個就是說,對于 top10 的品類,每一個都要獲取對它點擊次數前 10的 ses。這個功能,可以讓看到,對某個用戶群體最感的品類,各個品類最感最典型的用戶

29、的 ses的行為。計算完成之后,將數據保存到數據庫中。4.5.2數據模型4.5.3數據處理流程- Table structure for top10_sesDROP TABLE IF EXISTS top10_ses;CREATE TABLE top10_ses (taskid varchar(255) DEFAULT NULL,categoryid(11) DEFAULT NULL,sesid varchar(255) DEFAULT NULL,clickCount(11) DEFAULT NULL,KEY idx_task_id (taskid) ENGINE=InnoDB DEFAULT

30、 CHARSET=utf8;第5章 頁面單跳轉化率分析5.1 模塊概述計算頁面單跳轉化率, 頁面單跳轉換率,比如一個用戶在一次Ses過程中的頁面路徑 3,5,7,9,10,21,那么頁面 3 調到頁面 5 叫一次單跳,7-9 也叫一次單跳,那么單跳轉化率就是要統(tǒng)計頁面點擊的概率,比如:計算 3-5 的單跳轉化率,先獲取符合條件的 Ses對于頁面 3 的了頁面 3 又緊接著次數了頁(PV)為 A,然后獲取符合條件的 Ses中面 5 的次數為 B,那么 B/A 就是 3-5 的頁面單跳轉化率,面 5-7 的轉化率怎么求呢?先需要求出符合條件的 Ses記為 C;那么頁了頁面 3 又中緊接著了頁面 5

31、 又緊接著了頁面 7 的次數為 D,那么 D/C 即為 5-7 的單跳轉化率。產品經理,可以根據這個指標,去嘗試分析,整個,產品,各個頁面的表現怎么樣,是不是需要去優(yōu)化產品的布局;吸付頁面;戶最終可以進入最后的支數據分析師,可以基于咱們的這個數據,做更深一步的計算和分析企業(yè)管理層,可以看到整個公司的何?心里有數,可以適當調整公司的經營,各個頁面的之間的跳轉的表現如或策略在該模塊中,需要根據查詢對象中設置的 Ses過濾條件,先將對應得Ses過濾出來, 然后根據查詢對象中設置的頁面路徑, 計算頁面單跳轉化率,比如查詢的頁面路徑為:3、5、7、8,那么就要計算 3-5、5-7、7-8 的頁面單跳轉化

32、率。需要注意的一點是, 頁面的時有先后的。5.2 需求一:頁面單跳轉化率5.2.1數據模型- Table structure for page_split_convert_rateDROP TABLE IF EXISTS page_split_convert_rate;5.2.2數據處理流程第6章 各區(qū)域熱門商品統(tǒng)計分析6.1 模塊概述根據用戶指定的日期查詢條件范圍,統(tǒng)計各個區(qū)域下的最熱門的 top3 商品,區(qū)域信息、各個城市的信息在項目中用固定值進行配置, 因為不怎么變動。技術方案設計:1、查詢 task, 獲取日期范圍,通過 Spark SQL, 查詢 user_visit_action

33、表中的指定日期范 圍 內的數據, 過濾 出,商品點 擊 行 為 , click_product_id is not null ;click_product_id != NULL; click_product_id != null; city_id, click_product_id2、使用 Spark SQL 從中查詢出來城市信息( city_id、city_name、area),用CREATE TABLE page_split_convert_rate (taskid varchar(255) DEFAULT NULL,convertRate varchar(255) DEFAULT NUL

34、L) ENGINE=InnoDB DEFAULT CHARSET=utf8;戶行為數據要跟城市信息進行 join, city_id、city_name、area、product_id, RDD,轉換成 DataFrame,成一個臨時表3、Spark SQL 內置函數( case when),對 area 打標記( 華東大區(qū),A 級,華中大區(qū),B 級, 東區(qū), C 級, 西區(qū), D 級), area_level4、計算出來每個區(qū)域下每個商品的點擊次數,group by area, product_id;保留每個區(qū)域的城市名稱列表; 自定義 UDAF , group_concat_distinct

35、() 函數, 聚合出來一個city_names 字段, area、product_id、city_names、click_count5、join 商品明細表,hive( product_id、product_name、extend_info),extend_info是 json 類型,自定義 UDF,get_json_object()函數,取出其中的 product_sus 字段,if()函數( Spark SQL 內置函數),判斷,0 自營,1 第;( area、product_id、city_names、click_count、product_name、product_sus)6、開窗函數

36、,根據 area 來聚合,獲取每個 area 下,click_count前 3 的 product信息; area 、 area_level 、 product_id 、 city_names 、 click_count 、 product_name 、product_sus7、結果寫入表中6.2 需求一:各區(qū)域 Top3 商品統(tǒng)計6.2.1數據模型- Table structure for area_top3_productDROP TABLE IF EXISTS area_top3_product;CREATE TABLE area_top3_product (taskid varchar

37、(255) DEFAULT NULL,area varchar(255) DEFAULT NULL,areaLevel varchar(255) DEFAULT NULL,productid(11) DEFAULT NULL,cityInfos varchar(255) DEFAULT NULL,clickCount(11) DEFAULT NULL,productName varchar(255) DEFAULT NULL,productSus varchar(255) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;6.2.2數據處理流程第

38、7章點擊流量實時統(tǒng)計分析7.1 模塊概述/app, 通常會給一些第的客戶,打一些;也是一些互聯網公位打出去, 在用戶來使用司的收入來源;在/app 某個/app 的時候,會顯示出來;此時,有些用戶可能就會去點擊那個。被點擊以后,實際上就是要針對這種用戶行為(點擊行為),實時數據,進行實時的大數據計算和統(tǒng)計。每次點擊一個以后,通常來說,/app 中都會有埋點(前端的應用中,比如 JavaScript Ajax;app 中的 socket 網絡請求,往發(fā)送一條日志數據);日志數據而言,通常,如果要做實時統(tǒng)計的話,那么就會通過某些方式將數據寫入到分布式消息隊列中(Kafka);web 服務器(ngi

39、nx),nginx 產生的實時的不斷增加 / 更日志寫入到客戶端(比如 flume agent),寫入到消息新的本地日志文件,就會被日志隊列中(kafka),要負責編寫實時計算程序,去從消息隊列中(kafka)去實時地拉取數據,然后對數據進行實時的計算和統(tǒng)計。這個模塊的意義在于, 讓產品經理、高管可以實時地掌握到公司打的各種的投放效果。以便于后期持續(xù)地對公司的和策略,進投放相關的行調整和優(yōu)化;以期望獲得最好的需要實現以下幾個需求:收益。1、實現實時的動態(tài)拉黑機制:將每天對某個點擊超過 100 次的用戶點擊流量過濾機制的點擊流量實時統(tǒng)計2、基于3、每天4、統(tǒng)計每天5、統(tǒng)計各點擊量的各城市各top

40、3 熱門最近 1 小時內的點擊量趨勢:各最近 1 小時內各分鐘的6、使用高性能方式將實時統(tǒng)計結果寫入流式數據的格式為:timesttimest1450702800province Jiangsuprovince cityuserid adidcity useridadidNanjing1000011000017.2 需求一:統(tǒng)計用戶7.2.1要做什么?實現實時的動態(tài)機制:將每天對某個點擊超過 100 次的用戶拉黑7.2.2數據模型- Table structure for ad_user_click_countDROP TABLE IF EXISTS ad_user_click_count;CREATE TABLE ad_user_click_count (date varchar(30) D

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論