012.用戶訪問(wèn)session分析:基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)介紹

表名:user_visit_action(Hive表)
date:日期,代表這個(gè)用戶點(diǎn)擊行為是在哪一天發(fā)生的
user_id:代表這個(gè)點(diǎn)擊行為是哪一個(gè)用戶執(zhí)行的
session_id :唯一標(biāo)識(shí)了某個(gè)用戶的一個(gè)訪問(wèn)session
page_id :點(diǎn)擊了某些商品/品類蠢络,也可能是搜索了某個(gè)關(guān)鍵詞刽肠,然后進(jìn)入了某個(gè)頁(yè)面爸吮,頁(yè)面的id
action_time :這個(gè)點(diǎn)擊行為發(fā)生的時(shí)間點(diǎn)
search_keyword :如果用戶執(zhí)行的是一個(gè)搜索行為钙态,比如說(shuō)在網(wǎng)站/app中述呐,搜索了某個(gè)關(guān)鍵詞寺惫,然后會(huì)跳轉(zhuǎn)到商品列表頁(yè)面疹吃;搜索的關(guān)鍵詞
click_category_id :可能是在網(wǎng)站首頁(yè),點(diǎn)擊了某個(gè)品類(美食西雀、電子設(shè)備萨驶、電腦)
click_product_id :可能是在網(wǎng)站首頁(yè),或者是在商品列表頁(yè)艇肴,點(diǎn)擊了某個(gè)商品(比如呷哺呷哺火鍋XX路店3人套餐腔呜、iphone 6s)
order_category_ids :代表了可能將某些商品加入了購(gòu)物車,然后一次性對(duì)購(gòu)物車中的商品下了一個(gè)訂單再悼,這就代表了某次下單的行為中核畴,有哪些
商品品類,可能有6個(gè)商品冲九,但是就對(duì)應(yīng)了2個(gè)品類谤草,比如有3根火腿腸(食品品類),3個(gè)電池(日用品品類)
order_product_ids :某次下單莺奸,具體對(duì)哪些商品下的訂單
pay_category_ids :代表的是丑孩,對(duì)某個(gè)訂單,或者某幾個(gè)訂單灭贷,進(jìn)行了一次支付的行為温学,對(duì)應(yīng)了哪些品類
pay_product_ids:代表的,支付行為下氧腰,對(duì)應(yīng)的哪些具體的商品

user_visit_action表枫浙,其實(shí)就是放刨肃,比如說(shuō)網(wǎng)站,或者是app箩帚,每天的點(diǎn)擊流的數(shù)據(jù)真友。可以理解為紧帕,用戶對(duì)網(wǎng)站/app每點(diǎn)擊一下盔然,就會(huì)代表在這個(gè)表里面的一條數(shù)據(jù)。

這個(gè)表是嗜,其實(shí)就是愈案,我們先聲明一點(diǎn)。我們的這份基礎(chǔ)數(shù)據(jù)的結(jié)構(gòu)鹅搪,絕對(duì)是為了課程的需要站绪,進(jìn)行了某些改造和簡(jiǎn)化,真實(shí)的電商企業(yè)中丽柿,使用的基礎(chǔ)數(shù)據(jù)表的結(jié)構(gòu)恢准,絕對(duì)是至少是這個(gè)表的10倍復(fù)雜度以上。

還有一點(diǎn)甫题,這個(gè)表在任何企業(yè)中馁筐,都可能是不同的。為什么呢坠非?因?yàn)槲覀冎爸v解過(guò)日志采集流程敏沉。實(shí)際上,用戶在網(wǎng)頁(yè)上真正的執(zhí)行某些行為時(shí)炎码,那么會(huì)往服務(wù)器端發(fā)送日志盟迟。但是日志的格式絕對(duì)不是這個(gè)格式的哦。實(shí)際上辅肾,我們之前也提過(guò)队萤,企業(yè)中會(huì)有專門的大數(shù)據(jù)ETL開(kāi)發(fā)工程師轮锥,對(duì)原始的日志數(shù)據(jù)矫钓,開(kāi)發(fā)大量的ETL,對(duì)數(shù)據(jù)進(jìn)行各種轉(zhuǎn)換和抽取舍杜。然后可能會(huì)為了各種業(yè)務(wù)的需要新娜,形成大量的各種各樣的結(jié)構(gòu)的表,可能已經(jīng)進(jìn)行了處理或者是某些聚合的操作既绩。

所以說(shuō)概龄,這里要說(shuō)的是,這個(gè)表的結(jié)構(gòu)饲握,第一是為了課程我們?cè)斐鰜?lái)的私杜,簡(jiǎn)化了很多蚕键;第二,即使是我們課程造出來(lái)的衰粹,但是往往不同的企業(yè)锣光,這種表的結(jié)構(gòu),可能都是不一樣的铝耻。

所以誊爹,哪怕說(shuō),這個(gè)基礎(chǔ)數(shù)據(jù)的結(jié)構(gòu)瓢捉,不是企業(yè)中完全真實(shí)的频丘,但是。我可以跟大家保證泡态,這個(gè)是沒(méi)有任何問(wèn)題的搂漠。對(duì)與我們的學(xué)習(xí)來(lái)說(shuō)。首先某弦,雖然是做了簡(jiǎn)化的表結(jié)構(gòu)状答,但是也基本是按照真實(shí)企業(yè)中的表結(jié)構(gòu)來(lái)濃縮的;其次刀崖,在開(kāi)發(fā)我們的這種大數(shù)據(jù)平臺(tái)項(xiàng)目中惊科,其實(shí),使用這個(gè)表中提供的這些數(shù)據(jù)亮钦,也就足夠了馆截;最后,其實(shí)蜂莉,按不按公司里的來(lái)蜡娶,都不重要,因?yàn)槟銓W(xué)習(xí)完這套課程以后映穗,到任何企業(yè)中窖张,去做類似的項(xiàng)目,可能都不會(huì)碰到一樣的表蚁滋。所以說(shuō)宿接,我們這里,更多的是辕录,用一張簡(jiǎn)化后的睦霎,但是也相對(duì)貼近真實(shí)的表結(jié)構(gòu),方便我們課程的講解和學(xué)習(xí)走诞;然后呢副女,重點(diǎn)在于,理解課程中講解的真實(shí)的復(fù)雜的業(yè)務(wù)邏輯和Spark技術(shù)實(shí)現(xiàn)流程蚣旱,還有各種性能調(diào)優(yōu)碑幅、troubleshooting戴陡、數(shù)據(jù)傾斜解決等技術(shù)的掌握。

最后沟涨,在掌握了以上知識(shí)以后猜欺,出去,做任何大數(shù)據(jù)項(xiàng)目拷窜,其實(shí)只是表結(jié)果和業(yè)務(wù)變化了而已开皿,但是只要掌握了技術(shù),你都可以去做篮昧。

實(shí)際上赋荆,從這節(jié)課開(kāi)始,我們就已經(jīng)進(jìn)入了正規(guī)的大數(shù)據(jù)項(xiàng)目開(kāi)發(fā)流程懊昨。我們做任何大數(shù)據(jù)系統(tǒng)/平臺(tái)類的項(xiàng)目窄潭,首先第一步,就是要做數(shù)據(jù)調(diào)研酵颁。也就是分析平臺(tái)要基于的底層的基礎(chǔ)數(shù)據(jù)嫉你。分析表結(jié)構(gòu),弄清楚表之間的關(guān)系躏惋。表中的數(shù)據(jù)的更新粒度幽污,一個(gè)小時(shí)更新一次,還是一天更新一次簿姨。會(huì)不會(huì)有臟數(shù)據(jù)距误。每天什么時(shí)候數(shù)據(jù)能夠進(jìn)來(lái)。

表名:user_info(Hive表)
user_id:其實(shí)就是每一個(gè)用戶的唯一標(biāo)識(shí)扁位,通常是自增長(zhǎng)的Long類型准潭,BigInt類型
username:是每個(gè)用戶的登錄名
name:每個(gè)用戶自己的昵稱、或者是真實(shí)姓名
age:用戶的年齡
professional:用戶的職業(yè)
city:用戶所在的城市

user_info表域仇,實(shí)際上刑然,就是一張最普通的用戶基礎(chǔ)信息表;這張表里面暇务,其實(shí)就是放置了網(wǎng)站/app所有的注冊(cè)用戶的信息泼掠。那么我們這里也是對(duì)用戶信息表,進(jìn)行了一定程度的簡(jiǎn)化般卑。比如略去了手機(jī)號(hào)等這種數(shù)據(jù)武鲁。因?yàn)槲覀冞@個(gè)項(xiàng)目里不需要使用到某些數(shù)據(jù)爽雄。那么我們就保留一些最重要的數(shù)據(jù)蝠检,即可。

表名:task(MySQL表)
task_id:表的主鍵
task_name:任務(wù)名稱
create_time:創(chuàng)建時(shí)間
start_time:開(kāi)始運(yùn)行的時(shí)間
finish_time:結(jié)束運(yùn)行的時(shí)間
task_type:任務(wù)類型挚瘟,就是說(shuō)叹谁,在一套大數(shù)據(jù)平臺(tái)中饲梭,肯定會(huì)有各種不同類型的統(tǒng)計(jì)分析任務(wù),比如說(shuō)用戶訪問(wèn)session分析任務(wù)焰檩,頁(yè)面單跳轉(zhuǎn)化率統(tǒng)計(jì)任務(wù)憔涉;所以這個(gè)字段就標(biāo)識(shí)了每個(gè)任務(wù)的類型
task_status:任務(wù)狀態(tài),任務(wù)對(duì)應(yīng)的就是一次Spark作業(yè)的運(yùn)行析苫,這里就標(biāo)識(shí)了兜叨,Spark作業(yè)是新建,還沒(méi)運(yùn)行衩侥,還是正在運(yùn)行国旷,還是已經(jīng)運(yùn)行完畢
task_param:最最重要,用來(lái)使用JSON的格式茫死,來(lái)封裝用戶提交的任務(wù)對(duì)應(yīng)的特殊的篩選參數(shù)

task表跪但,其實(shí)是用來(lái)保存平臺(tái)的使用者,通過(guò)J2EE系統(tǒng)峦萎,提交的基于特定篩選參數(shù)的分析任務(wù)屡久,的信息,就會(huì)通過(guò)J2EE系統(tǒng)保存到task表中來(lái)爱榔。之所以使用MySQL表被环,是因?yàn)镴2EE系統(tǒng)是要實(shí)現(xiàn)快速的實(shí)時(shí)插入和查詢的。

image.png

說(shuō)明一下详幽,這里我們只會(huì)做Spark相關(guān)的東西蛤售,就是說(shuō)編寫Spark作業(yè)程序;spark-submit腳本妒潭;數(shù)據(jù)表的設(shè)計(jì)悴能;我們只會(huì)做,spark從MySQL表中讀取任務(wù)參數(shù)雳灾,執(zhí)行作業(yè)邏輯漠酿,持久化作業(yè)結(jié)果數(shù)據(jù)。

跟J2EE平臺(tái)相關(guān)的谎亩,我們是不會(huì)做的炒嘲。因?yàn)镴2EE本身并不是我們這套課程的重點(diǎn)(Spark)。另外匈庭,如果要做J2EE平臺(tái)夫凸,第一,大家的基礎(chǔ)不同阱持,不是每個(gè)做大數(shù)據(jù)的都會(huì)J2EE的夭拌;第二,要耗費(fèi)的時(shí)間太多,如果那樣鸽扁,可能會(huì)壓縮Spark的知識(shí)點(diǎn)和技術(shù)點(diǎn)蒜绽,寧愿花所有時(shí)間專注講解Spark,而不去講J2EE桶现;第三躲雅,如果你本身就是擅長(zhǎng)J2EE的人, 那么聽(tīng)完本套課程以后骡和,你自己都完全可以去做一個(gè)J2EE平臺(tái)出來(lái)相赁;第四,如果你本身就是只做Spark的大數(shù)據(jù)工程師慰于,那么即使不去關(guān)注J2EE層的實(shí)現(xiàn)噪生,也無(wú)所謂,專注精通做Spark即可东囚。

但是這一套架構(gòu)講解以后跺嗽,對(duì)于只會(huì)Spark的同學(xué),至少可以了解跟J2EE平臺(tái)配合起來(lái)的大數(shù)據(jù)平臺(tái)的架構(gòu)页藻,對(duì)于提高自己的眼界桨嫁,大有裨益

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市份帐,隨后出現(xiàn)的幾起案子璃吧,更是在濱河造成了極大的恐慌,老刑警劉巖废境,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件畜挨,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡噩凹,警方通過(guò)查閱死者的電腦和手機(jī)巴元,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)驮宴,“玉大人逮刨,你說(shuō)我怎么就攤上這事《略螅” “怎么了修己?”我有些...
    開(kāi)封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)迎罗。 經(jīng)常有香客問(wèn)我睬愤,道長(zhǎng),這世上最難降的妖魔是什么纹安? 我笑而不...
    開(kāi)封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任尤辱,我火速辦了婚禮砂豌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘啥刻。我一直安慰自己奸鸯,他們只是感情好咪笑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布可帽。 她就那樣靜靜地躺著,像睡著了一般窗怒。 火紅的嫁衣襯著肌膚如雪映跟。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天扬虚,我揣著相機(jī)與錄音努隙,去河邊找鬼。 笑死辜昵,一個(gè)胖子當(dāng)著我的面吹牛荸镊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播堪置,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼躬存,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了舀锨?” 一聲冷哼從身側(cè)響起岭洲,我...
    開(kāi)封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎坎匿,沒(méi)想到半個(gè)月后盾剩,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡替蔬,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年告私,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片承桥。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡德挣,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出快毛,到底是詐尸還是另有隱情格嗅,我是刑警寧澤,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布唠帝,位于F島的核電站屯掖,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏襟衰。R本人自食惡果不足惜贴铜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧绍坝,春花似錦徘意、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至把介,卻和暖如春勤讽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背拗踢。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工脚牍, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人巢墅。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓诸狭,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親君纫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子驯遇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355