版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
課程名稱:Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)
章節(jié)名稱:Hive數(shù)據(jù)倉庫項目實戰(zhàn)
北京智酷道捷教育科技有限公司
年月
目錄
一、基本說明...................................................................2
二、教學(xué)目標...................................................................2
三、教學(xué)重點...................................................................2
四、教學(xué)難點....................................................................3
五、教學(xué)方法....................................................................3
六、教學(xué)準備....................................................................3
七、教學(xué)過程....................................................................3
八、板書削..................................................................16
九、教具......................................................................16
十、教學(xué)反思..................................................................17
一、基本說明
1.授課班級:
2.授課人數(shù):
3.教學(xué)時間:
4.課時:9課時
5.課型:理論+實踐
二、教學(xué)目標
1.知識與技能
>通過學(xué)習(xí)本課程,學(xué)生能夠理解電商數(shù)倉的基本指標。
>通過學(xué)習(xí)本課程,學(xué)生能夠掌握Hive數(shù)倉設(shè)計的基本流程。
2.過程與方法
>通過學(xué)習(xí)本課程并完成相關(guān)練習(xí),學(xué)生能夠完成Hive數(shù)倉建表。
>通過學(xué)習(xí)本課程并完成相關(guān)練習(xí),學(xué)生能夠完成Hive數(shù)倉各層導(dǎo)入腳本的開發(fā)。
3.情感、態(tài)度、價值觀
>通過探究學(xué)習(xí)本課程,學(xué)生可以掌握電商系統(tǒng)設(shè)計和Hive數(shù)倉建表等知識,并通
過實操Hive數(shù)倉各層導(dǎo)入腳本的開發(fā)使大家能夠掌握Hive數(shù)倉設(shè)計的基本流程,
進而將其應(yīng)用于實際的工作中。
三、教學(xué)重點
>ODS層創(chuàng)J建演示。
>DWD層創(chuàng)建演示。
>DWS層創(chuàng)建演示。
>ADS層創(chuàng)建演示。
AHive分析結(jié)果導(dǎo)出。
A訂單拉鏈表實現(xiàn)。
>Azkaban任務(wù)調(diào)度演示。
四、教學(xué)難點
>Hive數(shù)倉實現(xiàn)。
五、教學(xué)方法
>邊講邊練+實戰(zhàn)演練:首先老師可以一邊介紹電商系統(tǒng)設(shè)計等知識,一邊通過實例
演示了業(yè)務(wù)系統(tǒng)建表及數(shù)據(jù)導(dǎo)入的具體操作,最后通過Hive數(shù)倉實現(xiàn)案例詳細演
示了Hive數(shù)倉建表,以及Hive數(shù)倉各層導(dǎo)入腳本的開發(fā),使大家能夠掌握Hive
數(shù)倉設(shè)計的基本流程。
六、教學(xué)準備
1.學(xué)生準備
>注冊道捷實訓(xùn)云賬號并開通會員。
>虛擬機軟件vmware。
>IDEA開發(fā)工具。
>mysql客戶端軟件。
2.教師準備
>注冊道捷實訓(xùn)云賬號并開通會員。
>虛擬機軟件vmware。
>IDEA開發(fā)工具。
>mysql客戶端軟件。
七、教學(xué)過程
1.導(dǎo)入新課
(1)回顧上節(jié)課內(nèi)容并答疑解惑
回顧上一節(jié)課的內(nèi)容,并對上一節(jié)課布置的作業(yè)以及學(xué)生提出的問題進行答疑解惑。
(2)進入主題,展開詳細講解
本章分為2部分,第1部分是電商系統(tǒng)設(shè)計,介紹了簡單的電商系統(tǒng)的表結(jié)構(gòu)、業(yè)務(wù)
模型,并演示了業(yè)務(wù)系統(tǒng)建表及數(shù)據(jù)導(dǎo)入的具體操作。第2部分通過Hive數(shù)倉實現(xiàn)案例詳
細演示了Hive數(shù)倉建表,以及Hive數(shù)倉各層導(dǎo)入腳本的開發(fā),使大家能夠掌握Hive數(shù)倉
設(shè)計的基本流程。
(3)明確學(xué)習(xí)目標
>理解電商數(shù)倉的基本指標。
>掌握Hive數(shù)倉設(shè)計的基本流程。
2.講授課程
(1)電商系統(tǒng)設(shè)計
1)電商系統(tǒng)中的表及業(yè)務(wù)模型
電商系統(tǒng)中主要的表,包括訂單表、訂單明細表、商品表、用戶表、商品一級分類表、
商品二級分類表、商品三級分類表、一級地域表、二級地域表、三級地域表、支付流水表。
電商系統(tǒng)中的業(yè)務(wù)模型:
order.info
payment」nfosku_info
回biaint(20)<Ek>
biRint(20)<Dk〉
user.idbigint(20)<akl>idbiWnt(20)過
area3idbigint(20)<ak2.fk>outtradenovarchar(20)spu_idbigint(20)
pricedecimal(10.0)
consigneevarchar(lOO)orderidbigint(20)<akl.fk>
skunamevarchar(200)
consigneetelvarchar(20)user_idbigint(20)<ak2>
sku_descvarchar(2000)
totalamountdecimal(10,2)alipay_trade_novarchar(20)
weightdecimal(10.2)
orderstatusvarchar(20)total_amountdecimal(16.2)
tm_idbigint(20)
payment_wayvarchar(20)subjectvarchar(20)
category3_idbigint(20)
ordercommentvarchar(200)payment.typevarchar(20)
sku_default_imgvarchar(200)
outtradenovarchar(50)payment】imevarchar(20)
create】imedatetime
trade_bodyvarchar(200)
createtimedatetime
operate】imedatetime
expire】imedatetime
tracking_novarchar(100)
base_area2
parent_order_idbigint(20)base_area3
biRint(20)<ok>
img_urlvarchar(200)bigini(20)<ok>立
口codebigint(20)
delivery_addressvarchar(1000)codebigint(20)<akl>
namevarchar(50)
Column_19<Vndefined>namevarchar(50)
areal_codebigint(20)<ak>
order_detailarea2_codebigint(20)<ak2>
idbiaint(20)<ok>
order_idbigint(20)<akl>user.infobase_areal
sku-idbigint(20)<ak2>口bigint(20)<Dk)idbigint(20)<Dk〉
skunamevarchar(200)login_namevarchar(200)codebigint(20)<ak1
imgurlvarchar(200)nicknamevarchar(200)namevarchar(50)
order_pricedecimal(10.2)passwdvarchar(200)
sku_numvarchar(200)namevarchar(200)
phonenumvarchar(200)
base_category3emailvarchar(200)
ads_gmv_sum_day
idbiftint(20)<Dk>headimgvarchar(200)
namevarchar(200)userlevelvarchar(200)dtvarchar(200)
category2idbigint(20)<ak.fk>birthdaydategmv_countbigint(20)
gendervarchar(1)gmv_amountdecimal(16.2)
create_timedatetimegmv_paymentdecimal(16.2)
base_category2
idbirint(20)<Dk>base.categoryl
namevarchar(200)idbiidnt(20)~~"k>
categoryl-idbigint(20)<ak.fk>namevarchar(lOO)
2)表詳細設(shè)計
?訂單表
NameCommentDataType-Length-
1id編號bigint(20)20
2user_id用戶idbigint(20)20
3area3Jd區(qū)域idbigint(20)20
4consignee收貨人varchar(IOO)100
5consignee_tel收件人電話varchar(20)20
6total_amount總金額decimal(10,2)10
7order_status訂單狀態(tài)varchar(20)20
8payment_way付款方式varchar(20)20
9order_comment訂單備注varchar(200)200
10out_trade_no訂單交步編號varchar(50)50
11trade_body訂取描述varchar(200)200
12createjime創(chuàng)建時間datetime
13operate_time操作時間datetime
14expire_time失效時間datetime
15tracking_no物流單端號varchar(IOO)100
16parent_order_id父訂單編號bigint(20)20
17img_uri圖片路他varchar(200)200
18delivery_address收貨地址varchar(IOOO)1,000
?訂單明細表
NameCommentDataType-Length"
1id編號bigint(20)20
2order_id訂單編號bigint(20)20
3skujd商品idbigint(20)20
4sku_name商品名稱varchar(200)200
5img_url圖片名稱varchar(200)200
6order_price購買價格decimal(10,2)10
7sku_num購買數(shù)量varchar(200)200
?商品表
NameCommentDataType-Length'
1ididbigint(20)20
2spujdspuidbigint(20)20
3price價格decimal(10,0)10
4sku_name商品名稱varchar(200)200
5sku_desc商品規(guī)格描述varchar(2000)2,000
6weight1ftdecimal(10,2)10
7tm_id品牌bigint(20)20
8category3_id:級分類idbigint(20)20
9sku_default_img默認圖片varchar(200)200
10createtime創(chuàng)建時間datetime
?用戶表
NameCommentDataType-Length'
1id編號bigint(20)20
2login_name川戶名稱varchar(200)200
3nick_name用戶昵稱varchar(200)200
4passwd川戶密碼varchar(200)200
5name用戶姓名varchar(200)200
6phone_num手機號varchar(200)200
7email郵箱varchar(200)200
8head_img頭像varchar(200)200
9user_level用戶級別varchar(200)200
10birthday用戶生日date
11gender性別M男尸女varchar(1)1
12create_time創(chuàng)建時間datetime
?商品一級分類表
NameCommentDataType-Length-
1id編號bigint(20)20
2name分類名稱varchar(IOO)100
?商品二級分類表
NameCommentDataType二Length-
1id編號bigint(20)20
2name:級分類名稱varchar(200)200
3category1_id一級分類編號bigint(20)20
?商品三級分類表
NameCommentDataType-Length”
1id編號bigint(20)20
2name二級分類名稱varchar(200)200
3category2Jd二級分類編號bigint(20)20
?一級地域表
NameCommentDataTypeLength-
1ididbigint(20)20
2code區(qū)域編碼bigint(20)20
3name名稱varchar(50)50
?二級地域表
NameCommentDataType-Length-
1ididbigint(20)20
2code區(qū)域編碼bigint(20)20
3name名稱varchar(50)50
4area1_code上級編碼bigint(20)20
?三級地域表
NameCommentDataType-Length-
1ididbigint(20)20
2codeM域編碼bigint(20)20
3name名稱varchar(50)50
4area2_codeI:級編碼bigint(20)20
?支付流水表
NameCommentDataType-Length-
1id編號bigint(20)20
2out_trade_no對外業(yè)務(wù)編號varchar(20)20
3order_id訂單編號bigint(20)20
4userjd用戶編號bigint(20)20
5alipay_trade_no支付寶交易流水編號varchar(20)20
6total_amount支付金額decimal(16,2)16
7subject交易內(nèi)容varchar(20)20
8payment_type支付方式varchar(20)20
9payment_time支付時間varchar(20)20
3)數(shù)據(jù)庫初始化
數(shù)據(jù)庫的初始化,分為數(shù)據(jù)庫建表和導(dǎo)入模擬數(shù)據(jù)兩個部分。
>數(shù)據(jù)庫建表
>導(dǎo)入模擬數(shù)據(jù)
(2)Hive數(shù)倉實現(xiàn)
1)數(shù)倉設(shè)計
數(shù)據(jù)倉庫設(shè)計的基本流程:
業(yè)務(wù)系統(tǒng)報表系統(tǒng)
數(shù)倉的設(shè)計說明:
?按照數(shù)據(jù)的日期創(chuàng)建分區(qū)表。之所以要創(chuàng)建分區(qū)表,是因為我們處理的是海量數(shù)據(jù),
每天處理的數(shù)據(jù)量非常大,按日期創(chuàng)建分區(qū)表后便于數(shù)據(jù)的管理。
?數(shù)據(jù)進行壓縮處理(snappy)。同樣是因為我們要處理的數(shù)據(jù)是海量數(shù)據(jù),對數(shù)
據(jù)進行壓縮處理后便于存儲和傳輸。
?數(shù)據(jù)進行維度退化處理。在業(yè)務(wù)系統(tǒng)中有些表維度是三級,例如商品分類表和地域
表,在分析時要做維度退化處理。
對數(shù)倉分層的說明:
?ODS層:與原始業(yè)務(wù)系統(tǒng)數(shù)據(jù)保持一致。
?DWD層:對ODS層數(shù)據(jù)進行過濾,對商品分類表和地域表進行維度退化處理。
?DWS層:對DWD層數(shù)據(jù)進行聚合,創(chuàng)建用戶行為"寬表"。
?ADS層:GMV指標分析。ADS層涉及的指標非常多,這里我們要實現(xiàn)的是一個
簡易的電商系統(tǒng),所以只分析GMV指標即可。
2)ODS層設(shè)計
在該層中設(shè)計了訂單表、訂單明細表、商品表、用戶表、商品一級分類表、商品二級分
類表、商品三級分類表、一級地域表、二級地域表、三級地域表和支付流水表。
ODS層的業(yè)務(wù)模型:
order_info
payment_infosku_info
idbigint(20)<Dk>
idbimrH(20)〈Dk)
useridbigint(20)<akl>idbigint(20)Sk>
spu_idbigint(20)
area3idbigint(20)<ak2.fk>out_trade_novarchar(20)
pricedecimal(10.0)
consigneevarchar(100)order,idbigint(20)<akl.fk>
consigneetelvarchar(20)user_idbigint(20)<ak2>sku_namevarchar(200)
totalamountdecimal(10.2)a1ipay_trade.novarchar(20)sku_descvarchar(2000)
weightdecimal(10.2)
orderstatusvarchar(20)total_amountdecimal(16.2)
tm_idbigint(20)
paymentwayvarchar(20)subjectvarchar(20)
category3_idbigint(20)
ordercommentvarchar(200)pajTnent_typevarchar(20)
sku_default_imgvarchar(200)
outtradenovarchar(50)paynent.timevarchar(20)
create/imedatetiae
tradebodyvarchar(200)
create】imedatetise
operate.ximedatetiae
expire.timedatetise
trackingnovarchar(100)
base_area2
parent_order_idbigint(20)basearea3
img_urlvarchar(200)nb-t(20)1Dk
idbiRint(20)<Dk>
delivery_addressvarchar(1000)codebigint(20)<akl>codebigint(20)
namevarchar(50)
Colu?n_19〈Undefined)namevarchar(50)
areal.codebigint(20)<ak>
order_detailarea2_codebigint(20)<ak2>
idbielnt(20)6k)
orderidbigint(20)<akl>user_infobase_areal
sku.idbigint(20)
<ak2>idbiR、nt(20)idbigint(20)〈Dk)
sku-namevarchar(200)login_namevarchar(200)codebigint(20)<ak>
img_urlvarchar(200)nick_namevarchar(200)namevarchar(50)
order_pricedecimal(10.2)passedvarchar(200)
skunumvarchar(200)namevarchar(200)
phone_numvarchar(200)
base_category3emailvarchar(200)
adsgmvsumday
idbiRint(20)<Dk)head_iogvarchar(200)
namevarchar(200)user_levelvarchar(200)dtvarchar(200)
category2idbigint(20)<ak.fk>birthdaydategBV_counxbigint(20)
gendervarchar(1)gBv_amountdecimal(16.2)
create/imeedatetimegnv-payioentdecimal(16,2)
Ibase_category2|
biRinf(20)〈ok〉base_categoryl
nataevarchar(200)idbieint(20)<Dk>
categoryl_idbigint(20)<ak.fk>naaevarchar(100)
3)ODS層創(chuàng)建演示
ODS層的創(chuàng)建可以按照以下步驟來實現(xiàn):
?啟動Hadoop集群;
?啟動Hive;
?創(chuàng)建Hive數(shù)據(jù)庫;
?創(chuàng)建ODS層數(shù)據(jù)表;
?使用Sqoop將業(yè)務(wù)數(shù)據(jù)從MySQL導(dǎo)入到HDFS;
?使用Sqoop將HDFS數(shù)據(jù)導(dǎo)入至!JHive。
4)DWD層設(shè)計
在該層設(shè)計了訂單表、訂單詳情表、用戶表、商品表和支付流水表。
?訂單表:從ODS層過濾臟數(shù)據(jù)后導(dǎo)入,增加地址的各級地域列,做維度退化處理.
?訂單詳情表:從ODS層過濾臟數(shù)據(jù)后導(dǎo)入。
用戶表:從ODS層過濾臟數(shù)據(jù)后導(dǎo)入。
?商品表:從ODS層過濾臟數(shù)據(jù)后導(dǎo)入,增加"商品分類”的各級分類名稱,做維
度退化處理。
?支付流水表:從ODS層過濾臟數(shù)據(jù)后導(dǎo)入。
DWD層的業(yè)務(wù)模型:
dwd__user_infodwd_sku_infodwd_order_detai1
idbiNnt<r)k〉idbigint<Dk〉idbigint
namevarchar(50)spu_idbigintorder_idbigint
phone_numvarchar(50)pricedecimal(10.0)sku_idbigint
emailvarchar(50)skunamevarchar(200)skunamevarchar(200)
user_levelvarchar(50)sku_descvarchar(2000)img_urlvarchar(200)
birthdayvarchar(50)categoryl_idbigintorder_pricedecimal(10,2)
gendervarchar(1)category2_idbigintsku_numvarchar(200)
create_timevarchar(50)category3_idbigint
categorylnamevarchar(50)
category2_namevarchar(50)
dwd_order_infocategory3_namevarchar(50)
decimal(10,2)
idbigint<Dk>weight
useridvarchar(50)<akl>tm_idbigint
varchar(50)
totalamountdecimal(10,2)create_time
order_statusvarchar(20)
payment_wayvarchar(20)
outtradenovarchar(50)dwd_payment_info
create_timevarchar(50)遲bigint<£k>
operate_timevarchar(50)outtradenovarchar(20)
area3_idbigintorder_idbigint<akl,fk>
areal_codebigintuser_idbigint<ak2>
area2_codebigintalipay_trade_novarchar(20)
area3codebigint<ak2>totalamountdecimal(16,2)
arealnamevarchar(50)subjectvarchar(20)
area2namevarchar(50)payment_typevarchar(20)
area3_namevarchar(50)pa)Tnent_timevarchar(20)
ODS層的數(shù)據(jù)維度退化:
三級地域支
裔品次三皴分類表
5)DWD層創(chuàng)建演示
DWD層的創(chuàng)建可以按照以下步驟來實現(xiàn):
?啟動Hadoop集群;
?啟動Hive;
?創(chuàng)建DWD層數(shù)據(jù)表;
使用腳本導(dǎo)入數(shù)據(jù)。
6)DWS層削
DWS層的數(shù)據(jù)來源于DWD層,是將DWD層的數(shù)據(jù)進行匯總,然后導(dǎo)入到DWS層
的。在DWS層設(shè)計了一個用戶行為寬表。
NameCommentDataType-Length二
1user_id用戶IDbigint
2order_count訂單數(shù)量bigint
3order_amount訂單金額decimal(16,2)16
4payment_count支付流水?dāng)?shù)量bigint
5payment_amount支付流水金額decimal(16,2)16
7)DWS層創(chuàng)建演示
DWS層的創(chuàng)建可以按照以下步驟來實現(xiàn):
?啟動Hadoop集群;
?啟動Hive;
?創(chuàng)建DWS層數(shù)據(jù)表;
?使用腳本導(dǎo)入數(shù)據(jù)。
8)ADS層設(shè)計
ADS層主要實現(xiàn)電商系統(tǒng)中的業(yè)務(wù)分析指標,這里重點介紹一個分析指標——GMV
(GrossMerchandiseVolume),GMV是指電商系統(tǒng)中一段時間內(nèi)的成交金額,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車燃料項目可行性研究報告-20241226-051644
- 藥檢室施工方案
- 防腐池施工方案
- 二零二五年度KTV門店場地租賃及無線網(wǎng)絡(luò)覆蓋合同3篇
- 2025版公士綠化管理所特色植物引種與應(yīng)用合同3篇
- 2025年度特種設(shè)備安全責(zé)任書標準范本
- 2024年酒店消防工程升級改造施工合同
- 2024年離婚雙方子女教育援助及監(jiān)護責(zé)任協(xié)議3篇
- 2024年重慶市法定離婚合同標準格式
- 二零二五年度供應(yīng)鏈融資反擔(dān)保合同樣本3篇
- 2024年中國航空油料集團有限公司校園招聘考試試題必考題
- 知識圖譜智慧樹知到期末考試答案章節(jié)答案2024年浙江大學(xué)
- 《灰塵的旅行》導(dǎo)讀
- 高血壓患者不遵醫(yī)飲食行為的原因分析及對策
- 60周歲以上的老年人換領(lǐng)C1駕照三力測試題答案
- 社區(qū)依法執(zhí)業(yè)培訓(xùn)課件
- ISO50001能源管理體系管理評審報告OK
- 輸送機械安全培訓(xùn)
- 人教版六年級上冊計算題專項練習(xí)1000題及答案
- 農(nóng)村文化建設(shè)培訓(xùn)
- 教育理念和教育方法
評論
0/150
提交評論