GZ033 大數(shù)據(jù)應(yīng)用開發(fā)賽題第05套-2023年全國職業(yè)院校技能大賽擬設(shè)賽項(xiàng)賽題_第1頁
GZ033 大數(shù)據(jù)應(yīng)用開發(fā)賽題第05套-2023年全國職業(yè)院校技能大賽擬設(shè)賽項(xiàng)賽題_第2頁
GZ033 大數(shù)據(jù)應(yīng)用開發(fā)賽題第05套-2023年全國職業(yè)院校技能大賽擬設(shè)賽項(xiàng)賽題_第3頁
GZ033 大數(shù)據(jù)應(yīng)用開發(fā)賽題第05套-2023年全國職業(yè)院校技能大賽擬設(shè)賽項(xiàng)賽題_第4頁
GZ033 大數(shù)據(jù)應(yīng)用開發(fā)賽題第05套-2023年全國職業(yè)院校技能大賽擬設(shè)賽項(xiàng)賽題_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

年全國職業(yè)院校技能大賽賽題第05套賽項(xiàng)名稱:大數(shù)據(jù)應(yīng)用開發(fā)英文名稱:BigDataApplicationDevelopment賽項(xiàng)組別:高等職業(yè)教育組賽項(xiàng)編號(hào):GZ033背景描述工業(yè)互聯(lián)網(wǎng)是工業(yè)全要素、全產(chǎn)業(yè)鏈、全價(jià)值鏈的全面連接,是人、機(jī)、物、工廠互聯(lián)互通的新型工業(yè)生產(chǎn)制造服務(wù)體系,是互聯(lián)網(wǎng)從消費(fèi)領(lǐng)域向生產(chǎn)領(lǐng)域、從虛擬經(jīng)濟(jì)向?qū)嶓w經(jīng)濟(jì)拓展的核心載體,是建設(shè)現(xiàn)代化經(jīng)濟(jì)體系、實(shí)現(xiàn)高質(zhì)量發(fā)展和塑造全球產(chǎn)業(yè)競爭力的關(guān)鍵支撐,工業(yè)大數(shù)據(jù)則是工業(yè)互聯(lián)網(wǎng)實(shí)現(xiàn)工業(yè)要素互聯(lián)之后的核心價(jià)值創(chuàng)造者?隨著大數(shù)據(jù)行業(yè)的發(fā)展,工業(yè)數(shù)據(jù)收集呈現(xiàn)時(shí)間維度不斷延長、數(shù)據(jù)范圍不斷擴(kuò)大、數(shù)據(jù)粒度不斷細(xì)化的趨勢(shì)?以上三個(gè)維度的變化使得企業(yè)所積累的數(shù)據(jù)量以加速度的方式在增加,最終構(gòu)成了工業(yè)大數(shù)據(jù)的集合?為完成工業(yè)大數(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ù)完成本次工作。

任務(wù)A:大數(shù)據(jù)平臺(tái)搭建(容器環(huán)境)(15分)環(huán)境說明:服務(wù)端登錄地址詳見各任務(wù)服務(wù)端說明。補(bǔ)充說明:宿主機(jī)可通過Asbru工具或SSH客戶端進(jìn)行SSH訪問;相關(guān)軟件安裝包在宿主機(jī)的/opt目錄下,請(qǐng)選擇對(duì)應(yīng)的安裝包進(jìn)行安裝,用不到的可忽略;所有任務(wù)中應(yīng)用命令必須采用絕對(duì)路徑;進(jìn)入Master節(jié)點(diǎn)的方式為dockerexec–itmaster/bin/bash進(jìn)入Slave1節(jié)點(diǎn)的方式為dockerexec–itslave1/bin/bash進(jìn)入Slave2節(jié)點(diǎn)的方式為dockerexec–itslave2/bin/bash三個(gè)容器節(jié)點(diǎn)的root密碼均為123456子任務(wù)一:Hadoop完全分布式安裝配置本任務(wù)需要使用root用戶完成相關(guān)配置,安裝Hadoop需要配置前置環(huán)境。命令中要求使用絕對(duì)路徑,具體要求如下:從宿主機(jī)/opt目錄下將文件hadoop-2.7.7.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)下;修改容器中/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)下;請(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)下;在master將Hadoop解壓到/opt/module(若路徑不存在,則需新建)目錄下,并將解壓包分發(fā)至slave1、slave2中,其中master、slave1、slave2節(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)下;啟動(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ù)二:Flume安裝配置本任務(wù)需要使用root用戶完成相關(guān)配置,已安裝Hadoop及需要配置前置環(huán)境,具體要求如下:從宿主機(jī)/opt目錄下將文件apache-flume-1.7.0-bin.tar.gz復(fù)制到容器master中的/opt/software路徑中(若路徑不存在,則需新建),將Master節(jié)點(diǎn)Flume安裝包解壓到/opt/module目錄下,將解壓命令復(fù)制并粘貼至客戶端桌面【Release\任務(wù)A提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;完善相關(guān)配置、環(huán)境變量,并使環(huán)境變量生效,執(zhí)行命令flume-ngversion并將命令與結(jié)果截圖粘貼至客戶端桌面【Release\任務(wù)A提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;啟動(dòng)Flume傳輸Hadoop日志(namenode或datanode日志),查看HDFS中/tmp/flume目錄下生成的內(nèi)容,將查看命令及結(jié)果(至少5條結(jié)果)截圖并粘貼至客戶端桌面【Release\任務(wù)A提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。子任務(wù)三:Kafka安裝配置本任務(wù)需要使用root用戶完成相關(guān)配置,已安裝Hadoop及需要配置前置環(huán)境,具體要求如下:從宿主機(jī)/opt目錄下將文件zookeeper-3.4.6.tar.gz、kafka_2.12-2.0.0.tgz復(fù)制到容器master中的/opt/software路徑中(若路徑不存在,則需新建),將Master節(jié)點(diǎn)Zookeeper、kafka安裝包解壓到/opt/module目錄下,將kafka解壓命令復(fù)制并粘貼至客戶端桌面【Release\任務(wù)A提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;配置好zookeeper,其中zookeeper使用集群模式,分別將master、slave1、slave2作為其節(jié)點(diǎn)(若zookpeer已安裝配置好,則無需再次配置),配置好Kafka的環(huán)境變量,使用kafka-server-start.sh--version查看Kafka的版本內(nèi)容,并將命令和結(jié)果截圖粘貼至客戶端桌面【Release\任務(wù)A提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;完善其他配置并分發(fā)Kafka文件到slave1、slave2中,并在每個(gè)節(jié)點(diǎn)啟動(dòng)Kafka,創(chuàng)建Topic,其中Topic名稱為installtopic,分區(qū)數(shù)為2,副本數(shù)為2,將創(chuàng)建命令和創(chuàng)建成果截圖粘貼至客戶端桌面【Release\任務(wù)A提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。

任務(wù)B:離線數(shù)據(jù)處理(25分)環(huán)境說明:服務(wù)端登錄地址詳見各任務(wù)服務(wù)端說明。補(bǔ)充說明:各主機(jī)可通過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庫中表ChangeRecord,BaseMachine,MachineData,ProduceRecord全量抽取到Hive的ods庫中對(duì)應(yīng)表changerecord,basemachine,machinedata,producerecord中。抽取MySQL的shtd_industry庫中ChangeRecord表的全量數(shù)據(jù)進(jìn)入Hive的ods庫中表changerecord,字段排序、類型不變,同時(shí)添加靜態(tài)分區(qū),分區(qū)字段為etldate,類型為String,且值為當(dāng)前比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)。使用hivecli執(zhí)行showpartitionsods.changerecord命令,將hivecli的執(zhí)行結(jié)果截圖粘貼至客戶端桌面【Release\任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;抽取MySQL的shtd_industry庫中BaseMachine表的全量數(shù)據(jù)進(jìn)入Hive的ods庫中表basemachine,字段排序、類型不變,同時(shí)添加靜態(tài)分區(qū),分區(qū)字段為etldate,類型為String,且值為當(dāng)前比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)。使用hivecli執(zhí)行showpartitionsods.basemachine命令,將hivecli的執(zhí)行結(jié)果截圖粘貼至客戶端桌面【Release\任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;抽取MySQL的shtd_industry庫中ProduceRecord表的全量數(shù)據(jù)進(jìn)入Hive的ods庫中表producerecord,剔除ProducePrgCode字段,其余字段排序、類型不變,同時(shí)添加靜態(tài)分區(qū),分區(qū)字段為etldate,類型為String,且值為當(dāng)前比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)。使用hivecli執(zhí)行ducerecord命令,將hivecli的執(zhí)行結(jié)果截圖粘貼至客戶端桌面【Release\任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;抽取MySQL的shtd_industry庫中MachineData表的全量數(shù)據(jù)進(jìn)入Hive的ods庫中表machinedata,字段排序、類型不變,同時(shí)添加靜態(tài)分區(qū),分區(qū)字段為etldate,類型為String,且值為當(dāng)前比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)。使用hivecli執(zhí)行showpartitionsods.machinedata命令,將hivecli的執(zhí)行結(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。抽取ods庫中changerecord的全量數(shù)據(jù)進(jìn)入Hive的dwd庫中表fact_change_record,抽取數(shù)據(jù)之前需要對(duì)數(shù)據(jù)根據(jù)changeid和changemachineid進(jìn)行聯(lián)合去重處理,分區(qū)字段為etldate且值與ods庫的相對(duì)應(yīng)表該值相等,并添加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按照change_machine_id降序排序,查詢前1條數(shù)據(jù),將結(jié)果截圖粘貼至客戶端桌面【Release\任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;抽取ods庫中basemachine的全量數(shù)據(jù)進(jìn)入Hive的dwd庫中表dim_machine,抽取數(shù)據(jù)之前需要對(duì)數(shù)據(jù)根據(jù)basemachineid進(jìn)行去重處理。分區(qū)字段為etldate且值與ods庫的相對(duì)應(yīng)表該值相等,并添加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按照base_machine_id升序排序,查詢dim_machine前2條數(shù)據(jù),將結(jié)果截圖粘貼至客戶端桌面【Release\任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;抽取ods庫中producerecord的全量數(shù)據(jù)進(jìn)入Hive的dwd庫中表fact_produce_record,分區(qū)字段為etldate且值與ods庫的相對(duì)應(yīng)表該值相等,并添加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按照produce_machine_id升序排序,查詢fact_produce_record前1條數(shù)據(jù),將結(jié)果截圖粘貼至客戶端桌面【Release\任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;抽取ods庫中machinedata的全量數(shù)據(jù)進(jìn)入Hive的dwd庫中表fact_machine_data。分區(qū)字段為etldate且值與ods庫的相對(duì)應(yīng)表該值相等,并添加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按照machine_id降序排序,查詢前1條數(shù)據(jù),將結(jié)果截圖粘貼至客戶端桌面【Release\任務(wù)B提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。子任務(wù)三:指標(biāo)計(jì)算本任務(wù)基于以下2、3、4小題完成,使用DolphinScheduler完成第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)下;編寫Scala代碼,使用Spark根據(jù)dwd層的fact_change_record表關(guān)聯(lián)dim_machine表統(tǒng)計(jì)每個(gè)車間中所有設(shè)備運(yùn)行時(shí)長(即設(shè)備狀態(tài)為“運(yùn)行”)的中位數(shù)在哪個(gè)設(shè)備(為偶數(shù)時(shí),兩條數(shù)據(jù)原樣保留輸出),若某個(gè)設(shè)備運(yùn)行狀態(tài)當(dāng)前未結(jié)束(即change_end_time值為空)則該狀態(tài)不參與計(jì)算,計(jì)算結(jié)果存入MySQL數(shù)據(jù)庫shtd_industry的machine_running_median表中(表結(jié)構(gòu)如下),然后在Linux的MySQL命令行中根據(jù)所屬車間、設(shè)備id均為降序排序,查詢出前5條數(shù)據(jù),將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)下;字段類型中文含義備注machine_idint設(shè)備idmachine_factoryint所屬車間total_running_timeint運(yùn)行總時(shí)長結(jié)果以秒為單位編寫Scala代碼,使用Spark根據(jù)dwd層的fact_change_record表和dim_machine表統(tǒng)計(jì),計(jì)算每個(gè)車間設(shè)備的月平均運(yùn)行時(shí)長與所有設(shè)備的月平均運(yùn)行時(shí)長對(duì)比結(jié)果(即設(shè)備狀態(tài)為“運(yùn)行”,結(jié)果值為:高/低/相同),月份取值使用狀態(tài)開始時(shí)間的月份,若某設(shè)備的運(yùn)行狀態(tài)當(dāng)前未結(jié)束(即change_end_time值為空)則該狀態(tài)不參與計(jì)算,計(jì)算結(jié)果存入MySQL數(shù)據(jù)庫shtd_industry的machine_running_compare表中(表結(jié)構(gòu)如下),然后在Linux的MySQL命令行中根據(jù)車間號(hào)降序排序,查詢出前2條,將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)下;字段類型中文含義備注start_monthvarchar月份如:2021-12machine_factoryint車間號(hào)comparisonvarchar比較結(jié)果高/低/相同factory_avgvarchar車間平均時(shí)長company_avgvarchar所有設(shè)備平均時(shí)長編寫Scala代碼,使用Spark根據(jù)dwd層的fact_change_record表展示每一個(gè)設(shè)備最近第二次的狀態(tài)(倒數(shù)第二次),時(shí)間字段選用change_start_time,如果設(shè)備僅有一種狀態(tài),返回該狀態(tài)(一個(gè)設(shè)備不會(huì)同時(shí)擁有兩種狀態(tài)),存入MySQL數(shù)據(jù)庫shtd_industry的recent_state表中(表結(jié)構(gòu)如下),然后在Linux的MySQL命令行中根據(jù)設(shè)備id降序排序,查詢出前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)下;字段類型中文含義備注machine_idint設(shè)備idrecord_statevarchar狀態(tài)信息最近第二次的狀態(tài)change_start_timevarchar狀態(tài)開始時(shí)間change_end_timevarchar狀態(tài)結(jié)束時(shí)間

任務(wù)C:數(shù)據(jù)挖掘(10分)環(huán)境說明:服務(wù)端登錄地址詳見各任務(wù)服務(wù)端說明。補(bǔ)充說明:各主機(jī)可通過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ù)一:特征工程根據(jù)dwd庫中fact_machine_data表(或MySQL的shtd_industry庫中MachineData表),根據(jù)以下要求轉(zhuǎn)換:獲取最大分區(qū)(MySQL不用考慮)的數(shù)據(jù)后,首先解析列machine_record_data(MySQL中為MachineRecordData)的數(shù)據(jù)(數(shù)據(jù)格式為xml,采用dom4j解析,解析demo在客戶端/home/ubuntu/Documents目錄下),并獲取每條數(shù)據(jù)的主軸轉(zhuǎn)速,主軸倍率,主軸負(fù)載,進(jìn)給倍率,進(jìn)給速度,PMC程序號(hào),循環(huán)時(shí)間,運(yùn)行時(shí)間,有效軸數(shù),總加工個(gè)數(shù),已使用內(nèi)存,未使用內(nèi)存,可用程序量,注冊(cè)程序量等相關(guān)的值(若該條數(shù)據(jù)沒有相關(guān)值,則按下表設(shè)置默認(rèn)值),同時(shí)轉(zhuǎn)換machine_record_state字段的值,若值為報(bào)警,則填寫1,否則填寫0,以下為表結(jié)構(gòu),將數(shù)據(jù)保存在dwd.fact_machine_learning_data,使用hivecli按照machine_record_id升序排序,查詢dwd.fact_machine_learning_data前1條數(shù)據(jù),將結(jié)果截圖粘貼至客戶端桌面【Release\任務(wù)C提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。dwd.fact_machine_learning_data表結(jié)構(gòu):字段類型中文含義備注machine_record_idint主鍵machine_iddouble設(shè)備idmachine_record_statedouble設(shè)備狀態(tài)默認(rèn)0.0machine_record_mainshaft_speeddouble主軸轉(zhuǎn)速默認(rèn)0.0machine_record_mainshaft_multipleratedouble主軸倍率默認(rèn)0.0machine_record_mainshaft_loaddouble主軸負(fù)載默認(rèn)0.0machine_record_feed_speeddouble進(jìn)給倍率默認(rèn)0.0machine_record_feed_multipleratedouble進(jìn)給速度默認(rèn)0.0machine_record_pmc_codedoublePMC程序號(hào)默認(rèn)0.0machine_record_circle_timedouble循環(huán)時(shí)間默認(rèn)0.0machine_record_run_timedouble運(yùn)行時(shí)間默認(rèn)0.0machine_record_effective_shaftdouble有效軸數(shù)默認(rèn)0.0machine_record_amount_processdouble總加工個(gè)數(shù)默認(rèn)0.0machine_record_use_memorydouble已使用內(nèi)存默認(rèn)0.0machine_record_free_memorydouble未使用內(nèi)存默認(rèn)0.0machine_record_amount_use_codedouble可用程序量默認(rèn)0.0machine_record_amount_free_codedouble注冊(cè)程序量默認(rèn)0.0machine_record_datetimestamp記錄日期dwd_insert_userstringdwd_insert_timetimestampdwd_modify_userstringdwd_modify_timetimestamp子任務(wù)二:報(bào)警預(yù)測(cè)根據(jù)子任務(wù)一的結(jié)果,建立隨機(jī)森林(隨機(jī)森林相關(guān)參數(shù)可自定義,不做限制),使用子任務(wù)一的結(jié)果訓(xùn)練隨機(jī)森林模型,然后再將hive中dwd.fact_machine_learning_data_test(該表字段含義與dwd.fact_machine_learning_data表相同,machine_record_state列值為空,表結(jié)構(gòu)自行查看)轉(zhuǎn)成向量,預(yù)測(cè)其是否報(bào)警將結(jié)果輸出到MySQL數(shù)據(jù)庫shtd_industry中的ml_result表中(表結(jié)構(gòu)如下)。在Linux的MySQL命令行中查詢出machine_record_id為1、8、20、28和36的5條數(shù)據(jù),將SQL語句與執(zhí)行結(jié)果截圖粘貼至客戶端桌面【Release\任務(wù)C提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。ml_result表結(jié)構(gòu):字段類型中文含義備注machine_record_idint主鍵machine_record_statedouble設(shè)備狀態(tài)報(bào)警為1,其他狀態(tài)則為0

任務(wù)D:數(shù)據(jù)采集與實(shí)時(shí)計(jì)算(20分)環(huán)境說明:服務(wù)端登錄地址詳見各任務(wù)服務(wù)端說明。補(bǔ)充說明:各主機(jī)可通過Asbru工具或SSH客戶端進(jìn)行SSH訪問;Flink任務(wù)在Yarn上用perjob模式(即Job分離模式,不采用Session模式),方便Yarn回收資源。子任務(wù)一:實(shí)時(shí)數(shù)據(jù)采集在主節(jié)點(diǎn)使用Flume采集/data_log目錄下實(shí)時(shí)日志文件中的數(shù)據(jù),將數(shù)據(jù)存入到Kafka的Topic中(Topic名稱分別為ChangeRecord、ProduceRecord和EnvironmentData,分區(qū)數(shù)為4),將Flume采集ChangeRecord主題的配置截圖粘貼至客戶端桌面【Release\任務(wù)D提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;編寫新的Flume配置文件,將數(shù)據(jù)備份到HDFS目錄/user/test/flumebackup下,要求所有主題的數(shù)據(jù)使用同一個(gè)Flume配置文件完成,將Flume的配置截圖粘貼至客戶端桌面【Release\任務(wù)D提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下。子任務(wù)二:使用Flink處理Kafka中的數(shù)據(jù)編寫Scala代碼,使用Flink消費(fèi)Kafka中的數(shù)據(jù)并進(jìn)行相應(yīng)的數(shù)據(jù)統(tǒng)計(jì)計(jì)算。使用Flink消費(fèi)Kafka中ProduceRecord主題的數(shù)據(jù),統(tǒng)計(jì)在已經(jīng)檢驗(yàn)的產(chǎn)品中,各設(shè)備每5分鐘生產(chǎn)產(chǎn)品總數(shù),將結(jié)果存入HBase中的gyflinkresult:Produce5minAgg表,rowkey“設(shè)備id-系統(tǒng)時(shí)間”(如:123-2023-01-0112:06:06.001),將結(jié)果截圖粘貼至客戶端桌面【Release\任務(wù)D提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下,需兩次截圖,第一次截圖和第二次截圖間隔5分鐘以上,第一次截圖放前面,第二次截圖放后面;注:ProduceRecord主題,每生產(chǎn)一個(gè)產(chǎn)品產(chǎn)生一條數(shù)據(jù);change_handle_state字段為1代表已經(jīng)檢驗(yàn),0代表為檢驗(yàn);時(shí)間語義使用ProcessingTime。字段類型中文含義rowkeyString設(shè)備id-系統(tǒng)時(shí)間(如:123-2023-01-0112:06:06.001)machine_idString設(shè)備idtotal_produceString最近5分鐘生產(chǎn)總數(shù)使用Flink消費(fèi)Kafka中ChangeRecord主題的數(shù)據(jù),實(shí)時(shí)統(tǒng)計(jì)每個(gè)設(shè)備從其他狀態(tài)轉(zhuǎn)變?yōu)椤斑\(yùn)行”狀態(tài)的總次數(shù),將結(jié)果存入MySQL數(shù)據(jù)庫shtd_industry的change_state_other_to_run_agg表中(表結(jié)構(gòu)如下)。請(qǐng)將任務(wù)啟動(dòng)命令復(fù)制粘貼至客戶端桌面【Release\任務(wù)D提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下,啟動(dòng)1分鐘后根據(jù)change_machine_id降序查詢change_state_other_to_run_agg表并截圖粘貼至客戶端桌面【Release\任務(wù)D提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下,啟動(dòng)2分鐘后根據(jù)change_machine_id降序查詢change_state_other_to_run_agg表并再次截圖粘貼至客戶端桌面【Release\任務(wù)D提交結(jié)果.docx】中對(duì)應(yīng)的任務(wù)序號(hào)下;注:時(shí)間語義使用ProcessingTime。change_state_other_to_run_agg表:字段類型中文含義change_machine_idint設(shè)備idlast_machine_statevarchar上一狀態(tài)。即觸發(fā)本次統(tǒng)計(jì)的最近一次非運(yùn)行狀態(tài)total_change_torunint從其他狀態(tài)轉(zhuǎn)為運(yùn)行的總次數(shù)in_timevarcharflink計(jì)算完成時(shí)間(yyyy-MM-ddHH:mm:ss)使用Flink消費(fèi)Kafka中ChangeRecord主題的數(shù)據(jù),每隔1分鐘輸出最近3分鐘的預(yù)警次數(shù)最多的設(shè)備,將結(jié)果存入Redis中,key值為“warning_last3min_everymin_out”,value值為“窗口結(jié)束時(shí)間,設(shè)備id”(窗口結(jié)束時(shí)間格式:yyyy-MM-ddHH:mm:ss)。使用rediscli以HGETALLkey方式獲取warning_last3min_everymin_out值,將結(jié)果截圖粘貼至客戶端桌面【Release\任務(wù)D提交結(jié)果.docx】中對(duì)應(yīng)的

溫馨提示

  • 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論