Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ) 教案 9 教學(xué)設(shè)計 Hive數(shù)據(jù)倉庫項目實戰(zhàn)_第1頁
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ) 教案 9 教學(xué)設(shè)計 Hive數(shù)據(jù)倉庫項目實戰(zhàn)_第2頁
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ) 教案 9 教學(xué)設(shè)計 Hive數(shù)據(jù)倉庫項目實戰(zhàn)_第3頁
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ) 教案 9 教學(xué)設(shè)計 Hive數(shù)據(jù)倉庫項目實戰(zhàn)_第4頁
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ) 教案 9 教學(xué)設(shè)計 Hive數(shù)據(jù)倉庫項目實戰(zhàn)_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論