![2022高職 大數(shù)據(jù)技術(shù)與應(yīng)用 任務(wù)書4(賽項(xiàng)賽題)_第1頁](http://file4.renrendoc.com/view/a3ec36b28363419c34733c3b8a359825/a3ec36b28363419c34733c3b8a3598251.gif)
![2022高職 大數(shù)據(jù)技術(shù)與應(yīng)用 任務(wù)書4(賽項(xiàng)賽題)_第2頁](http://file4.renrendoc.com/view/a3ec36b28363419c34733c3b8a359825/a3ec36b28363419c34733c3b8a3598252.gif)
![2022高職 大數(shù)據(jù)技術(shù)與應(yīng)用 任務(wù)書4(賽項(xiàng)賽題)_第3頁](http://file4.renrendoc.com/view/a3ec36b28363419c34733c3b8a359825/a3ec36b28363419c34733c3b8a3598253.gif)
![2022高職 大數(shù)據(jù)技術(shù)與應(yīng)用 任務(wù)書4(賽項(xiàng)賽題)_第4頁](http://file4.renrendoc.com/view/a3ec36b28363419c34733c3b8a359825/a3ec36b28363419c34733c3b8a3598254.gif)
![2022高職 大數(shù)據(jù)技術(shù)與應(yīng)用 任務(wù)書4(賽項(xiàng)賽題)_第5頁](http://file4.renrendoc.com/view/a3ec36b28363419c34733c3b8a359825/a3ec36b28363419c34733c3b8a3598255.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022年全國(guó)職業(yè)院校技能大賽
高職組
“大數(shù)據(jù)技術(shù)與應(yīng)用”
賽項(xiàng)賽卷(4卷)
任
務(wù)
書
參賽隊(duì)編號(hào):
背景描述
大數(shù)據(jù)時(shí)代,電商經(jīng)營(yíng)模式發(fā)生很大改變。在傳統(tǒng)運(yùn)營(yíng)模式中,
缺乏數(shù)據(jù)積累,人們?cè)谧龀鲆恍Q策行為過程中,更多是憑借個(gè)人經(jīng)
驗(yàn)和直覺,發(fā)展路徑比較自我封閉。而大數(shù)據(jù)時(shí)代,為人們提供一種
全新的思路,通過大量的數(shù)據(jù)分析得出的結(jié)果將更加現(xiàn)實(shí)和準(zhǔn)確。商
家可以對(duì)客戶的消費(fèi)行為信息數(shù)據(jù)進(jìn)行收集和整理,比如消費(fèi)者購(gòu)買
產(chǎn)品的花費(fèi)、選擇產(chǎn)品的渠道、偏好產(chǎn)品的類型、產(chǎn)品回購(gòu)周期、購(gòu)
買產(chǎn)品的目的、消費(fèi)者家庭背景、工作和生活環(huán)境、個(gè)人消費(fèi)觀和價(jià)
值觀等。通過數(shù)據(jù)追蹤,知道顧客從哪兒來,是看了某網(wǎng)站投放的廣
告還是通過朋友推薦鏈接,是新訪客還是老用戶,喜歡瀏覽什么產(chǎn)品,
購(gòu)物車有無商品,是否清空,還有每一筆交易記錄,精準(zhǔn)鎖定一定年
齡、收入、對(duì)產(chǎn)品有興趣的顧客,對(duì)顧客進(jìn)行分組、標(biāo)簽化,通過不
同標(biāo)簽組合運(yùn)用,獲得不同目標(biāo)群體,以此開展精準(zhǔn)推送。
因數(shù)據(jù)驅(qū)動(dòng)的零售新時(shí)代已經(jīng)到來,沒有大數(shù)據(jù),我們無法為消
費(fèi)者提供這些體驗(yàn),為完成電商的大數(shù)據(jù)分析工作,你所在的小組將
應(yīng)用大數(shù)據(jù)技術(shù),以Scala作為整個(gè)項(xiàng)目的基礎(chǔ)開發(fā)語言,基于大數(shù)
據(jù)平臺(tái)綜合利用Hive、Spark、Flink、Vue.js等技術(shù),對(duì)數(shù)據(jù)進(jìn)行
處理、分析及可視化呈現(xiàn),你們作為該小組的技術(shù)人員,請(qǐng)按照下面
任務(wù)完成本次工作。
模塊A:大數(shù)據(jù)平臺(tái)搭建(容器環(huán)境)(15分)
環(huán)境說明:
服務(wù)端登錄地址詳見各模塊服務(wù)端說明。
補(bǔ)充說明:宿主機(jī)可通過Asbru工具或SSH客戶端進(jìn)行SSH訪問;
相關(guān)軟件安裝包在宿主機(jī)的/opt目錄下,請(qǐng)選擇對(duì)應(yīng)的安裝包進(jìn)行
安裝,用不到的可忽略;
所有模塊中應(yīng)用命令必須采用絕對(duì)路徑;
從本地倉(cāng)庫(kù)中拉取鏡像,并啟動(dòng)3個(gè)容器
進(jìn)入Master節(jié)點(diǎn)的方式為
dockerexec-itmaster/bin/bash
進(jìn)入Slavel節(jié)點(diǎn)的方式為
dockerexec-itslavel/bin/bash
進(jìn)入Slave2節(jié)點(diǎn)的方式為
dockerexec-itslave2/bin/bash
同時(shí)將/opt目錄下的所有安裝包移動(dòng)到3個(gè)容器節(jié)點(diǎn)中。
任務(wù)一:Hadoop完全分布式安裝配置
本環(huán)節(jié)需要使用root用戶完成相關(guān)配置,安裝Hadoop需要配置前置環(huán)境。
命令中要求使用絕對(duì)路徑,具體要求如下:
1、將Master節(jié)點(diǎn)JDK安裝包解壓并移動(dòng)到/usr/java路徑(若路徑不存在,則
需新建),將命令復(fù)制并粘貼至對(duì)應(yīng)報(bào)告中;
2、修改/root/profile文件,設(shè)置JDK環(huán)境變量,配置完畢后在Master節(jié)點(diǎn)分
別執(zhí)行“java”和“javac”命令,將命令行執(zhí)行結(jié)果分別截圖并粘貼至對(duì)
應(yīng)報(bào)告中;
3、請(qǐng)完成host相關(guān)配置,將三個(gè)節(jié)點(diǎn)分別命名為master、slavel、slave2,
并做免密登錄,使用絕對(duì)路徑從Master節(jié)點(diǎn)復(fù)制JDK解壓后的安裝文件到
SlavedSlave2節(jié)點(diǎn),并配置相關(guān)環(huán)境變量,將全部復(fù)制命令復(fù)制并粘貼至
對(duì)應(yīng)報(bào)告中;
4、在Master節(jié)點(diǎn)將Hadoop解壓到/opt目錄下,并將解壓包分發(fā)至Slavel、
Slave2節(jié)點(diǎn)中,配置好相關(guān)環(huán)境,初始化Hadoop環(huán)境namenode,將初始化
命令及初始化結(jié)果復(fù)制粘貼至對(duì)應(yīng)報(bào)告中;
5、啟動(dòng)Hadoop集群,查看Master節(jié)點(diǎn)jps進(jìn)程,將查看結(jié)果復(fù)制粘貼至對(duì)應(yīng)
報(bào)告中。
任務(wù)二:Hive安裝配置
本環(huán)節(jié)需要使用root用戶完成相關(guān)配置,已安裝Hadoop及需要配置前置環(huán)
境,具體要求如下:
1、將Master節(jié)點(diǎn)Hive安裝包解壓到/opt目錄下,將命令復(fù)制并粘貼至對(duì)應(yīng)報(bào)
告中;
2、設(shè)置Hive環(huán)境變量,并使環(huán)境變量生效,并將環(huán)境變量配置內(nèi)容復(fù)制并粘
貼至對(duì)應(yīng)報(bào)告中;
3、完成相關(guān)配置并添加所依賴包,將MySQL數(shù)據(jù)庫(kù)作為Hive元數(shù)據(jù)庫(kù)。初始
化Hive元數(shù)據(jù),并通過schematool相關(guān)命令執(zhí)行初始化,將初始化結(jié)果復(fù)
制粘貼至對(duì)應(yīng)報(bào)告中。
任務(wù)三:Sqoop安裝配置
本環(huán)節(jié)需要使用root用戶完成相關(guān)配置,已安裝Hadoop及需要配置前置環(huán)
境,具體要求如下:
1、將Master節(jié)點(diǎn)Sqoop安裝包解壓,修改解壓后文件夾名為sqoop并移動(dòng)到
/usr/local/src路徑下,將全部命令復(fù)制粘貼至對(duì)應(yīng)報(bào)告中;
2、完善相關(guān)配置,修改Sqoop環(huán)境變量,并使環(huán)境變量只對(duì)當(dāng)前root用戶生
效,并將環(huán)境變量修改內(nèi)容復(fù)制粘貼至對(duì)應(yīng)報(bào)告中;
3、測(cè)試Sqoop連接Master節(jié)點(diǎn)的MySQL數(shù)據(jù)庫(kù)是否成功并展示所有的
database,并將連接命令復(fù)制粘貼至對(duì)應(yīng)報(bào)告中。
模塊B:離線數(shù)據(jù)處理(25分)
環(huán)境說明:
服務(wù)端登錄地址詳見各模塊服務(wù)端說明。
補(bǔ)充說明:各主機(jī)可通過Asbru工具或SSH客戶端進(jìn)行SSH訪問;
Master節(jié)點(diǎn)MySQL數(shù)據(jù)庫(kù)用戶名/密碼:root/123456(已配置遠(yuǎn)程
連接);
Hive的元數(shù)據(jù)啟動(dòng)命令為:
nohuphive-servicemetastore&
Hive的配置文件位于/opt/apache-hive-2.3.4-bin/conf/
Spark任務(wù)在Yarn上用Client運(yùn)行,方便觀察日志。
任務(wù)一:數(shù)據(jù)抽取
編寫Scala工程代碼,將MySQL的shtd_store庫(kù)中表CUSTOMER.NATION.
PART、PARTSUPP、REGION,SUPPLIER的數(shù)據(jù)全量抽取到Hive的ods庫(kù)中對(duì)應(yīng)表
customer,nation,part,partsupp,region,supplier中,將表ORDERS,LINEITEM
的數(shù)據(jù)增量抽取到Hive的0ds庫(kù)中對(duì)應(yīng)表ORDERS,LINEITEM中。
1、抽取shtdstore庫(kù)中CUSTOMER的全量數(shù)據(jù)進(jìn)入Hive的ods庫(kù)中表customer。
字段排序、類型不變,同時(shí)添加靜態(tài)分區(qū),分區(qū)字段類型為String,且值為
當(dāng)前比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)。并在hivecli執(zhí)
行showpartitionsods.customer命令,將結(jié)果截圖復(fù)制粘貼至對(duì)應(yīng)報(bào)告
中;
2、抽取shtd_store庫(kù)中NATION的全量數(shù)據(jù)進(jìn)入Hive的ods庫(kù)中表nation。
字段排序、類型不變,同時(shí)添加靜態(tài)分區(qū),分區(qū)字段類型為String,且值為
當(dāng)前比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)。并在hivecli執(zhí)
行showpartitionsods.nation命令,將結(jié)果截圖復(fù)制粘貼至對(duì)應(yīng)報(bào)告中;
3、抽取shtd_store庫(kù)中PART的全量數(shù)據(jù)進(jìn)入Hive的ods庫(kù)中表part。字段
排序、類型不變,同時(shí)添加靜態(tài)分區(qū),分區(qū)字段類型為String,且值為當(dāng)前
比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)0并在hivecli執(zhí)行show
partitionsods.part命令,將結(jié)果截圖復(fù)制粘貼至對(duì)應(yīng)報(bào)告中;
4、抽取shtd_store庫(kù)中PARTSUPP的全量數(shù)據(jù)進(jìn)入Hive的ods庫(kù)中表partsupp。
字段排序、類型不變,同時(shí)添加靜態(tài)分區(qū),分區(qū)字段類型為String,且值為
當(dāng)前比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)。并在hivecli執(zhí)
行showpartitionsods.partsupp命令,將結(jié)果截圖復(fù)制粘貼至對(duì)應(yīng)報(bào)告
中;
5、抽取shtd_store庫(kù)中REGION的全量數(shù)據(jù)進(jìn)入Hive的ods庫(kù)中表region。
字段排序、類型不變,同時(shí)添加靜態(tài)分區(qū),分區(qū)字段類型為String,且值為
當(dāng)前比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)。并在hivecli執(zhí)
行showpartitionsods.region命令,將結(jié)果截圖復(fù)制粘貼至對(duì)應(yīng)報(bào)告中;
6、抽取shtdstore庫(kù)中SUPPLIER的全量數(shù)據(jù)進(jìn)入Hive的ods庫(kù)中表supplier。
字段排序、類型不變,同時(shí)添加靜態(tài)分區(qū),分區(qū)字段類型為String,且值為
當(dāng)前比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)。并在hivecli執(zhí)
行showpartitionsods.supplier命令,將結(jié)果截圖復(fù)制粘貼至對(duì)應(yīng)報(bào)告
中;
7、抽取shtdstore庫(kù)中ORDERS的增量數(shù)據(jù)進(jìn)入Hive的ods庫(kù)中表orders,
要求只取某年某月某日及之后的數(shù)據(jù)(包括某年某月某日),根據(jù)ORDERS
表中ORDERKEY作為增量字段(提示:對(duì)比MySQL和Hive中的表的ORDERKEY
大?。?,只將新增的數(shù)據(jù)抽入,字段類型不變,同時(shí)添加動(dòng)態(tài)分區(qū),分區(qū)字
段類型為String,且值為ORDERDATE字段的內(nèi)容(ORDERDATE的格式為
yyyy-MM-dd,分區(qū)字段格式為yyyyMMdd),。并在hivecli執(zhí)行select
count(distinct(dealdate))fromods.orders命令,將結(jié)果截圖復(fù)制粘貼
至對(duì)應(yīng)報(bào)告中;
8,抽取shtd_store庫(kù)中LINEITEM的增量數(shù)據(jù)進(jìn)入Hive的ods庫(kù)中表lineitem,
根據(jù)LINEITEM表中orderkey作為增量字段,只將新增的數(shù)據(jù)抽入,字段類
型不變,同時(shí)添加靜態(tài)分區(qū),分區(qū)字段類型為String,且值為當(dāng)前比賽日的
前一天日期(分區(qū)字段格式為yyyyMMdd)。并在hivecli執(zhí)行showpartitions
ods.lineitem命令,將結(jié)果截圖復(fù)制粘貼至對(duì)應(yīng)報(bào)告中。
任務(wù)二:數(shù)據(jù)清洗
編寫HiveSQL代碼在hive中運(yùn)行,將ods庫(kù)中相應(yīng)表數(shù)據(jù)全量抽取到Hive
的dwd庫(kù)中對(duì)應(yīng)表中。表中有涉及到timestamp類型的,均要求按照yyyy-MM-dd
HH:mni:ss,不記錄毫秒數(shù),若原數(shù)據(jù)中只有年月日,則在時(shí)分秒的位置添加
00:00:00,添加之后使其符合yyyy-MM-ddHH:mm:sso
1、將ods庫(kù)中customer表數(shù)據(jù)抽取到dwd庫(kù)中dim_customer的分區(qū)表,分區(qū)
字段為etldate且值與ods庫(kù)的相對(duì)應(yīng)表該值相等,并添加dwd_insert_user>
dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中
dwd_insert_user.dwd_modify_user均填寫“userl”,dwdinsert_time>
dwd_modify_time均填寫操作時(shí)間,并進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。在hivecli中按
照custkey順序排序,查詢dimcustomer前1條數(shù)據(jù),將結(jié)果內(nèi)容復(fù)制粘
貼至對(duì)應(yīng)報(bào)告中;
2、將ods庫(kù)中part表數(shù)據(jù)抽取到dwd庫(kù)中dim_part的分區(qū)表,分區(qū)字段為
etldate且值與ods庫(kù)的相對(duì)應(yīng)表該值相等,并添加dwdinsert_user.
dwd_insert_time、dwd_modify_user、dwdmodify_time四列,其中
dwd_insert_user>dwd_modify_user均填寫“userl”,dwd_insert_time>
dwd_modify_time均填寫操作時(shí)間,并進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。在hivecli中按
照part_key順序排序,查詢dimjpart前1條數(shù)據(jù),將結(jié)果內(nèi)容復(fù)制粘貼至
對(duì)應(yīng)報(bào)告中;
3、將ods庫(kù)中nation表數(shù)據(jù)抽取到dwd庫(kù)中dim_nation的分區(qū)表,分區(qū)字段
為etldate且值與ods庫(kù)的相對(duì)應(yīng)表該值相等,并添加dwd_insertuser、
dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中
dwd_insert_user.dwd_modify_user均填寫“userl”,dwd_insert_time^
dwd_modify_time均填寫操作時(shí)間,并進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。在hivecli中按
照nation_key順序排序,查詢dim_nation前1條數(shù)據(jù),將結(jié)果內(nèi)容復(fù)制粘
貼至對(duì)應(yīng)報(bào)告中;
4、將ods庫(kù)中region表數(shù)據(jù)抽取到dwd庫(kù)中dim_region的分區(qū)表,分區(qū)字段
為etldate且值與ods庫(kù)的相對(duì)應(yīng)表該值相等,并添加dwd_insertuser>
dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中
dwd_insert_user>dwd_modify_user均填寫“userl”,dwd_insert_time、
dwd_modify_time均填寫操作時(shí)間,并進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。在hivecli中按
照region_key順序排序,查詢dim_region表前1條數(shù)據(jù),將結(jié)果內(nèi)容復(fù)制
粘貼至對(duì)應(yīng)報(bào)告中;
5、將ods庫(kù)中orders表數(shù)據(jù)抽取到dwd庫(kù)中fact_orders的分區(qū)表,分區(qū)字
段為etldate且值與ods庫(kù)的相對(duì)應(yīng)表該值相等,并添加dwd_insert_user^
dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中
dwd_insert_userdwd_modify_user均填寫“userl”,dwd_insert_time>
dwd_modify_time均填寫操作時(shí)間,并進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。在執(zhí)行hivecli
執(zhí)行selectcount(distinct(dealdate))fromdwd.fact_orders命令,將
結(jié)果內(nèi)容復(fù)制粘貼至對(duì)應(yīng)報(bào)告中;
6、待任務(wù)5完成以后,需刪除ods.orders中的分區(qū),僅保留最近的三個(gè)分區(qū)。
并在hivecli執(zhí)行showpartitionsods.orders命令,將結(jié)果截圖粘貼至
對(duì)應(yīng)報(bào)告中;
7、將ods庫(kù)中l(wèi)ineitem表數(shù)據(jù)抽取到dwd庫(kù)中fact_lineitem的分區(qū)表,分
區(qū)字段為etldate且值與ods庫(kù)的相對(duì)應(yīng)表該值相等,抽取的條件為根據(jù)
orderkey和partkey進(jìn)行去重,并添加dwd_insert_userdwd_insert_time
dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、
dwd_modify_user均填寫“userl”,dwd_insert_timedwd_modify_time
均填寫操作時(shí)間,并進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。在hivecli執(zhí)行showpartitions
dwd.fact_lineitem命令,將結(jié)果截圖粘貼至對(duì)應(yīng)報(bào)告中。
任務(wù)三:指標(biāo)計(jì)算
編寫Scala代碼使用Spark引擎,并計(jì)算相關(guān)指標(biāo)
1、根據(jù)dwd層表統(tǒng)計(jì)每人每天下單的數(shù)量和下單的總金額,存入dws層的
customer_consumption_day_aggr表(表結(jié)構(gòu)如下)中,然后在hivecli
中按照cust_key,totalconsumption,totalorder三列均逆序排序的方式,
查詢出前5條,將SQL語句與執(zhí)行結(jié)果截圖粘貼至對(duì)應(yīng)報(bào)告中;
字段類型中文含義備注
cust_keyint客戶key
cust_namestring客戶名稱
totalconsumptiondouble消費(fèi)總額當(dāng)月消費(fèi)訂單總額
totalorderint訂單總數(shù)當(dāng)月訂單總額
yearint年訂單產(chǎn)生的年
monthint月訂單產(chǎn)生的月
dayintII訂單產(chǎn)生的日
2、根據(jù)dws層表customer_consumption_day_aggr表,再聯(lián)合
dwd.dim_region,dwd.dim_nation統(tǒng)計(jì)每人每個(gè)月下單的數(shù)量和下單的總金
額,并按照custkey,totalconsumption,totalorder,month進(jìn)行分組逆
序排序(以cust_key為分組條件),將計(jì)算結(jié)果存入MySQL數(shù)據(jù)庫(kù)shtdstore
的nationeverymonth表(表結(jié)構(gòu)如下)中,然后在Linux的MySQL命令行
中根據(jù)訂單總數(shù)、消費(fèi)總額、國(guó)家表主鍵三列均逆序排序的方式,查詢出前
5條,將SQL語句與執(zhí)行結(jié)果截圖粘貼至對(duì)應(yīng)報(bào)告中;
字段類型中文含義備注
cust_keyint客戶key
cust_namestring客戶名稱
nationkeyint國(guó)家表生鍵
nationnametext國(guó)家名稱
regionkeyint地區(qū)表主鍵
regionnametext地區(qū)名稱
totalconsumptiondouble消費(fèi)總額當(dāng)月消費(fèi)訂單總額
totalorderint訂單總數(shù)當(dāng)月訂單總額
yearint年訂單產(chǎn)生的年
monthint月訂單產(chǎn)生的月
sequenceInt次序
3、請(qǐng)根據(jù)dws層表fact_orders表,再聯(lián)合dwd.dim_nation計(jì)算出某年每個(gè)
國(guó)家的消費(fèi)額中中位數(shù),存入MySQL數(shù)據(jù)庫(kù)shtdstore的nationmedian表
(表結(jié)構(gòu)如下)中,然后在Linux的MySQL命令行中根據(jù)訂單總數(shù)、消費(fèi)總
額、國(guó)家表主鍵三列均逆序排序的方式,查詢出前5條,將SQL語句與執(zhí)行
結(jié)果截圖粘貼至對(duì)應(yīng)報(bào)告中;
字段類型中文含義備注
nationkeyint國(guó)家表主鍵
nationnametext國(guó)家名稱
nationmedianconsumptiondouble該國(guó)家內(nèi)客單該國(guó)家已購(gòu)買產(chǎn)品的金
價(jià)額的中位數(shù)
allnationmedianconsumptiondouble所有國(guó)家訂單所有國(guó)家已購(gòu)買的產(chǎn)品
的中位數(shù)的金額的中位數(shù)
模塊C:數(shù)據(jù)挖掘(10分)
環(huán)境說明:
服務(wù)端登錄地址詳見各模塊服務(wù)端說明。
補(bǔ)充說明:各主機(jī)可通過Asbru工具或SSH客戶端進(jìn)行SSH訪問;
Master節(jié)點(diǎn)MySQL數(shù)據(jù)庫(kù)用戶名/密碼:root/123456(已配置遠(yuǎn)程
連接);
Hive的元數(shù)據(jù)啟動(dòng)命令為:
nohuphive-servicemetastore&
Hive的配置文件位于/opt/apache-hive-2.3.4-bin/conf/
Spark任務(wù)在Yarn上用Client運(yùn)行,方便觀察日志。
該模塊均使用Scala編寫,利用Spark相關(guān)庫(kù)完成。
任務(wù)一:特征工程
1、根據(jù)dwd庫(kù)中fact_orders表,將其轉(zhuǎn)換為以下表:第一列為用戶id,其余
列名為零部件id,按照cust_key進(jìn)行順序排序,保存在hive的
dwd.fact_cust_part_machinelearning_data中,然后在hivecli中執(zhí)行
命令descfact_cust_partmachinelearning中查詢出結(jié)果,將SQL語句
與執(zhí)行結(jié)果截圖粘貼至對(duì)應(yīng)報(bào)告中。
字段類型中文含義備注
cust_keydouble客戶key
partkeyldouble用戶是否購(gòu)買過若用戶購(gòu)買過該
零部件1零部件,則值為1,
否則為0
partkey2double用戶是否購(gòu)買過若用戶購(gòu)買過該
零部件2零部件,則值為1,
否則為0
partkey3double用戶是否購(gòu)買過若用戶購(gòu)買過該
零部件3零部件,則值為1,
否則為0
....
任務(wù)二:基于SVD分解的推薦系統(tǒng)
1、根據(jù)任務(wù)一的結(jié)果,對(duì)其進(jìn)行SVD分解,對(duì)數(shù)據(jù)進(jìn)行降維(保留95%以上的
特征信息),根據(jù)該用戶已購(gòu)買的產(chǎn)品分別與未購(gòu)買的商品計(jì)算余弦相似度
再進(jìn)行累加求均值,將累加值最大的5件商品key進(jìn)行輸出作為推薦使用。
將輸出結(jié)果保存至MySQL的part_machine表中。然后在Linux的MySQL命
令行中查詢出前5條數(shù)據(jù),將SQL語句與執(zhí)行結(jié)果截圖粘貼至對(duì)應(yīng)報(bào)告中。
模塊D:數(shù)據(jù)采集與實(shí)時(shí)計(jì)算(20分)
環(huán)境說明:
服務(wù)端登錄地址詳見各模塊服務(wù)端說明。
補(bǔ)充說明:各主機(jī)可通過Asbru工具或SSH客戶端進(jìn)行SSH訪問;
請(qǐng)先檢查ZooKeeper、Kafka、Redis端口看是否已啟動(dòng),若未啟動(dòng)
則各啟動(dòng)命令如下:
ZK啟動(dòng)(netstat-ntlp查看2181端口是否打開)
/usr/zk/zookeeper-3.4.6/bin/zkServer.shstart
Redis啟動(dòng)(netstat-ntlp查看6379端口是否打開)
/usr/redis/bin/redis-server/usr/redis/bin/redis.conf
Kafka啟動(dòng)(netstat-ntlp查看9092端口是否打開)
/opt/kafka/kafka_2.11-2.0.O/bin/kafka-server-start.sh-daemon(空格連接下一行)
/opt/kafka/kafka_2.11-2.0.0/config/server.properties
Flink任務(wù)在Yarn上用perjob模式(即Job分離模式,不采用
Session模式),方便Yarn回收資源。
任務(wù)一:實(shí)時(shí)數(shù)據(jù)采集
1、在Master節(jié)點(diǎn)使用Flume采集實(shí)時(shí)數(shù)據(jù)生成器26001端口的socket數(shù)據(jù),
將數(shù)據(jù)存入到Kafka的Topic中(topic名稱為order,分區(qū)數(shù)為4),將
Flume的配置截圖粘貼至對(duì)應(yīng)報(bào)告中;
2、Flume接收數(shù)據(jù)注入kafka的同時(shí),將數(shù)據(jù)備份到HDFS目錄
/user/test/flumebackup下,將備份結(jié)果截圖粘貼至對(duì)應(yīng)報(bào)告中。
任務(wù)二:使用Flink處理Kafka中的數(shù)據(jù)
編寫Scala工程代碼,使用Flink消費(fèi)Kafka中Topic為order的數(shù)據(jù)并進(jìn)
行相應(yīng)的數(shù)據(jù)統(tǒng)計(jì)計(jì)算。
1、使用Flink消費(fèi)Kafka中的數(shù)據(jù),統(tǒng)計(jì)個(gè)人實(shí)時(shí)訂單總額,將key設(shè)置成
totalprice存入Redis中(再使用hash數(shù)據(jù)格式,key存放為用戶id,value
存放為該用戶消費(fèi)總額),使用rediscli以getkey方式獲取totalprice
值,將結(jié)果截圖粘貼至對(duì)應(yīng)報(bào)告中,需兩次截圖,第一次截圖和第二次截圖
間隔一分鐘以上,第一次截圖放前面,第二次放后面;
2、在任務(wù)1進(jìn)行的同時(shí)需監(jiān)控若發(fā)現(xiàn)ORDERSTATUS字段為F,將數(shù)據(jù)存入MySQL
表alarmdata中(可考慮側(cè)邊流的實(shí)現(xiàn)),然后在Linux的MySQL命令行中
根據(jù)ORDERKEY逆序排序,查詢出前5條,將SQL語句與執(zhí)行結(jié)果截圖粘貼
至對(duì)應(yīng)報(bào)告中;
3、使用Flink消費(fèi)kafka中的數(shù)據(jù),統(tǒng)計(jì)每分鐘下單的數(shù)量,將key設(shè)置成
totalor
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 十堰吊車出租合同范本
- 會(huì)展智能安檢技術(shù)與設(shè)備考核試卷
- 土地利用規(guī)劃中的城鄉(xiāng)兒童友好型環(huán)境設(shè)計(jì)考核試卷
- 攝影器材行業(yè)品牌培育與國(guó)際市場(chǎng)推廣策略規(guī)劃考核試卷
- 醫(yī)療軟件服務(wù)合同范本
- 個(gè)人轉(zhuǎn)讓股權(quán)合同范本
- 絲網(wǎng)買賣合同范例
- 電子產(chǎn)品測(cè)試流程解析
- 借用別公司合同范本
- 2025-2030年手拋接飛盤網(wǎng)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 國(guó)家生態(tài)安全教育課例課件
- 精神科常見藥物中毒急救與護(hù)理
- 《小兒計(jì)劃免疫》課件
- 林下經(jīng)濟(jì)產(chǎn)業(yè)現(xiàn)狀及發(fā)展重點(diǎn)分析
- 消防業(yè)務(wù)開拓方案
- 鑄牢中華民族共同體意識(shí)自評(píng)報(bào)告范文
- 漫畫物理之力學(xué)
- 單板硬件測(cè)試規(guī)范
- 關(guān)于市推動(dòng)高新技術(shù)企業(yè)發(fā)展的調(diào)研報(bào)告
- 學(xué)校安防監(jiān)控維保方案
- 13J103-7《人造板材幕墻》
評(píng)論
0/150
提交評(píng)論