(全國職業(yè)技能比賽:高職)GZ033大數(shù)據(jù)應(yīng)用開發(fā)賽題第01套.docx

(全國職業(yè)技能比賽:高職)GZ033大數(shù)據(jù)應(yīng)用開發(fā)賽題第01套.docx

ID:83631072

大?。?2.10 KB

頁數(shù):22頁

時(shí)間:2024-09-03

上傳者:gjxwyhcr
(全國職業(yè)技能比賽:高職)GZ033大數(shù)據(jù)應(yīng)用開發(fā)賽題第01套.docx_第1頁
(全國職業(yè)技能比賽:高職)GZ033大數(shù)據(jù)應(yīng)用開發(fā)賽題第01套.docx_第2頁
(全國職業(yè)技能比賽:高職)GZ033大數(shù)據(jù)應(yīng)用開發(fā)賽題第01套.docx_第3頁
(全國職業(yè)技能比賽:高職)GZ033大數(shù)據(jù)應(yīng)用開發(fā)賽題第01套.docx_第4頁
(全國職業(yè)技能比賽:高職)GZ033大數(shù)據(jù)應(yīng)用開發(fā)賽題第01套.docx_第5頁
(全國職業(yè)技能比賽:高職)GZ033大數(shù)據(jù)應(yīng)用開發(fā)賽題第01套.docx_第6頁
(全國職業(yè)技能比賽:高職)GZ033大數(shù)據(jù)應(yīng)用開發(fā)賽題第01套.docx_第7頁
(全國職業(yè)技能比賽:高職)GZ033大數(shù)據(jù)應(yīng)用開發(fā)賽題第01套.docx_第8頁
(全國職業(yè)技能比賽:高職)GZ033大數(shù)據(jù)應(yīng)用開發(fā)賽題第01套.docx_第9頁
(全國職業(yè)技能比賽:高職)GZ033大數(shù)據(jù)應(yīng)用開發(fā)賽題第01套.docx_第10頁
資源描述:

《(全國職業(yè)技能比賽:高職)GZ033大數(shù)據(jù)應(yīng)用開發(fā)賽題第01套.docx》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

2023年全國職業(yè)院校技能大賽賽題第01套賽項(xiàng)名稱:大數(shù)據(jù)應(yīng)用開發(fā)英文名稱:BigDataApplicationDevelopment賽項(xiàng)組別:高等職業(yè)教育組賽項(xiàng)編號(hào):GZ03322 22 背景描述大數(shù)據(jù)時(shí)代背景下,電商經(jīng)營模式發(fā)生很大改變。在傳統(tǒng)運(yùn)營模式中,缺乏數(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)者購買產(chǎn)品的花費(fèi)、選擇產(chǎn)品的渠道、偏好產(chǎn)品的類型、產(chǎn)品回購周期、購買產(chǎn)品的目的、消費(fèi)者家庭背景、工作和生活環(huán)境、個(gè)人消費(fèi)觀和價(jià)值觀等。通過數(shù)據(jù)追蹤,知道顧客從哪兒來,是看了某網(wǎng)站投放的廣告還是通過朋友推薦鏈接,是新訪客還是老用戶,喜歡瀏覽什么產(chǎn)品,購物車有無商品,是否清空,還有每一筆交易記錄,精準(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ù)完成本次工作。22 任務(wù)A:大數(shù)據(jù)平臺(tái)搭建(容器環(huán)境)(15分)環(huán)境說明:服務(wù)端登錄地址詳見各任務(wù)服務(wù)端說明。補(bǔ)充說明:宿主機(jī)及各容器節(jié)點(diǎn)可通過Asbru工具或SSH客戶端進(jìn)行SSH訪問。子任務(wù)一:Hadoop完全分布式安裝配置本任務(wù)需要使用root用戶完成相關(guān)配置,安裝Hadoop需要配置前置環(huán)境。命令中要求使用絕對(duì)路徑,具體要求如下:1、從宿主機(jī)/opt目錄下將文件hadoop-3.1.3.tar.gz、jdk-8u212-linux-x64.tar.gz復(fù)制到容器Master中的/opt/software路徑中(若路徑不存在,則需新建),將Master節(jié)點(diǎn)JDK安裝包解壓到/opt/module路徑中(若路徑不存在,則需新建),將JDK解壓命令復(fù)制并粘貼至客戶端桌面【Release任務(wù)A提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;2、修改容器中/etc/profile文件,設(shè)置JDK環(huán)境變量并使其生效,配置完畢后在Master節(jié)點(diǎn)分別執(zhí)行“java-version”和“javac”命令,將命令行執(zhí)行結(jié)果分別截圖并粘貼至客戶端桌面【Release任務(wù)A提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;3、請(qǐng)完成host相關(guān)配置,將三個(gè)節(jié)點(diǎn)分別命名為master、slave1、slave2,并做免密登錄,用scp命令并使用絕對(duì)路徑從Master復(fù)制JDK解壓后的安裝文件到slave1、slave2節(jié)點(diǎn)(若路徑不存在,則需新建),并配置slave1、slave2相關(guān)環(huán)境變量,將全部scp復(fù)制JDK的命令復(fù)制并粘貼至客戶端桌面【Release任務(wù)A提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;4、在Master將Hadoop解壓到/opt/module(若路徑不存在,則需新建)目錄下,并將解壓包分發(fā)至slave1、slave2中,其中master、slave1、slave222 節(jié)點(diǎn)均作為datanode,配置好相關(guān)環(huán)境,初始化Hadoop環(huán)境namenode,將初始化命令及初始化結(jié)果截圖(截取初始化結(jié)果日志最后20行即可)粘貼至客戶端桌面【Release任務(wù)A提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;1、啟動(dòng)Hadoop集群(包括hdfs和yarn),使用jps命令查看Master節(jié)點(diǎn)與slave1節(jié)點(diǎn)的Java進(jìn)程,將jps命令與結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)A提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。子任務(wù)二:SparkonYarn安裝配置本任務(wù)需要使用root用戶完成相關(guān)配置,已安裝Hadoop及需要配置前置環(huán)境,具體要求如下:1、從宿主機(jī)/opt目錄下將文件spark-3.1.1-bin-hadoop3.2.tgz復(fù)制到容器Master中的/opt/software(若路徑不存在,則需新建)中,將Spark包解壓到/opt/module路徑中(若路徑不存在,則需新建),將完整解壓命令復(fù)制粘貼至客戶端桌面【Release任務(wù)A提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;2、修改容器中/etc/profile文件,設(shè)置Spark環(huán)境變量并使環(huán)境變量生效,在/opt目錄下運(yùn)行命令spark-submit--version,將命令與結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)A提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;3、完成onyarn相關(guān)配置,使用sparkonyarn的模式提交$SPARK_HOME/examples/jars/spark-examples_2.12-3.1.1.jar運(yùn)行的主類為org.apache.spark.examples.SparkPi,將運(yùn)行結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)A提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下(截取Pi結(jié)果的前后各5行)。(運(yùn)行命令為:spark-submit--masteryarn--classorg.apache.spark.examples.SparkPi$SPARK_HOME/examples/jars/spark-examples_2.12-3.1.1.jar)子任務(wù)三:HBase分布式安裝配置本任務(wù)需要使用root用戶完成相關(guān)配置,安裝HBase需要配置Hadoop和ZooKeeper等前置環(huán)境。命令中要求使用絕對(duì)路徑,具體要求如下:1、22 從宿主機(jī)/opt目錄下將文件apache-zookeeper-3.5.7-bin.tar.gz、hbase-2.2.3-bin.tar.gz復(fù)制到容器Master中的/opt/software路徑中(若路徑不存在,則需新建),將ZooKeeper、HBase安裝包解壓到/opt/module目錄下,將HBase的解壓命令復(fù)制并粘貼至客戶端桌面【Release任務(wù)A提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;1、完成ZooKeeper相關(guān)部署,用scp命令并使用絕對(duì)路徑從容器master復(fù)制HBase解壓后的包分發(fā)至slave1、slave2中,并修改相關(guān)配置,配置好環(huán)境變量,在容器Master節(jié)點(diǎn)中運(yùn)行命令hbaseversion,將全部復(fù)制命令復(fù)制并將hbaseversion命令的結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)A提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;2、啟動(dòng)HBase后在三個(gè)節(jié)點(diǎn)分別使用jps命令查看,并將結(jié)果分別截圖粘貼至客戶端桌面【Release任務(wù)A提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;正常啟動(dòng)后在hbaseshell中查看命名空間,將查看命名空間的結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)A提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。22 任務(wù)B:離線數(shù)據(jù)處理(25分)環(huán)境說明:服務(wù)端登錄地址詳見各任務(wù)服務(wù)端說明。補(bǔ)充說明:各節(jié)點(diǎn)可通過Asbru工具或SSH客戶端進(jìn)行SSH訪問;主節(jié)點(diǎn)MySQL數(shù)據(jù)庫用戶名/密碼:root/123456(已配置遠(yuǎn)程連接);Hive的配置文件位于/opt/apache-hive-2.3.4-bin/conf/Spark任務(wù)在Yarn上用Client運(yùn)行,方便觀察日志。子任務(wù)一:數(shù)據(jù)抽取編寫Scala代碼,使用Spark將MySQL的shtd_store庫中表user_info、sku_info、base_province、base_region、order_info、order_detail的數(shù)據(jù)增量抽取到Hive的ods庫中對(duì)應(yīng)表user_info、sku_info、base_province、base_region、order_info、order_detail中。(若ods庫中部分表沒有數(shù)據(jù),正常抽取即可)1、抽取shtd_store庫中user_info的增量數(shù)據(jù)進(jìn)入Hive的ods庫中表user_info。根據(jù)ods.user_info表中operate_time或create_time作為增量字段(即MySQL中每條數(shù)據(jù)取這兩個(gè)時(shí)間中較大的那個(gè)時(shí)間作為增量字段去和ods里的這兩個(gè)字段中較大的時(shí)間進(jìn)行比較),只將新增的數(shù)據(jù)抽入,字段名稱、類型不變,同時(shí)添加靜態(tài)分區(qū),分區(qū)字段為etl_date,類型為String,且值為當(dāng)前比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)。使用hivecli執(zhí)行showpartitionsods.user_info命令,將結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;2、抽取shtd_store庫中sku_info的增量數(shù)據(jù)進(jìn)入Hive的ods庫中表sku_info。根據(jù)ods.sku_info表中create_time22 作為增量字段,只將新增的數(shù)據(jù)抽入,字段名稱、類型不變,同時(shí)添加靜態(tài)分區(qū),分區(qū)字段為etl_date,類型為String,且值為當(dāng)前比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)。使用hivecli執(zhí)行showpartitionsods.sku_info命令,將結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;1、抽取shtd_store庫中base_province的增量數(shù)據(jù)進(jìn)入Hive的ods庫中表base_province。根據(jù)ods.base_province表中id作為增量字段,只將新增的數(shù)據(jù)抽入,字段名稱、類型不變并添加字段create_time取當(dāng)前時(shí)間,同時(shí)添加靜態(tài)分區(qū),分區(qū)字段為etl_date,類型為String,且值為當(dāng)前比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)。使用hivecli執(zhí)行showpartitionsods.base_province命令,將結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;2、抽取shtd_store庫中base_region的增量數(shù)據(jù)進(jìn)入Hive的ods庫中表base_region。根據(jù)ods.base_region表中id作為增量字段,只將新增的數(shù)據(jù)抽入,字段名稱、類型不變并添加字段create_time取當(dāng)前時(shí)間,同時(shí)添加靜態(tài)分區(qū),分區(qū)字段為etl_date,類型為String,且值為當(dāng)前比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)。使用hivecli執(zhí)行showpartitionsods.base_region命令,將結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;3、抽取shtd_store庫中order_info的增量數(shù)據(jù)進(jìn)入Hive的ods庫中表order_info,根據(jù)ods.order_info表中operate_time或create_time作為增量字段(即MySQL中每條數(shù)據(jù)取這兩個(gè)時(shí)間中較大的那個(gè)時(shí)間作為增量字段去和ods里的這兩個(gè)字段中較大的時(shí)間進(jìn)行比較),只將新增的數(shù)據(jù)抽入,字段名稱、類型不變,同時(shí)添加靜態(tài)分區(qū),分區(qū)字段為etl_date,類型為String,且值為當(dāng)前比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)。使用hivecli執(zhí)行showpartitionsods.order_info命令,將結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;22 1、抽取shtd_store庫中order_detail的增量數(shù)據(jù)進(jìn)入Hive的ods庫中表order_detail,根據(jù)ods.order_detail表中create_time作為增量字段,只將新增的數(shù)據(jù)抽入,字段名稱、類型不變,同時(shí)添加靜態(tài)分區(qū),分區(qū)字段為etl_date,類型為String,且值為當(dāng)前比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)。使用hivecli執(zhí)行showpartitionsods.order_detail命令,將結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。子任務(wù)二:數(shù)據(jù)清洗編寫Scala代碼,使用Spark將ods庫中相應(yīng)表數(shù)據(jù)全量抽取到Hive的dwd庫中對(duì)應(yīng)表中。表中有涉及到timestamp類型的,均要求按照yyyy-MM-ddHH:mm:ss,不記錄毫秒數(shù),若原數(shù)據(jù)中只有年月日,則在時(shí)分秒的位置添加00:00:00,添加之后使其符合yyyy-MM-ddHH:mm:ss。(若dwd庫中部分表沒有數(shù)據(jù),正常抽取即可)1、抽取ods庫中user_info表中昨天的分區(qū)(子任務(wù)一生成的分區(qū))數(shù)據(jù),并結(jié)合dim_user_info最新分區(qū)現(xiàn)有的數(shù)據(jù),根據(jù)id合并數(shù)據(jù)到dwd庫中dim_user_info的分區(qū)表(合并是指對(duì)dwd層數(shù)據(jù)進(jìn)行插入或修改,需修改的數(shù)據(jù)以id為合并字段,根據(jù)operate_time排序取最新的一條),分區(qū)字段為etl_date且值與ods庫的相對(duì)應(yīng)表該值相等,同時(shí)若operate_time為空,則用create_time填充,并添加dwd_insert_user、dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填寫“user1”。若該條記錄第一次進(jìn)入數(shù)倉dwd層則dwd_insert_time、dwd_modify_time均存當(dāng)前操作時(shí)間,并進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。若該數(shù)據(jù)在進(jìn)入dwd層時(shí)發(fā)生了合并修改,則dwd_insert_time時(shí)間不變,dwd_modify_time存當(dāng)前操作時(shí)間,其余列存最新的值。使用hivecli執(zhí)行showpartitionsdwd.dim_user_info命令,將結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;22 1、抽取ods庫sku_info表中昨天的分區(qū)(子任務(wù)一生成的分區(qū))數(shù)據(jù),并結(jié)合dim_sku_info最新分區(qū)現(xiàn)有的數(shù)據(jù),根據(jù)id合并數(shù)據(jù)到dwd庫中dim_sku_info的分區(qū)表(合并是指對(duì)dwd層數(shù)據(jù)進(jìn)行插入或修改,需修改的數(shù)據(jù)以id為合并字段,根據(jù)create_time排序取最新的一條),分區(qū)字段為etl_date且值與ods庫的相對(duì)應(yīng)表該值相等,并添加dwd_insert_user、dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填寫“user1”。若該條數(shù)據(jù)第一次進(jìn)入數(shù)倉dwd層則dwd_insert_time、dwd_modify_time均填寫當(dāng)前操作時(shí)間,并進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。若該數(shù)據(jù)在進(jìn)入dwd層時(shí)發(fā)生了合并修改,則dwd_insert_time時(shí)間不變,dwd_modify_time存當(dāng)前操作時(shí)間,其余列存最新的值。使用hivecli查詢表dim_sku_info的字段id、sku_desc、dwd_insert_user、dwd_modify_time、etl_date,條件為最新分區(qū)的數(shù)據(jù),id大于等于15且小于等于20,并且按照id升序排序,將結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;2、抽取ods庫base_province表中昨天的分區(qū)(子任務(wù)一生成的分區(qū))數(shù)據(jù),并結(jié)合dim_province最新分區(qū)現(xiàn)有的數(shù)據(jù),根據(jù)id合并數(shù)據(jù)到dwd庫中dim_province的分區(qū)表(合并是指對(duì)dwd層數(shù)據(jù)進(jìn)行插入或修改,需修改的數(shù)據(jù)以id為合并字段,根據(jù)create_time排序取最新的一條),分區(qū)字段為etl_date且值與ods庫的相對(duì)應(yīng)表該值相等,并添加dwd_insert_user、dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填寫“user1”。若該條數(shù)據(jù)第一次進(jìn)入數(shù)倉dwd層則dwd_insert_time、dwd_modify_time均填寫當(dāng)前操作時(shí)間,并進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。若該數(shù)據(jù)在進(jìn)入dwd層時(shí)發(fā)生了合并修改,則dwd_insert_time時(shí)間不變,dwd_modify_time存當(dāng)前操作時(shí)間,其余列存最新的值。使用hivecli在表dwd.dim_province最新分區(qū)中,查詢?cè)摲謪^(qū)中數(shù)據(jù)的條數(shù),將結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;22 1、抽取ods庫base_region表中昨天的分區(qū)(子任務(wù)一生成的分區(qū))數(shù)據(jù),并結(jié)合dim_region最新分區(qū)現(xiàn)有的數(shù)據(jù),根據(jù)id合并數(shù)據(jù)到dwd庫中dim_region的分區(qū)表(合并是指對(duì)dwd層數(shù)據(jù)進(jìn)行插入或修改,需修改的數(shù)據(jù)以id為合并字段,根據(jù)create_time排序取最新的一條),分區(qū)字段為etl_date且值與ods庫的相對(duì)應(yīng)表該值相等,并添加dwd_insert_user、dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填寫“user1”。若該條數(shù)據(jù)第一次進(jìn)入數(shù)倉dwd層則dwd_insert_time、dwd_modify_time均填寫當(dāng)前操作時(shí)間,并進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。若該數(shù)據(jù)在進(jìn)入dwd層時(shí)發(fā)生了合并修改,則dwd_insert_time時(shí)間不變,dwd_modify_time存當(dāng)前操作時(shí)間,其余列存最新的值。使用hivecli在表dwd.dim_region最新分區(qū)中,查詢?cè)摲謪^(qū)中數(shù)據(jù)的條數(shù),將結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;2、將ods庫中order_info表昨天的分區(qū)(子任務(wù)一生成的分區(qū))數(shù)據(jù)抽取到dwd庫中fact_order_info的動(dòng)態(tài)分區(qū)表,分區(qū)字段為etl_date,類型為String,取create_time值并將格式轉(zhuǎn)換為yyyyMMdd,同時(shí)若operate_time為空,則用create_time填充,并添加dwd_insert_user、dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填寫“user1”,dwd_insert_time、dwd_modify_time均填寫當(dāng)前操作時(shí)間,并進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。使用hivecli執(zhí)行showpartitionsdwd.fact_order_info命令,將結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;3、將ods庫中order_detail表昨天的分區(qū)(子任務(wù)一中生成的分區(qū))數(shù)據(jù)抽取到dwd庫中fact_order_detail的動(dòng)態(tài)分區(qū)表,分區(qū)字段為etl_date,類型為String,取create_time22 值并將格式轉(zhuǎn)換為yyyyMMdd,并添加dwd_insert_user、dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填寫“user1”,dwd_insert_time、dwd_modify_time均填寫當(dāng)前操作時(shí)間,并進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。使用hivecli執(zhí)行showpartitionsdwd.fact_order_detail命令,將結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。子任務(wù)三:指標(biāo)計(jì)算編寫Scala代碼,使用Spark計(jì)算相關(guān)指標(biāo)。注:在指標(biāo)計(jì)算中,不考慮訂單信息表中order_status字段的值,將所有訂單視為有效訂單。計(jì)算訂單金額或訂單總金額時(shí)只使用final_total_amount字段。需注意dwd所有的維表取最新的分區(qū)。1、本任務(wù)基于以下2、3、4小題完成,使用Azkaban完成第2、3、4題任務(wù)代碼的調(diào)度。工作流要求,使用shell輸出“開始”作為工作流的第一個(gè)job(job1),2、3、4題任務(wù)為串行任務(wù)且它們依賴job1的完成(命名為job2、job3、job4),job2、job3、job4完成之后使用shell輸出“結(jié)束”作為工作流的最后一個(gè)job(endjob),endjob依賴job2、job3、job4,并將最終任務(wù)調(diào)度完成后的工作流截圖,將截圖粘貼至客戶端桌面【Release任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;2、根據(jù)dwd層表統(tǒng)計(jì)每個(gè)省份、每個(gè)地區(qū)、每個(gè)月下單的數(shù)量和下單的總金額,存入MySQL數(shù)據(jù)庫shtd_result的provinceeverymonth表中(表結(jié)構(gòu)如下),然后在Linux的MySQL命令行中根據(jù)訂單總數(shù)、訂單總金額、省份表主鍵均為降序排序,查詢出前5條,將SQL語句復(fù)制粘貼至客戶端桌面【Release任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下,將執(zhí)行結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;字段類型中文含義備注provinceidint省份表主鍵provincenametext省份名稱regionidint地區(qū)表主鍵regionnametext地區(qū)名稱22 totalconsumptiondouble訂單總金額當(dāng)月訂單總金額totalorderint訂單總數(shù)當(dāng)月訂單總數(shù)yearint年訂單產(chǎn)生的年monthint月訂單產(chǎn)生的月1、請(qǐng)根據(jù)dwd層表計(jì)算出2020年4月每個(gè)省份的平均訂單金額和所有省份平均訂單金額相比較結(jié)果(“高/低/相同”),存入MySQL數(shù)據(jù)庫shtd_result的provinceavgcmp表(表結(jié)構(gòu)如下)中,然后在Linux的MySQL命令行中根據(jù)省份表主鍵、該省平均訂單金額均為降序排序,查詢出前5條,將SQL語句復(fù)制粘貼至客戶端桌面【Release任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下,將執(zhí)行結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;字段類型中文含義備注provinceidint省份表主鍵provincenametext省份名稱provinceavgconsumptiondouble該省平均訂單金額allprovinceavgconsumptiondouble所有省平均訂單金額comparisontext比較結(jié)果該省平均訂單金額和所有省平均訂單金額比較結(jié)果,值為:高/低/相同2、根據(jù)dwd層表統(tǒng)計(jì)在兩天內(nèi)連續(xù)下單并且下單金額保持增長的用戶,存入MySQL數(shù)據(jù)庫shtd_result的usercontinueorder表(表結(jié)構(gòu)如下)中,然后在Linux的MySQL命令行中根據(jù)訂單總數(shù)、訂單總金額、客戶主鍵均為降序排序,查詢出前5條,將SQL語句復(fù)制粘貼至客戶端桌面【Release22 任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下,將執(zhí)行結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;字段類型中文含義備注useridint客戶主鍵usernametext客戶名稱daytext日記錄下單日的時(shí)間,格式為yyyyMMdd_yyyyMMdd例如:20220101_20220102totalconsumptiondouble訂單總金額連續(xù)兩天的訂單總金額totalorderint訂單總數(shù)連續(xù)兩天的訂單總數(shù)22 任務(wù)C:數(shù)據(jù)挖掘(10分)環(huán)境說明:服務(wù)端登錄地址詳見各任務(wù)服務(wù)端說明。補(bǔ)充說明:各節(jié)點(diǎn)可通過Asbru工具或SSH客戶端進(jìn)行SSH訪問;主節(jié)點(diǎn)MySQL數(shù)據(jù)庫用戶名/密碼:root/123456(已配置遠(yuǎn)程連接);Hive的配置文件位于/opt/apache-hive-2.3.4-bin/conf/Spark任務(wù)在Yarn上用Client運(yùn)行,方便觀察日志。該任務(wù)均使用Scala編寫,利用Spark相關(guān)庫完成。子任務(wù)一:特征工程剔除訂單信息表與訂單詳細(xì)信息表中用戶id與商品id不存在現(xiàn)有的維表中的記錄,同時(shí)建議多利用緩存并充分考慮并行度來優(yōu)化代碼,達(dá)到更快的計(jì)算效果。1、根據(jù)Hive的dwd庫中相關(guān)表或MySQL中shtd_store中相關(guān)表(order_detail、sku_info),計(jì)算出與用戶id為6708的用戶所購買相同商品種類最多的前10位用戶(只考慮他倆購買過多少種相同的商品,不考慮相同的商品買了多少次),將10位用戶id進(jìn)行輸出,若與多個(gè)用戶購買的商品種類相同,則輸出結(jié)果按照用戶id升序排序,輸出格式如下,將結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)C提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;結(jié)果格式如下:-------------------相同種類前10的id結(jié)果展示為:--------------------1,2,901,4,5,21,32,91,14,522、根據(jù)Hive的dwd庫中相關(guān)表或MySQL中shtd_store中相關(guān)商品表22 (sku_info),獲取id、spu_id、price、weight、tm_id、category3_id這六個(gè)字段并進(jìn)行數(shù)據(jù)預(yù)處理,對(duì)price、weight進(jìn)行規(guī)范化(StandardScaler)處理,對(duì)spu_id、tm_id、category3_id進(jìn)行one-hot編碼處理(若該商品屬于該品牌則置為1,否則置為0),并按照id進(jìn)行升序排序,在集群中輸出第一條數(shù)據(jù)前10列(無需展示字段名),將結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)C提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。字段類型中文含義備注iddouble主鍵pricedouble價(jià)格weightdouble重量spu_id#1doublespu_id1若屬于該spu_id,則內(nèi)容為1否則為0spu_id#2doublespu_id2若屬于該spu_id,則內(nèi)容為1否則為0.....doubletm_id#1double品牌1若屬于該品牌,則內(nèi)容為1否則為0tm_id#2double品牌2若屬于該品牌,則內(nèi)容為1否則為0……doublecategory3_id#1double分類級(jí)別31若屬于該分類級(jí)別3,則內(nèi)容為1否則為0category3_id#2double分類級(jí)別32若屬于該分類級(jí)別3,則內(nèi)容為1否則為0……22 結(jié)果格式如下:--------------------第一條數(shù)據(jù)前10列結(jié)果展示為:---------------------1.0,0.892346,1.72568,0.0,0.0,0.0,0.0,1.0,0.0,0.0子任務(wù)二:推薦系統(tǒng)1、根據(jù)子任務(wù)一的結(jié)果,計(jì)算出與用戶id為6708的用戶所購買相同商品種類最多的前10位用戶id(只考慮他倆購買過多少種相同的商品,不考慮相同的商品買了多少次),并根據(jù)Hive的dwd庫中相關(guān)表或MySQL數(shù)據(jù)庫shtd_store中相關(guān)表,獲取到這10位用戶已購買過的商品,并剔除用戶6708已購買的商品,通過計(jì)算這10位用戶已購買的商品(剔除用戶6708已購買的商品)與用戶6708已購買的商品數(shù)據(jù)集中商品的余弦相似度累加再求均值,輸出均值前5商品id作為推薦使用,將執(zhí)行結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)C提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。結(jié)果格式如下:------------------------推薦Top5結(jié)果如下------------------------相似度top1(商品id:1,平均相似度:0.983456)相似度top2(商品id:71,平均相似度:0.782672)相似度top3(商品id:22,平均相似度:0.7635246)相似度top4(商品id:351,平均相似度:0.7335748)相似度top5(商品id:14,平均相似度:0.522356)22 任務(wù)D:數(shù)據(jù)采集與實(shí)時(shí)計(jì)算(20分)環(huán)境說明:服務(wù)端登錄地址詳見各任務(wù)服務(wù)端說明。補(bǔ)充說明:各節(jié)點(diǎn)可通過Asbru工具或SSH客戶端進(jìn)行SSH訪問;Flink任務(wù)在Yarn上用perjob模式(即Job分離模式,不采用Session模式),方便Yarn回收資源。子任務(wù)一:實(shí)時(shí)數(shù)據(jù)采集1、在主節(jié)點(diǎn)使用Flume采集實(shí)時(shí)數(shù)據(jù)生成器10050端口的socket數(shù)據(jù),將數(shù)據(jù)存入到Kafka的Topic中(Topic名稱為order,分區(qū)數(shù)為4),使用Kafka自帶的消費(fèi)者消費(fèi)order(Topic)中的數(shù)據(jù),將前2條數(shù)據(jù)的結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)D提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;2、采用多路復(fù)用模式,F(xiàn)lume接收數(shù)據(jù)注入kafka的同時(shí),將數(shù)據(jù)備份到HDFS目錄/user/test/flumebackup下,將查看備份目錄下的第一個(gè)文件的前2條數(shù)據(jù)的命令與結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)D提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hà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ì)算(訂單信息對(duì)應(yīng)表結(jié)構(gòu)order_info,訂單詳細(xì)信息對(duì)應(yīng)表結(jié)構(gòu)order_detail(來源類型和來源編號(hào)這兩個(gè)字段不考慮,所以在實(shí)時(shí)數(shù)據(jù)中不會(huì)出現(xiàn)),同時(shí)計(jì)算中使用order_info或order_detail表中create_time或operate_time取兩者中值較大者作為EventTime,若operate_time為空值或無此列,則使用create_time填充,允許數(shù)據(jù)延遲5s,訂單狀態(tài)分別為1001:創(chuàng)建訂單、1002:支付訂單、1003:取消訂單、1004:完成訂單、1005:申請(qǐng)退回、1006:22 退回完成。另外對(duì)于數(shù)據(jù)結(jié)果展示時(shí),不要采用例如:1.9786518E7的科學(xué)計(jì)數(shù)法)。1、使用Flink消費(fèi)Kafka中的數(shù)據(jù),統(tǒng)計(jì)商城實(shí)時(shí)訂單實(shí)收金額(需要考慮訂單狀態(tài),若有取消訂單、申請(qǐng)退回、退回完成則不計(jì)入訂單實(shí)收金額,其他狀態(tài)的則累加),將key設(shè)置成totalprice存入Redis中。使用rediscli以getkey方式獲取totalprice值,將結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)D提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下,需兩次截圖,第一次截圖和第二次截圖間隔1分鐘以上,第一次截圖放前面,第二次截圖放后面;2、在任務(wù)1進(jìn)行的同時(shí),使用側(cè)邊流,監(jiān)控若發(fā)現(xiàn)order_status字段為退回完成,將key設(shè)置成totalrefundordercount存入Redis中,value存放用戶退款消費(fèi)額。使用rediscli以getkey方式獲取totalrefundordercount值,將結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)D提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下,需兩次截圖,第一次截圖和第二次截圖間隔1分鐘以上,第一次截圖放前面,第二次截圖放后面;3、在任務(wù)1進(jìn)行的同時(shí),使用側(cè)邊流,監(jiān)控若發(fā)現(xiàn)order_status字段為取消訂單,將數(shù)據(jù)存入MySQL數(shù)據(jù)庫shtd_result的order_info表中,然后在Linux的MySQL命令行中根據(jù)id降序排序,查詢列id、consignee、consignee_tel、final_total_amount、feight_fee,查詢出前5條,將SQL語句復(fù)制粘貼至客戶端桌面【Release任務(wù)D提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下,將執(zhí)行結(jié)果截圖粘貼至客戶端桌面【Release任務(wù)D提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。22 任務(wù)E:數(shù)據(jù)可視化(15分)環(huán)境說明:數(shù)據(jù)接口地址及接口描述詳見各任務(wù)服務(wù)端說明。子任務(wù)一:用柱狀圖展示消費(fèi)額最高的省份編寫Vue工程代碼,根據(jù)接口,用柱狀圖展示2020年消費(fèi)額最高的5個(gè)省份,同時(shí)將用于圖表展示的數(shù)據(jù)結(jié)構(gòu)在瀏覽器的console中進(jìn)行打印輸出,將圖表可視化結(jié)果和瀏覽器console打印結(jié)果分別截圖并粘貼至客戶端桌面【Release任務(wù)E提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。子任務(wù)二:用柱狀圖展示消費(fèi)額最低的省份編寫Vue工程代碼,根據(jù)接口,用柱狀圖展示2020年消費(fèi)額最低的5個(gè)省份,同時(shí)將用于圖表展示的數(shù)據(jù)結(jié)構(gòu)在瀏覽器的console中進(jìn)行打印輸出,將圖表可視化結(jié)果和瀏覽器console打印結(jié)果分別截圖并粘貼至客戶端桌面【Release任務(wù)E提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。子任務(wù)三:用折線圖展示每年上架商品數(shù)量變化編寫Vue工程代碼,根據(jù)接口,用折線圖展示每年上架商品數(shù)量的變化情況,同時(shí)將用于圖表展示的數(shù)據(jù)結(jié)構(gòu)在瀏覽器的console中進(jìn)行打印輸出,將圖表可視化結(jié)果和瀏覽器console打印結(jié)果分別截圖并粘貼至客戶端桌面【Release任務(wù)E提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。子任務(wù)四:用條形圖展示平均消費(fèi)額最高的省份編寫Vue工程代碼,根據(jù)接口,用條形圖展示2020年22 平均消費(fèi)額(四舍五入保留兩位小數(shù))最高的5個(gè)省份,同時(shí)將用于圖表展示的數(shù)據(jù)結(jié)構(gòu)在瀏覽器的console中進(jìn)行打印輸出,將圖表可視化結(jié)果和瀏覽器console打印結(jié)果分別截圖并粘貼至客戶端桌面【Release任務(wù)E提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。子任務(wù)五:用折柱混合圖展示省份平均消費(fèi)額和地區(qū)平均消費(fèi)額編寫Vue工程代碼,根據(jù)接口,用折柱混合圖展示2020年各省份平均消費(fèi)額(四舍五入保留兩位小數(shù))和地區(qū)平均消費(fèi)額(四舍五入保留兩位小數(shù))的對(duì)比情況,柱狀圖展示平均消費(fèi)額最高的5個(gè)省份,折線圖展示這5個(gè)省所在的地區(qū)的平均消費(fèi)額變化,同時(shí)將用于圖表展示的數(shù)據(jù)結(jié)構(gòu)在瀏覽器的console中進(jìn)行打印輸出,將圖表可視化結(jié)果和瀏覽器console打印結(jié)果分別截圖并粘貼至客戶端桌面【Release任務(wù)E提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。22 任務(wù)F:綜合分析(10分)子任務(wù)一:Flink有哪些重啟策略?各個(gè)重啟策略如何配置?在任務(wù)D中使用到了Flink,F(xiàn)link在運(yùn)行job時(shí)可能會(huì)出現(xiàn)各種問題,從而會(huì)導(dǎo)致其失敗或者重啟,對(duì)于類似于網(wǎng)絡(luò)波動(dòng)造成的運(yùn)行失敗可以采取相對(duì)應(yīng)重啟策略來重試,請(qǐng)問Flink有幾種重啟策略(中文)?分別怎么配置這些重啟策略?將內(nèi)容編寫至客戶端桌面【Release任務(wù)F提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。子任務(wù)二:Hadoop有哪些類型的調(diào)度器?簡要說明其工作方法。簡要描述Hadoop有哪些類型的調(diào)度器并簡要說明其工作方法,將內(nèi)容編寫至客戶端桌面【Release任務(wù)F提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。子任務(wù)三:分析下一年度的建倉目的地。根據(jù)任務(wù)E的圖表,分析各省份的經(jīng)濟(jì)現(xiàn)狀,公司決定挑選3個(gè)省份進(jìn)行倉儲(chǔ)建設(shè),請(qǐng)問應(yīng)該在哪些省份建設(shè)?將內(nèi)容編寫至客戶端桌面【Release任務(wù)F提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。22

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。
最近更新
更多
大家都在看
近期熱門
關(guān)閉