




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、文檔修訂說明:1.2.3.4.按修改時(shí)間先后倒序排列,修改的排在第一行。版本欄中填入版本或者更改。狀態(tài)分為三種狀態(tài):A增加;M修改;D刪除。在簡(jiǎn)明欄中填寫變更的內(nèi)容和變更的范圍。 表中所有日期格式為:YYYYMMDD。文件狀態(tài): 草稿正式發(fā)布當(dāng)前版本:V1.1作者:審 核 人:發(fā)布日期:20170518編制日期版本狀態(tài)簡(jiǎn)明作者審核者審核日期20170518V1.1A目錄第1 章項(xiàng)目概述11.11.21.3項(xiàng)目簡(jiǎn)介項(xiàng)目目標(biāo)業(yè)務(wù)需求簡(jiǎn)介11222221.3.11.3.21.3.31.3.4用戶ses頁面單跳轉(zhuǎn)化率統(tǒng)計(jì) 熱門商品離線統(tǒng)計(jì) 流量實(shí)時(shí)統(tǒng)計(jì) 第2 章項(xiàng)目主體架構(gòu)32.12.22.33 章項(xiàng)
2、目架構(gòu)345離線日志實(shí)時(shí)流程(參考) 流程(參考) 第模擬業(yè)務(wù)數(shù)據(jù)源53.1離線數(shù)據(jù)5566667773.1.13.1.2數(shù)據(jù)模型 數(shù)據(jù)說明 3.2實(shí)時(shí)數(shù)據(jù)3.2.13.2.2數(shù)據(jù)模型 數(shù)據(jù)說明 3.3查詢條件3.3.13.3.2用戶數(shù)據(jù)模型數(shù)據(jù)說明Ses第4 章分析84.14.2模塊概述8889需求一:Ses聚合統(tǒng)計(jì) 4.2.14.2.24.2.3要做什么? 數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)處理流程 10111111124.3需求二:Ses隨機(jī)抽取 4.3.14.3.24.3.3要做什么? 數(shù)據(jù)模型 數(shù)據(jù)處理流程 4.4需求三:Top10 熱門品類 13131315151516164.4.14.4.24.4.
3、3要做什么? 數(shù)據(jù)模型 數(shù)據(jù)處理流程 4.5需求四:Top10 活躍 Ses4.5.14.5.24.5.3要做什么? 數(shù)據(jù)模型 數(shù)據(jù)處理流程 第5 章頁面單跳轉(zhuǎn)化率分析17 5.15.2模塊概述需求一:頁面單跳轉(zhuǎn)化率171717185.2.15.2.2數(shù)據(jù)模型 數(shù)據(jù)處理流程 第6 章各區(qū)域熱門商品統(tǒng)計(jì)分析18 6.16.2模塊概述需求一:各區(qū)域 Top3 商品統(tǒng)計(jì)181919206.2.16.2.2數(shù)據(jù)模型 數(shù)據(jù)處理流程 第7 章點(diǎn)擊流量實(shí)時(shí)統(tǒng)計(jì)分析20 7.17.2模塊概述202222222323232324242424252525需求一:統(tǒng)計(jì)用戶7.2.17.2.27.2.3要做什么? 數(shù)
4、據(jù)模型 數(shù)據(jù)處理流程 7.3需求二:點(diǎn)擊實(shí)時(shí)統(tǒng)計(jì)7.3.17.3.27.3.3要做什么? 數(shù)據(jù)模型 數(shù)據(jù)處理流程 7.4需求三:實(shí)時(shí)統(tǒng)計(jì)最熱7.4.17.4.27.4.3要做什么? 數(shù)據(jù)模型 數(shù)據(jù)處理流程 7.5需求四:最近一小時(shí)點(diǎn)擊趨勢(shì)統(tǒng)計(jì)7.5.1要做什么? 7.5.27.5.3數(shù)據(jù)模型25數(shù)據(jù)處理流程26第 8 章大數(shù)據(jù)部署建設(shè)(選做)26 8.18.2通過 azkaban 將業(yè)務(wù)進(jìn)行部署26通過 Zeppelin 將中的數(shù)據(jù)進(jìn)行圖表輸出26第1章 項(xiàng)目概述1.1 項(xiàng)目簡(jiǎn)介本項(xiàng)目主要講解一個(gè)大型的企業(yè)級(jí)大數(shù)據(jù)統(tǒng)計(jì)分析,該以 Spark 為主,對(duì)該大數(shù)據(jù)分析的流量進(jìn)行離線和實(shí)時(shí)的分析。對(duì)的
5、各種用戶行為(行為、購(gòu)物行為、廣告點(diǎn)擊行為等)進(jìn)行復(fù)雜的分析。用統(tǒng)計(jì)分析出來的數(shù)據(jù), 輔助公司中的 PM( 產(chǎn)品經(jīng)理)、數(shù)據(jù)分析師以及管理分析現(xiàn)有產(chǎn)品的情況, 并根據(jù)用戶行為分析結(jié)果持續(xù)改進(jìn)產(chǎn)品的設(shè)計(jì),以及調(diào)整公司的和業(yè)務(wù)。最終達(dá)到用大數(shù)據(jù)技術(shù)來幫助公司的業(yè)績(jī)、營(yíng)業(yè)額以及市場(chǎng)占有率的目標(biāo)。項(xiàng)目主要使用了Spark 技術(shù)生態(tài)棧中最常用的三個(gè)技術(shù)框架,Spark Core、Spark SQL 和 Spark Streaming,進(jìn)行離線計(jì)算和實(shí)時(shí)計(jì)算業(yè)務(wù)模塊的開發(fā)。實(shí)ses現(xiàn)了包括用戶分析、頁面單跳轉(zhuǎn)化率統(tǒng)計(jì)、熱門商品離線統(tǒng)計(jì)、廣告流量實(shí)時(shí)統(tǒng)計(jì) 4 個(gè)業(yè)務(wù)模塊。項(xiàng)目中所有的業(yè)務(wù)功能模塊都是直接從實(shí)
6、際企業(yè)項(xiàng)目中抽取出來的,業(yè)務(wù)復(fù)雜度沒有任何縮水,通過合理的將實(shí)際業(yè)務(wù)模塊進(jìn)行技術(shù)整合與改造,該項(xiàng)目幾乎完全涵蓋了 Spark Core、Spark SQL 和 Spark Streaming 這三個(gè)技術(shù)框架中大部分的功能點(diǎn)、知識(shí)點(diǎn)。1.2 項(xiàng)目目標(biāo)1、掌握系統(tǒng)中 Spark 的主要使用場(chǎng)景以及建設(shè)流程。2、掌握企業(yè)級(jí)的 Spark 項(xiàng)目的復(fù)雜性能調(diào)優(yōu)、線上故障解決經(jīng)驗(yàn)、數(shù)據(jù)傾斜處理方案。3、通過項(xiàng)目實(shí)戰(zhàn),完全將 Spark 所有和知識(shí)點(diǎn)都應(yīng)用在項(xiàng)目中,掌握如何靈活應(yīng)用 Spark 各項(xiàng)技術(shù)來實(shí)現(xiàn)各種復(fù)雜業(yè)務(wù)需求。1.3業(yè)務(wù)需求簡(jiǎn)介1.3.1用戶sesses進(jìn)行統(tǒng)計(jì)分析,包括 ses、獲取每天點(diǎn)
7、擊、下單和該模塊主要是對(duì)用戶的聚合指標(biāo)計(jì)算、按時(shí)間比例隨機(jī)抽取 ses品類、并獲取 top10 品類的點(diǎn)擊量前 10 的前 10 的 ses。該模塊可以讓產(chǎn)品經(jīng)理、數(shù)據(jù)分析師以及企業(yè)管理層形象地看到各種條件下的具體用戶行為以及統(tǒng)做出調(diào)整。主要使用 Spark計(jì)指標(biāo),從而對(duì)公司的產(chǎn)品設(shè)計(jì)以及業(yè)務(wù)發(fā)展Core 實(shí)現(xiàn)。1.3.2頁面單跳轉(zhuǎn)化率統(tǒng)計(jì)該模塊主要是計(jì)算關(guān)鍵頁面之間的單步跳轉(zhuǎn)轉(zhuǎn)化率,涉及到頁面切片算法以及頁面流匹配算法。該模塊可以讓產(chǎn)品經(jīng)理、數(shù)據(jù)分析師以及企業(yè)管理層看到各個(gè)關(guān)鍵頁面之間的轉(zhuǎn)化率,從而對(duì)網(wǎng)頁布局,進(jìn)行更好的優(yōu)化設(shè)計(jì)。主要使用 Spark Core 實(shí)現(xiàn)。1.3.3熱門商品離線統(tǒng)
8、計(jì)該模塊主要實(shí)現(xiàn)每天統(tǒng)計(jì)出各個(gè)區(qū)域的 top3 熱門商品。該模塊可以讓企業(yè)管理層看到公司售賣的商品的整體情況,從而對(duì)公司的商品相關(guān)的進(jìn)行調(diào)整。主要使用 Spark SQL 實(shí)現(xiàn)。1.3.4流量實(shí)時(shí)統(tǒng)計(jì)該模塊負(fù)責(zé)實(shí)時(shí)統(tǒng)計(jì)公司的流量,包括展現(xiàn)流量和點(diǎn)擊流量。實(shí)現(xiàn)動(dòng)態(tài)機(jī)制,以及過濾;實(shí)現(xiàn)滑動(dòng)窗口內(nèi)的各城市的展現(xiàn)流量和點(diǎn)擊流量的統(tǒng)計(jì);實(shí)現(xiàn)每個(gè)區(qū)域每個(gè)的點(diǎn)擊流量實(shí)時(shí)統(tǒng)計(jì);實(shí)現(xiàn)每個(gè)區(qū)域 top3 點(diǎn)擊量的的統(tǒng)計(jì)。主要使用 Spark Streaming 實(shí)現(xiàn)。第2章 項(xiàng)目主體架構(gòu)2.1項(xiàng)目架構(gòu)用戶行為數(shù)據(jù)在產(chǎn)生大量的原始日志上最簡(jiǎn)單的存在形式就是日志。在運(yùn)行過程中會(huì)RAW LOG,將其在文件系統(tǒng)中,企業(yè)會(huì)
9、將多種原始LOG,每一個(gè)會(huì)話日志表示用戶日志按照用戶行為匯總成會(huì)話日志 SES的一種反饋。2.2 離線日志流程(參考)2.3實(shí)時(shí)流程(參考)第3章 模擬業(yè)務(wù)數(shù)據(jù)源3.1 離線數(shù)據(jù)3.1.1數(shù)據(jù)模型3.1.2數(shù)據(jù)說明3.2 實(shí)時(shí)數(shù)據(jù)3.2.1數(shù)據(jù)模型程序每 秒向 .DIND 集群寫入數(shù)據(jù),格式如下:3.2.2數(shù)據(jù)說明* 某個(gè)時(shí)間點(diǎn) 某個(gè)省份 某個(gè)城市 某個(gè)用戶 某個(gè)*/省份的 , 和城市的 , 相同* 格式 :timestprovince city userid adid/* 模擬的數(shù)據(jù)* 時(shí)間點(diǎn): 當(dāng)前時(shí)間毫秒* userId: 0 - 99* 省份、城市 ID 相同 : 1 - 9* adi
10、d: 0 - 19* (0L,),(1L,),(2L,江蘇省),(3L,廣州,省),(4L,三亞,海南省),(5L,省),(6L,長(zhǎng)沙,湖南省),(7L,西安,陜西省),(8L,省),(9L,哈爾濱,東北省)格式 :timestprovince city userid adid生成的數(shù)據(jù)利用 Spark SQL 保存在 Hive 表中。/* 模擬的數(shù)據(jù)* date:是當(dāng)前日期* age: 0 - 59* profesals: profesal0 - 59* cities: 0 - 9* sex: 0 - 1* keywords: (火鍋, 蛋糕, 重慶辣子雞, 重慶小面, 呷哺呷哺, 新辣道魚
11、火鍋, 國(guó)貿(mào), 太古商場(chǎng), 料理, 溫泉)* categoryIds: 0 - 99* ProductId: 0 - 99*/3.3 查詢條件3.3.1數(shù)據(jù)模型數(shù)據(jù)庫(kù),采用了配置文件,在 Commons 項(xiàng)目中。格查詢對(duì)象沒有使用式如下:3.3.2數(shù)據(jù)說明# 可以使用的屬性如下:#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,長(zhǎng)沙,華中),(7,西安,西北),(8,西南),(9,哈爾濱,東北)#sex:范圍: 0 - 1#keywords:范圍: (火鍋, 蛋糕, 重慶辣子雞, 重慶小面, 呷哺呷哺, 新辣道魚火鍋, 國(guó)貿(mào), 太古商場(chǎng), 料理, 溫泉) #categoryIds:0 - 99,以逗號(hào)分隔#PageFlow: 0 - 99, 以逗號(hào)分隔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 模塊概述用戶在上,通常會(huì)有很多的點(diǎn)擊行為,首先通常都是進(jìn)入首頁;然后可能點(diǎn)擊首頁上的一些商品;點(diǎn)擊首頁上的一些品類;也可能隨時(shí)在搜索框里面搜索;還可能將一些商品加入購(gòu)物車;對(duì)購(gòu)物車中的多個(gè)商品下訂單;最后對(duì)訂單中的多個(gè)商品進(jìn)行支付。用戶的每一次操作,其實(shí)可以理解為一個(gè) action,比如點(diǎn)擊、搜索、下單、支付,用戶 ses,指的就是,從用戶第一次進(jìn)入首頁,ses就開始了。然后在一定時(shí)間范圍內(nèi),直到最后操作完(可能做了幾十次、甚至上百次操作)。離開,關(guān)閉瀏覽器,或
14、者長(zhǎng)時(shí)間沒有作;那么 ses就結(jié)束了。以上用戶在內(nèi)的過程,就稱之為一次 ses。簡(jiǎn)單理解,ses就是某一天某一個(gè)時(shí)間段內(nèi),某個(gè)用戶對(duì)到最后關(guān)閉瀏覽器。的過程。就叫做 ses從打開/進(jìn)入,到做了大量操作,。ses實(shí)際上就是一個(gè)中最基本的數(shù)據(jù)和大數(shù)據(jù)。那么大數(shù)據(jù),面向消費(fèi)者, 那么對(duì)于最基本的分析莫過于是面向用戶行為/用戶ses的分析。1、可以根據(jù)使用者指定的某些條件,篩選出指定的一些用戶(有特定職業(yè)、城市);、2、對(duì)這些用戶在指定日期范圍內(nèi)發(fā)起的 ses,進(jìn)行聚合統(tǒng)計(jì),比如,統(tǒng)計(jì)出時(shí)長(zhǎng)在 03s 的 ses占總 ses數(shù)量的比例;3、按時(shí)間比例,比如一天有 24 個(gè)小時(shí),其中 12:0013:0
15、0 的 ses數(shù)量占當(dāng)天總 ses數(shù)量的 50%,當(dāng)天總 ses數(shù)量是 10000 個(gè),那么當(dāng)天總共要抽取 1000 個(gè) ses,ok,12:0013:00 的用戶,就得抽取 1000*50%=500。而且這 500 個(gè)需要隨機(jī)抽取。4、獲取點(diǎn)擊量、下單量和支付量都5、獲取 top10 的商品種類的點(diǎn)擊數(shù)量10 的商品種類前 10 的 ses4.2 需求一:Ses聚合統(tǒng)計(jì)4.2.1要做什么?統(tǒng)計(jì)出符合條件的 ses時(shí)長(zhǎng)在 1s3s、4s6s、7s9s、10s30s、中30s60s、1m3m、3m10m、10m30m、30m 以上各個(gè)范圍內(nèi)的 ses占比;步長(zhǎng)在 13、46、79、1030、30
16、60、60 以上各個(gè)范圍內(nèi)的 ses占比,并將結(jié)果保存到數(shù)據(jù)庫(kù)中。注意在計(jì)算之前需要根據(jù)查詢條件篩選 ses的用戶、,查詢條件比如搜索過某些的用戶、時(shí)間在某個(gè)時(shí)間段內(nèi)在某個(gè)范圍內(nèi)的用戶、職業(yè)在某個(gè)范圍內(nèi)的用戶、所在某個(gè)城市的用戶,發(fā)起的 ses。找到對(duì)應(yīng)的這些用戶的 ses,并進(jìn)行統(tǒng)計(jì),之所以需要有篩選主要是可以讓使用者,對(duì)感的和關(guān)系的用戶群體,進(jìn)行后續(xù)各種復(fù)雜業(yè)務(wù)邏輯的統(tǒng)計(jì)和分析,那么拿到的結(jié)果數(shù)據(jù),就是只是針對(duì)特殊用戶群體的分析結(jié)果;而不是對(duì)所有用戶進(jìn)行分析的泛泛的分析結(jié)果。比如說,現(xiàn),就是想看到用戶群體中,2835 歲的,老師職業(yè)的群體,對(duì)在某個(gè)企業(yè)應(yīng)的一些統(tǒng)計(jì)和分析的結(jié)果數(shù)據(jù), 從而輔
17、助高管進(jìn)行上的。ses時(shí)長(zhǎng),也就是說一個(gè) sesaction,到結(jié)束的對(duì)應(yīng)的開始的action,之間的時(shí)間范圍;還有,就是步長(zhǎng),指的是,一個(gè) ses執(zhí)行期間內(nèi),依次點(diǎn)擊過多少個(gè)頁面,比如說,一次 ses,維持了 1 分鐘,那么訪問時(shí)長(zhǎng)就是 1m,然后在這 1 分鐘內(nèi),點(diǎn)擊了 10 個(gè)頁面,那么 ses步長(zhǎng),就是 10.的比如說,符合第一步篩選出來的 ses的數(shù)量大概是有 1000 萬個(gè)。那么要計(jì)算出,時(shí)長(zhǎng)在 1s3s 內(nèi)的 ses里面,的總 ses的數(shù)量,并除以符合條件數(shù)量(比如 1000 萬),比如是 100 萬/1000 萬,那么 1s3s 內(nèi)的ses占比就是 10%。依次類推,這里說的統(tǒng)
18、計(jì),就是這個(gè)意思。這個(gè)功能的作用,其實(shí)就是,可以讓人從全局的角度看到,符合某些條件的用戶群體,使用的產(chǎn)品的一些。比如大多數(shù)人,到底是會(huì)在產(chǎn)品中停留多長(zhǎng)時(shí)間,大多數(shù)人,會(huì)在一次使用產(chǎn)品的過程中,么對(duì)于使用者來說,有一個(gè)全局和清晰的認(rèn)識(shí)。多少個(gè)頁面。那4.2.2數(shù)據(jù)結(jié)構(gòu)- 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數(shù)據(jù)處理流程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隨機(jī)抽取4.3.1要做什么?在符合條件的 ses中,按照時(shí)間比例隨機(jī)抽取 1000 個(gè) ses這個(gè)按照時(shí)間比例是什么意思呢?隨機(jī)抽取本身是很簡(jiǎn)單的,但是按照時(shí)間比例,就很復(fù)雜了。比如說,這一天總共有 1000 萬的 ses。那么我現(xiàn)在總共要從這 1000 萬 ses中,隨機(jī)抽取出來 1000 個(gè) ses。但是這個(gè)隨機(jī)不是那么簡(jiǎn)單的。需要做到
22、如下幾點(diǎn)要求:首先,如果這一天的 12:0013:00 的ses數(shù)量是 100 萬,那么這個(gè)小時(shí)的 ses占比就是 1/10,那么這個(gè)小時(shí)中的 100 萬的 ses的 100 萬 ses也是這樣做。,就要抽取 1/10 * 1000 = 100 個(gè)。然后再?gòu)倪@個(gè)小時(shí)中,隨機(jī)抽取出 100 個(gè) ses。以此類推,其他小時(shí)的抽取這個(gè)功能的作用,是說,可以讓使用者,能夠?qū)τ诜蠗l件的 ses,按照時(shí)間比例均勻的隨機(jī)采樣出 1000 個(gè) ses,然后觀察每個(gè) ses具體的點(diǎn)擊流/行為,比如先進(jìn)入了首頁、然后點(diǎn)擊了食品品類、然后點(diǎn)擊了雨潤(rùn)火腿腸商品、然后搜索了火腿腸罐頭的對(duì)訂單做了支付。、接著對(duì)火腿腸下
23、了訂單、最后之所以要做到按時(shí)間比例隨機(jī)采用抽取,就是要做到,觀察樣本的公平性。抽取完畢之后,需要將 Ses庫(kù)中。的相關(guān)信息和詳細(xì)信息保存到數(shù)據(jù)4.3.2數(shù)據(jù)模型- 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數(shù)據(jù)處理流程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 的品類中,獲取點(diǎn)擊、下單和支付數(shù)量什么意思呢,對(duì)于這些 ses,每個(gè) ses可能都會(huì)對(duì)一些品類的商品進(jìn)行點(diǎn)擊、下單和支付等等行為。那么現(xiàn)在就需要獲取這些 ses點(diǎn)擊、下單和前 10 的最熱門的品類。也就是說,要計(jì)算出所有這些 ses支付數(shù)
27、量對(duì)各個(gè)品類的點(diǎn)擊、下單和支付的次數(shù),然后按照這三個(gè)屬性進(jìn)行排序,獲取前10 個(gè)品類。這個(gè)功能,很重要,就可以讓明白,就是符合條件的用戶,他最感興趣的商品是什么種類。這個(gè)可以讓公司里的人,清晰地了解到不同層次、不同類型的用戶的心理和喜好。計(jì)算完成之后,將數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中。4.4.2數(shù)據(jù)模型- 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數(shù)據(jù)處理流程4.5 需求四:Top10 活躍 Ses4.5.1 要做什么?對(duì)于前 10 的品類,分別獲取其點(diǎn)擊次數(shù)前 10 的 ses這個(gè)就是說,對(duì)于 top10 的品類,每一個(gè)都要獲取對(duì)它點(diǎn)擊次數(shù)前 10的 ses。這個(gè)功能,可以讓看到,對(duì)某個(gè)用戶群體最感的品類,各個(gè)品類最感最典型的用戶
29、的 ses的行為。計(jì)算完成之后,將數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中。4.5.2數(shù)據(jù)模型4.5.3數(shù)據(jù)處理流程- 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章 頁面單跳轉(zhuǎn)化率分析5.1 模塊概述計(jì)算頁面單跳轉(zhuǎn)化率, 頁面單跳轉(zhuǎn)換率,比如一個(gè)用戶在一次Ses過程中的頁面路徑 3,5,7,9,10,21,那么頁面 3 調(diào)到頁面 5 叫一次單跳,7-9 也叫一次單跳,那么單跳轉(zhuǎn)化率就是要統(tǒng)計(jì)頁面點(diǎn)擊的概率,比如:計(jì)算 3-5 的單跳轉(zhuǎn)化率,先獲取符合條件的 Ses對(duì)于頁面 3 的了頁面 3 又緊接著次數(shù)了頁(PV)為 A,然后獲取符合條件的 Ses中面 5 的次數(shù)為 B,那么 B/A 就是 3-5 的頁面單跳轉(zhuǎn)化率,面 5-7 的轉(zhuǎn)化率怎么求呢?先需要求出符合條件的 Ses記為 C;那么頁了頁面 3 又中緊接著了頁面 5
31、 又緊接著了頁面 7 的次數(shù)為 D,那么 D/C 即為 5-7 的單跳轉(zhuǎn)化率。產(chǎn)品經(jīng)理,可以根據(jù)這個(gè)指標(biāo),去嘗試分析,整個(gè),產(chǎn)品,各個(gè)頁面的表現(xiàn)怎么樣,是不是需要去優(yōu)化產(chǎn)品的布局;吸付頁面;戶最終可以進(jìn)入最后的支數(shù)據(jù)分析師,可以基于咱們的這個(gè)數(shù)據(jù),做更深一步的計(jì)算和分析企業(yè)管理層,可以看到整個(gè)公司的何?心里有數(shù),可以適當(dāng)調(diào)整公司的經(jīng)營(yíng),各個(gè)頁面的之間的跳轉(zhuǎn)的表現(xiàn)如或策略在該模塊中,需要根據(jù)查詢對(duì)象中設(shè)置的 Ses過濾條件,先將對(duì)應(yīng)得Ses過濾出來, 然后根據(jù)查詢對(duì)象中設(shè)置的頁面路徑, 計(jì)算頁面單跳轉(zhuǎn)化率,比如查詢的頁面路徑為:3、5、7、8,那么就要計(jì)算 3-5、5-7、7-8 的頁面單跳轉(zhuǎn)化
32、率。需要注意的一點(diǎn)是, 頁面的時(shí)有先后的。5.2 需求一:頁面單跳轉(zhuǎn)化率5.2.1數(shù)據(jù)模型- Table structure for page_split_convert_rateDROP TABLE IF EXISTS page_split_convert_rate;5.2.2數(shù)據(jù)處理流程第6章 各區(qū)域熱門商品統(tǒng)計(jì)分析6.1 模塊概述根據(jù)用戶指定的日期查詢條件范圍,統(tǒng)計(jì)各個(gè)區(qū)域下的最熱門的 top3 商品,區(qū)域信息、各個(gè)城市的信息在項(xiàng)目中用固定值進(jìn)行配置, 因?yàn)椴辉趺醋儎?dòng)。技術(shù)方案設(shè)計(jì):1、查詢 task, 獲取日期范圍,通過 Spark SQL, 查詢 user_visit_action
33、表中的指定日期范 圍 內(nèi)的數(shù)據(jù), 過濾 出,商品點(diǎn) 擊 行 為 , 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;戶行為數(shù)據(jù)要跟城市信息進(jìn)行 join, city_id、city_name、area、product_id, RDD,轉(zhuǎn)換成 DataFrame,成一個(gè)臨時(shí)表3、Spark SQL 內(nèi)置函數(shù)( case when),對(duì) area 打標(biāo)記( 華東大區(qū),A 級(jí),華中大區(qū),B 級(jí), 東區(qū), C 級(jí), 西區(qū), D 級(jí)), area_level4、計(jì)算出來每個(gè)區(qū)域下每個(gè)商品的點(diǎn)擊次數(shù),group by area, product_id;保留每個(gè)區(qū)域的城市名稱列表; 自定義 UDAF , group_concat_distinct
35、() 函數(shù), 聚合出來一個(gè)city_names 字段, area、product_id、city_names、click_count5、join 商品明細(xì)表,hive( product_id、product_name、extend_info),extend_info是 json 類型,自定義 UDF,get_json_object()函數(shù),取出其中的 product_sus 字段,if()函數(shù)( Spark SQL 內(nèi)置函數(shù)),判斷,0 自營(yíng),1 第;( area、product_id、city_names、click_count、product_name、product_sus)6、開窗函數(shù)
36、,根據(jù) area 來聚合,獲取每個(gè) area 下,click_count前 3 的 product信息; area 、 area_level 、 product_id 、 city_names 、 click_count 、 product_name 、product_sus7、結(jié)果寫入表中6.2 需求一:各區(qū)域 Top3 商品統(tǒng)計(jì)6.2.1數(shù)據(jù)模型- 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數(shù)據(jù)處理流程第
38、7章點(diǎn)擊流量實(shí)時(shí)統(tǒng)計(jì)分析7.1 模塊概述/app, 通常會(huì)給一些第的客戶,打一些;也是一些互聯(lián)網(wǎng)公位打出去, 在用戶來使用司的收入來源;在/app 某個(gè)/app 的時(shí)候,會(huì)顯示出來;此時(shí),有些用戶可能就會(huì)去點(diǎn)擊那個(gè)。被點(diǎn)擊以后,實(shí)際上就是要針對(duì)這種用戶行為(點(diǎn)擊行為),實(shí)時(shí)數(shù)據(jù),進(jìn)行實(shí)時(shí)的大數(shù)據(jù)計(jì)算和統(tǒng)計(jì)。每次點(diǎn)擊一個(gè)以后,通常來說,/app 中都會(huì)有埋點(diǎn)(前端的應(yīng)用中,比如 JavaScript Ajax;app 中的 socket 網(wǎng)絡(luò)請(qǐng)求,往發(fā)送一條日志數(shù)據(jù));日志數(shù)據(jù)而言,通常,如果要做實(shí)時(shí)統(tǒng)計(jì)的話,那么就會(huì)通過某些方式將數(shù)據(jù)寫入到分布式消息隊(duì)列中(Kafka);web 服務(wù)器(ngi
39、nx),nginx 產(chǎn)生的實(shí)時(shí)的不斷增加 / 更日志寫入到客戶端(比如 flume agent),寫入到消息新的本地日志文件,就會(huì)被日志隊(duì)列中(kafka),要負(fù)責(zé)編寫實(shí)時(shí)計(jì)算程序,去從消息隊(duì)列中(kafka)去實(shí)時(shí)地拉取數(shù)據(jù),然后對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)的計(jì)算和統(tǒng)計(jì)。這個(gè)模塊的意義在于, 讓產(chǎn)品經(jīng)理、高管可以實(shí)時(shí)地掌握到公司打的各種的投放效果。以便于后期持續(xù)地對(duì)公司的和策略,進(jìn)投放相關(guān)的行調(diào)整和優(yōu)化;以期望獲得最好的需要實(shí)現(xiàn)以下幾個(gè)需求:收益。1、實(shí)現(xiàn)實(shí)時(shí)的動(dòng)態(tài)拉黑機(jī)制:將每天對(duì)某個(gè)點(diǎn)擊超過 100 次的用戶點(diǎn)擊流量過濾機(jī)制的點(diǎn)擊流量實(shí)時(shí)統(tǒng)計(jì)2、基于3、每天4、統(tǒng)計(jì)每天5、統(tǒng)計(jì)各點(diǎn)擊量的各城市各top
40、3 熱門最近 1 小時(shí)內(nèi)的點(diǎn)擊量趨勢(shì):各最近 1 小時(shí)內(nèi)各分鐘的6、使用高性能方式將實(shí)時(shí)統(tǒng)計(jì)結(jié)果寫入流式數(shù)據(jù)的格式為:timesttimest1450702800province Jiangsuprovince cityuserid adidcity useridadidNanjing1000011000017.2 需求一:統(tǒng)計(jì)用戶7.2.1要做什么?實(shí)現(xiàn)實(shí)時(shí)的動(dòng)態(tài)機(jī)制:將每天對(duì)某個(gè)點(diǎn)擊超過 100 次的用戶拉黑7.2.2數(shù)據(jù)模型- 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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 陽光家園委托協(xié)議書
- 車輛保單轉(zhuǎn)讓協(xié)議書
- 酒廠股份合作協(xié)議書
- 高層年度分紅協(xié)議書
- 雪糕生意轉(zhuǎn)讓協(xié)議書
- 餐飲機(jī)器轉(zhuǎn)讓協(xié)議書
- 通訊施工安全協(xié)議書
- 車輛有償借用協(xié)議書
- 設(shè)備制造技術(shù)協(xié)議書
- 酒店預(yù)訂年會(huì)協(xié)議書
- 幼兒園各類檔案借閱登記表
- SCL-90量表詳細(xì)
- 蒸汽疏水閥性能監(jiān)測(cè)斯派莎克工程中國(guó)有限公司-Armstrong
- 機(jī)械創(chuàng)新設(shè)計(jì)技術(shù)結(jié)課論文
- 公路工程項(xiàng)目環(huán)境保護(hù)措施及其可行性論證
- 普通車床的主軸箱設(shè)計(jì)機(jī)械外文文獻(xiàn)翻譯、中英文翻譯、外文翻譯
- 神經(jīng)外科各種引流管的護(hù)理精品課件
- 湘教版初中地理會(huì)考重點(diǎn)圖復(fù)習(xí)匯集
- 隧道CRD法施工工法
- 年產(chǎn)10萬噸飛灰水洗資源綜合利用項(xiàng)目可行性研究報(bào)告模板
- 八年級(jí)音樂下冊(cè) 第7單元《當(dāng)兵的人》好男兒就是要當(dāng)兵課件1 湘教版
評(píng)論
0/150
提交評(píng)論