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

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

ID:83631285

大?。?4.13 KB

頁數:21頁

時間:2024-09-03

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

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

2023年全國職業(yè)院校技能大賽賽題第10套賽項名稱:大數據應用開發(fā)英文名稱:BigDataApplicationDevelopment賽項組別:高等職業(yè)教育組賽項編號:GZ033 背景描述工業(yè)互聯網是工業(yè)全要素、全產業(yè)鏈、全價值鏈的全面連接,是人、機、物、工廠互聯互通的新型工業(yè)生產制造服務體系,是互聯網從消費領域向生產領域、從虛擬經濟向實體經濟拓展的核心載體,是建設現代化經濟體系、實現高質量發(fā)展和塑造全球產業(yè)競爭力的關鍵支撐,工業(yè)大數據則是工業(yè)互聯網實現工業(yè)要素互聯之后的核心價值創(chuàng)造者?隨著大數據行業(yè)的發(fā)展,工業(yè)數據收集呈現時間維度不斷延長、數據范圍不斷擴大、數據粒度不斷細化的趨勢?以上三個維度的變化使得企業(yè)所積累的數據量以加速度的方式在增加,最終構成了工業(yè)大數據的集合?為完成工業(yè)大數據分析工作,你所在的小組將應用大數據技術,以Scala作為整個項目的基礎開發(fā)語言,基于大數據平臺綜合利用Hudi、Spark、Flink、Vue.js等技術,對數據進行處理、分析及可視化呈現,你們作為該小組的技術人員,請按照下面任務完成本次工作。 任務A:大數據平臺搭建(容器環(huán)境)(15分)環(huán)境說明:服務端登錄地址詳見各任務服務端說明。補充說明:宿主機及各容器節(jié)點可通過Asbru工具或SSH客戶端進行SSH訪問。子任務一:HadoopHA安裝配置本任務需要使用root用戶完成相關配置,安裝Hadoop需要配置前置環(huán)境。命令中要求使用絕對路徑,具體要求如下:1、從宿主機/opt目錄下將文件hadoop-3.1.3.tar.gz、jdk-8u212-linux-x64.tar.gz,apache-zookeeper-3.5.7-bin.tar.gz復制到容器Master中的/opt/software路徑中(若路徑不存在,則需新建),分別將Master節(jié)點Hadoop、ZooKeeper、JDK安裝包解壓到/opt/module路徑中(若路徑不存在,則需新建),其中將JDK、Hadoop解壓命令復制并粘貼至客戶端桌面【Release任務A提交結果.docx】中對應的任務序號下;2、請完成host相關配置,將三個節(jié)點分別命名為master、slave1、slave2并做免密登錄,修改容器中/etc/profile文件,設置JDK環(huán)境變量并使其生效,分發(fā)jdk至slave1、slave2中,均配置完畢后在Master節(jié)點分別執(zhí)行“java-version”和“javac”命令,將命令行執(zhí)行結果分別截圖并粘貼至客戶端桌面【Release任務A提交結果.docx】中對應的任務序號下;3、配置好zookeeper,其中zookeeper使用集群模式,分別在master、slave1、slave2作為其集群的節(jié)點,使用zkServer.shstatus獲取zookeeper服務端狀態(tài),將命令和結果截圖粘貼至客戶端桌面【Release任務A提交結果.docx】中對應的任務序號下(注:只截取三個節(jié)點中zookeeperserver角色模式為leader的節(jié)點); 1、配置好HadoopHA,請將dfs.ha.namenodes.hadoopcluster設置為nn1、nn2,同時yarn.resourcemanager.ha.rm-ids設置為rm1、rm2,并在Master啟動nn1與rm1,在slave1啟動nn2與rm2,將master、slave1、slave2均作為datanode,分發(fā)hadoop至slave1、slave2中,啟動yarn與hdfs的HA集群(HadoopHA集群),并在Master節(jié)點上使用命令分別查看服務nn2與rm2進程狀態(tài),并將查看命令及結果截圖粘貼至客戶端桌面【Release任務A提交結果.docx】中對應的任務序號下;2、HadoopHA配置并啟動完畢后,使用jps在slave1節(jié)點查看服務進程,將查看命令及結果截圖粘貼至客戶端桌面【Release任務A提交結果.docx】中對應的任務序號下。子任務二:Flume安裝配置本任務需要使用root用戶完成相關配置,已安裝Hadoop及需要配置前置環(huán)境,具體要求如下:1、從宿主機/opt目錄下將文件apache-flume-1.7.0-bin.tar.gz復制到容器master中的/opt/software路徑中(若路徑不存在,則需新建),將Master節(jié)點Flume安裝包解壓到/opt/module目錄下,將解壓命令復制并粘貼至客戶端桌面【Release任務A提交結果.docx】中對應的任務序號下;2、完善相關配置,配置Flume環(huán)境變量,并使環(huán)境變量生效,執(zhí)行命令flume-ngversion并將命令與結果截圖粘貼至客戶端桌面【Release任務A提交結果.docx】中對應的任務序號下;3、啟動Flume傳輸Hadoop日志(namenode或datanode日志),查看HDFS中/tmp/flume目錄下生成的內容,將查看命令及結果(至少5條結果)截圖并粘貼至客戶端桌面【Release任務A提交結果.docx】中對應的任務序號下。子任務三:ClickHouse單節(jié)點安裝配置本任務需要使用root用戶完成相關配置,具體要求如下:1、 從宿主機/opt目錄下將clickhouse開頭的相關文件復制到容器Master中的/opt/module/clickhouse路徑中(若路徑不存在,則需新建),將全部解壓命令復制并粘貼至客戶端桌面【Release任務A提交結果.docx】中對應的任務序號下;1、執(zhí)行啟動各個相關腳本,將全部啟動命令復制并將執(zhí)行結果(截取結果最后倒數15行即可)截圖粘貼至客戶端桌面【Release任務A提交結果.docx】中對應的任務序號下;2、設置遠程訪問并移除默認監(jiān)聽文件(listen.xml),同時由于9000端口被Hadoop占用,需要將clickhouse的端口更改為9001,并啟動clickhouse,啟動后查看clickhouse運行狀態(tài),并將啟動命令復制、查看運行狀態(tài)命令復制并將執(zhí)行結果截圖粘貼至客戶端桌面【Release任務A提交結果.docx】中對應的任務序號下。 任務B:離線數據處理(25分)環(huán)境說明:服務端登錄地址詳見各任務服務端說明。補充說明:各節(jié)點可通過Asbru工具或SSH客戶端進行SSH訪問;主節(jié)點MySQL數據庫用戶名/密碼:root/123456(已配置遠程連接);Spark任務在Yarn上用Client運行,方便觀察日志。子任務一:數據抽取編寫Scala代碼,使用Spark將MySQL庫中表EnvironmentData,ChangeRecord,BaseMachine,MachineData,ProduceRecord全量抽取到Hudi的hudi_gy_ods庫(路徑為/user/hive/warehouse/hudi_gy_ods.db)中對應表environmentdata,changerecord,basemachine,machinedata,producerecord中。1、抽取MySQL的shtd_industry庫中EnvironmentData表的全量數據進入Hudi的hudi_gy_ods庫中表environmentdata,字段排序、類型不變,同時添加靜態(tài)分區(qū),分區(qū)字段為etldate,類型為String,且值為當前比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)。PRECOMBINE_FIELD使用InPutTime,EnvoId作為主鍵。使用spark-sql的cli執(zhí)行showpartitionsods.environmentdata命令,將結果截圖粘貼至客戶端桌面【Release任務B提交結果.docx】中對應的任務序號下;2、抽取MySQL的shtd_industry庫中ChangeRecord表的全量數據進入Hudi的hudi_gy_ods庫中表changerecord,字段排序、類型不變,分區(qū)字段為etldate,類型為String,且值為當前比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)。PRECOMBINE_FIELD使用ChangeEndTime,ChangeID和ChangeMachineID作為聯合主鍵。使用spark-sql的cli執(zhí)行select count(*)fromods.changerecord命令,將cli的執(zhí)行結果分別截圖粘貼至客戶端桌面【Release任務B提交結果.docx】中對應的任務序號下;1、抽取MySQL的shtd_industry庫中BaseMachine表的全量數據進入Hudi的hudi_gy_ods庫中表basemachine,字段排序、類型不變,分區(qū)字段為etldate,類型為String,且值為當前比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)。PRECOMBINE_FIELD使用MachineAddDate,BaseMachineID為主鍵。使用spark-sql的cli執(zhí)行showpartitionsods.basemachine命令,將spark-sql的cli的執(zhí)行結果分別截圖粘貼至客戶端桌面【Release任務B提交結果.docx】中對應的任務序號下;2、抽取MySQL的shtd_industry庫中ProduceRecord表的全量數據進入Hudi的hudi_gy_ods庫中表producerecord,剔除ProducePrgCode字段,其余字段排序、類型不變,分區(qū)字段為etldate,類型為String,且值為當前比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)。PRECOMBINE_FIELD使用ProduceCodeEndTime,ProduceRecordID和ProduceMachineID為聯合主鍵。使用spark-sql的cli執(zhí)行showpartitionsods.producerecord命令,將spark-sql的cli的執(zhí)行結果分別截圖粘貼至客戶端桌面【Release任務B提交結果.docx】中對應的任務序號下;3、抽取MySQL的shtd_industry庫中MachineData表的全量數據進入Hudi的hudi_gy_ods庫中表machinedata,字段排序、類型不變,分區(qū)字段為etldate,類型為String,且值為當前比賽日的前一天日期(分區(qū)字段格式為yyyyMMdd)。PRECOMBINE_FIELD使用MachineRecordDate,MachineRecordID為主鍵。使用spark-sql的cli執(zhí)行showpartitionsods.machinedata命令,將cli的執(zhí)行結果分別截圖粘貼至客戶端桌面【Release任務B提交結果.docx】中對應的任務序號下。子任務二:數據清洗編寫Scala代碼,使用Spark將ods庫中相應表數據全量抽取到Hudi的hudi_gy_dwd庫(路徑為/user/hive/warehouse/hudi_gy_dwd.db)中對應表中。表中有涉及到timestamp類型的,均要求按照yyyy-MM-dd HH:mm:ss,不記錄毫秒數,若原數據中只有年月日,則在時分秒的位置添加00:00:00,添加之后使其符合yyyy-MM-ddHH:mm:ss。1、抽取hudi_gy_ods庫中environmentdata的全量數據進入Hudi的hudi_gy_dwd庫中表fact_environment_data,分區(qū)字段為etldate且值與ods庫的相對應表該值相等,并添加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均填寫當前操作時間,并進行數據類型轉換。dwd_modify_time作為preCombineField,EnvoId作為primaryKey。使用spark-sql的cli按照envoid降序排序,查詢前5條數據,將結果截圖粘貼至客戶端桌面【Release任務B提交結果.docx】中對應的任務序號下;2、抽取hudi_gy_ods庫中changerecord的全量數據進入Hudi的hudi_gy_dwd庫中表fact_change_record,分區(qū)字段為etldate且值與hudi_gy_ods庫的相對應表該值相等,并添加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均填寫當前操作時間,并進行數據類型轉換。dwd_modify_time作為preCombineField,change_id和change_machine_id作為聯合primaryKey。使用spark-sql的cli按照change_machine_id、change_id均為降序排序,查詢前1條數據,將結果截圖粘貼至客戶端桌面【Release任務B提交結果.docx】中對應的任務序號下;3、抽取hudi_gy_ods庫中basemachine的全量數據進入Hudi的hudi_gy_dwd庫中表dim_machine。分區(qū)字段為etldate且值與hudi_gy_ods庫的相對應表該值相等,并添加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均填寫當前操作時間,并進行數據類型轉換。dwd_modify_time作為preCombineField,Base_machine_id作為primaryKey。使用spark-sql的cli按照Base_machine_id升序排序,查詢dim_machine前2條數據,將結果 截圖粘貼至客戶端桌面【Release任務B提交結果.docx】中對應的任務序號下;1、抽取hudi_gy_ods庫中producerecord的全量數據進入Hudi的hudi_gy_dwd庫中表fact_produce_record,分區(qū)字段為etldate且值與hudi_gy_ods庫的相對應表該值相等,并添加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均填寫當前操作時間,并進行數據類型轉換。dwd_modify_time作為preCombineField,produce_record_id和produce_machine_id作為聯合primaryKey。使用spark-sql的cli按照produce_machine_id、produce_record_id均為升序排序,查詢fact_produce_record前1條數據,將結果截圖粘貼至客戶端桌面【Release任務B提交結果.docx】中對應的任務序號下;2、抽取hudi_gy_ods庫中machinedata的全量數據進入Hudi的hudi_gy_dwd庫中表fact_machine_data。分區(qū)字段為etldate且值與hudi_gy_ods庫的相對應表該值相等,并添加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均填寫當前操作時間,并進行數據類型轉換。dwd_modify_time作為preCombineField,machine_record_id作為primaryKey。使用spark-sql的cli按照machine_id、machine_record_id均為降序排序,查詢前1條數據,將結果截圖粘貼至客戶端桌面【Release任務B提交結果.docx】中對應的任務序號下。子任務三:指標計算1、本任務基于以下2、3、4小題完成,使用DolphinScheduler完成第2、3、4題任務代碼的調度。工作流要求,使用shell輸出“開始”作為工作流的第一個job(job1),2、3、4題任務為串行任務且它們依賴job1的完成(命名為job2、job3、job4 ),job2、job3、job4完成之后使用shell輸出“結束”作為工作流的最后一個job(endjob),endjob依賴job2、job3、job4,并將最終任務調度完成后的工作流截圖,將截圖粘貼至客戶端桌面【Release任務B提交結果.docx】中對應的任務序號下;1、編寫scala代碼,使用Spark根據hudi_gy_dwd層的fact_machine_data表統(tǒng)計出每日每臺設備,狀態(tài)為“運行”的時長(若運行無結束時間,則需根據時間判斷這個設備的運行狀態(tài)的下一個狀態(tài)是哪條數據,將下一個狀態(tài)的數據的時間置為這個設備運行狀態(tài)的結束時間,如果設備數據的運行狀態(tài)不存在下一個狀態(tài),則該設備這個階段數據的運行狀態(tài)不參與計算,即該設備的這個階段數據的運行狀態(tài)時長按0計算),將結果數據寫入hudi_gy_dws層的表machine_data_total_time中,分區(qū)字段為etldate且值與fact_machine_data表該值相等,etldate作為preCombineField,machine_id、machine_record_date和total_time作為聯合primaryKey。然后使用spark-sql的cli根據machine_id降序和machine_record_date升序排序查詢前5條數據,將SQL語句復制粘貼至客戶端桌面【Release任務B提交結果.docx】中對應的任務序號下,將執(zhí)行結果截圖粘貼至客戶端桌面【Release任務B提交結果.docx】中對應的任務序號下;dws.machine_data_total_time:字段類型中文含義備注machine_idint設備idmachine_record_datestring狀態(tài)日期如:2021-10-01total_timeint一天運行總時長秒2、 編寫scala代碼,使用Spark根據hudi_gy_dws層表machine_data_total_time,計算每日運行時長前三的設備(若存在運行時長相同的數據時應全部輸出,例如有兩條并列第二,則第三名次不變,總共輸出四條數據)。將計算結果寫入ClickHouse數據庫shtd_industry的machine_data_total_time_top3表中(表結構如下),然后在Linux的ClickHouse命令行中根據查詢所有數據,將SQL語句復制粘貼至客戶端桌面【Release任務B提交結果.docx】中對應的任務序號下,將執(zhí)行結果截圖粘貼至客戶端桌面【Release任務B提交結果.docx】中對應的任務序號下;machine_data_total_time_top3:字段類型中文含義備注date_dayvarchar日期如:2021-10-01first_idint第一一天運行總時長第一second_idint第二一天運行總時長第二tertiary_idint第三一天運行總時長第二first_timeint第一的時長秒second_timeint第二的時長秒tertiary_timeint第三的時長秒1、編寫scala代碼,使用Spark根據hudi_gy_dwd層的fact_produce_record表,基于全量歷史數據計算各設備生產一個產品的平均耗時,produce_code_end_time值為1900-01-0100:00:00的數據為臟數據,需要剔除(注:fact_produce_record表中,一條數據代表加工一個產品,produce_code_start_time字段為開始加工時間,produce_code_end_time字段為完成加工時間),將設備每個產品的耗時與該設備平均耗時作比較,保留耗時高于平均值的產品數據,將得到的數據寫入ClickHouse數據庫shtd_industry的machine_produce_per_avgtime表中(表結構如下),然后在Linux的ClickHouse命令行中根據設備id降序排序查詢前3條數據,將SQL語句復制粘貼至客戶端桌面【Release任務B提交結果.docx】中對應的任務序號下,將執(zhí)行結果截圖粘貼至客戶端桌面【Release任務B提交結果.docx】中對應的任務序號下;machine_produce_per_avgtime:字段類型中文含義備注produce_record_idint生產記錄id 每生產一件產品產生一條數據produce_machine_idint設備idproducetimeint該產品耗時produce_per_avgtimeint設備生產一個產品平均耗時單位:秒 任務C:數據挖掘(10分)環(huán)境說明:服務端登錄地址詳見各任務服務端說明。補充說明:各節(jié)點可通過Asbru工具或SSH客戶端進行SSH訪問;主節(jié)點MySQL數據庫用戶名/密碼:root/123456(已配置遠程連接);Spark任務在Yarn上用Client運行,方便觀察日志。該任務均使用Scala編寫,利用Spark相關庫完成。子任務一:特征工程1、根據hudi_gy_dwd庫中fact_machine_data表(或MySQL的shtd_industry庫中MachineData表),根據以下要求轉換:獲取最大分區(qū)(MySQL不用考慮)的數據后,首先解析列machine_record_data(MySQL中為MachineRecordData)的數據(數據格式為xml,采用dom4j解析,解析demo在客戶端/home/ubuntu/Documents目錄下),并獲取每條數據的主軸轉速,主軸倍率,主軸負載,進給倍率,進給速度,PMC程序號,循環(huán)時間,運行時間,有效軸數,總加工個數,已使用內存,未使用內存,可用程序量,注冊程序量等相關的值(若該條數據沒有相關值,則按下表設置默認值),同時轉換machine_record_state字段的值,若值為報警,則填寫1,否則填寫0,以下為表結構,將數據保存在Hive的dwd.fact_machine_learning_data,使用cli按照machine_record_id升序排序,查詢dwd.fact_machine_learning_data前1條數據,將結果截圖粘貼至客戶端桌面【Release任務C提交結果.docx】中對應的任務序號下。dwd.fact_machine_learning_data表結構: 字段類型中文含義備注machine_record_idint主鍵machine_iddouble設備idmachine_record_statedouble設備狀態(tài)默認0.0machine_record_mainshaft_speeddouble主軸轉速默認0.0machine_record_mainshaft_multipleratedouble主軸倍率默認0.0machine_record_mainshaft_loaddouble主軸負載默認0.0machine_record_feed_speeddouble進給倍率默認0.0machine_record_feed_multipleratedouble進給速度默認0.0machine_record_pmc_codedoublePMC程序號默認0.0machine_record_circle_timedouble循環(huán)時間默認0.0machine_record_run_timedouble運行時間默認0.0machine_record_effective_shaftdouble有效軸數默認0.0machine_record_amount_processdouble總加工個數默認0.0machine_record_use_memorydouble已使用內存默認0.0machine_record_free_memorydouble未使用內存默認0.0machine_record_amount_use_codedouble可用程序量默認0.0machine_record_amount_free_codedouble注冊程序量默認0.0machine_record_datetimestamp記錄日期dwd_insert_userstringdwd_insert_timetimestampdwd_modify_userstringdwd_modify_timetimestamp 子任務二:報警預測1、根據子任務一的結果,建立隨機森林(隨機森林相關參數可自定義,不做限制),使用子任務一的結果訓練隨機森林模型,然后再將dwd.fact_machine_learning_data_test(該表字段含義與dwd.fact_machine_learning_data表相同,machine_record_state列值為空,表結構自行查看)轉成向量,預測其是否報警將結果輸出到MySQL數據庫shtd_industry中的ml_result表中(表結構如下)。在Linux的MySQL命令行中查詢出machine_record_id為1、8、20、28和36的5條數據,將SQL語句復制并粘貼至客戶端桌面【Release任務C提交結果.docx】中對應的任務序號下,將執(zhí)行結果截圖粘貼至客戶端桌面【Release任務C提交結果.docx】中對應的任務序號下。ml_result表結構:字段類型中文含義備注machine_record_idint主鍵machine_record_statedouble設備狀態(tài)報警為1,其他狀態(tài)則為0 任務D:數據采集與實時計算(20分)環(huán)境說明:服務端登錄地址詳見各任務服務端說明。補充說明:各節(jié)點可通過Asbru工具或SSH客戶端進行SSH訪問;Flink任務在Yarn上用perjob模式(即Job分離模式,不采用Session模式),方便Yarn回收資源。子任務一:實時數據采集1、在主節(jié)點使用Flume采集/data_log目錄下實時日志文件中的數據,將數據存入到Kafka的Topic中(Topic名稱分別為ChangeRecord、ProduceRecord和EnvironmentData,分區(qū)數為4),將Flume采集ChangeRecord主題的配置截圖粘貼至客戶端桌面【Release任務D提交結果.docx】中對應的任務序號下;2、編寫新的Flume配置文件,將數據備份到HDFS目錄/user/test/flumebackup下,要求所有主題的數據使用同一個Flume配置文件完成,將Flume的配置截圖粘貼至客戶端桌面【Release任務D提交結果.docx】中對應的任務序號下。子任務二:使用Flink處理Kafka中的數據編寫Scala代碼,使用Flink消費Kafka中的數據并進行相應的數據統(tǒng)計計算。1、使用Flink消費Kafka中ChangeRecord主題的數據,實時統(tǒng)計每個設備從其他狀態(tài)轉變?yōu)椤斑\行”狀態(tài)的總次數,將結果存入MySQL數據庫shtd_industry的change_state_other_to_run_agg表中(表結構如下)。請將任務啟動命令復制粘貼至客戶端桌面【Release任務D提交結果.docx】中對應的任務序號下,啟動1分鐘后根據change_machine_id 降序查詢change_state_other_to_run_agg表并截圖,啟動2分鐘后根據change_machine_id降序查詢change_state_other_to_run_agg表并再次截圖,將兩次截圖粘貼至客戶端桌面【Release任務D提交結果.docx】中對應的任務序號下;注:時間語義使用ProcessingTime。change_state_other_to_run_agg表:字段類型中文含義change_machine_idint設備idlast_machine_statevarchar上一狀態(tài)。即觸發(fā)本次統(tǒng)計的最近一次非運行狀態(tài)total_change_torunint從其他狀態(tài)轉為運行的總次數in_timevarcharflink計算完成時間(yyyy-MM-ddHH:mm:ss)1、使用Flink消費Kafka中ChangeRecord主題的數據,每隔1分鐘輸出最近3分鐘的預警次數最多的設備,將結果存入Redis中,key值為“warning_last3min_everymin_out”,value值為“窗口結束時間,設備id”(窗口結束時間格式:yyyy-MM-ddHH:mm:ss)。使用rediscli以HGETALLkey方式獲取warning_last3min_everymin_out值,將結果截圖粘貼至客戶端桌面【Release任務D提交結果.docx】中對應的任務序號下,需兩次截圖,第一次截圖和第二次截圖間隔1分鐘以上,第一次截圖放前面,第二次截圖放后面;注:時間語義使用ProcessingTime。2、使用Flink消費Kafka中EnvironmentData主題的數據,監(jiān)控各環(huán)境檢測設備數據,當溫度(Temperature字段)持續(xù)3分鐘高于38度時記錄為預警數據,將結果存入Redis中,key值為“env_temperature_monitor”,value值為“設備id-預警信息生成時間,預警信息”(預警信息生成時間格式:yyyy-MM-ddHH:mm:ss)。使用rediscli以HGETALL key方式獲取env_temperature_monitor值,將結果截圖粘貼至客戶端桌面【Release任務D提交結果.docx】中對應的任務序號下,需要Flink啟動運行6分鐘以后再截圖。注:時間語義使用ProcessingTime。value示例:114-2022-01-0114:12:19,設備114連續(xù)三分鐘溫度高于38度請及時處理!中文內容及格式必須為示例所示內容。同一設備3分鐘只預警一次。 任務E:數據可視化(15分)環(huán)境說明:數據接口地址及接口描述詳見各任務服務端說明。注:所有數據排序按照接口返回數據順序處理即可,不用特意排序。子任務一:用折線圖展示PM2.5濃度變化編寫Vue工程代碼,根據接口,用折線圖展示PM2.5濃度變化,同時將用于圖表展示的數據結構在瀏覽器的console中進行打印輸出,將圖表可視化結果和瀏覽器console打印結果分別截圖并粘貼至客戶端桌面【Release任務E提交結果.docx】中對應的任務序號下。子任務二:用餅狀圖展示每日各狀態(tài)總時長編寫Vue工程代碼,根據接口,用餅狀圖展示每日各狀態(tài)總時長(秒),同時將用于圖表展示的數據結構在瀏覽器的console中進行打印輸出,將圖表可視化結果和瀏覽器console打印結果分別截圖并粘貼至客戶端桌面【Release任務E提交結果.docx】中對應的任務序號下。子任務三:用柱狀圖展示每日所有車間各設備平均運行時長編寫Vue工程代碼,根據接口,用柱狀圖展示每日所有車間各設備平均運行時長(秒,四舍五入保留兩位小數),同時將用于圖表展示的數據結構在瀏覽器的console中進行打印輸出,將圖表可視化結果和瀏覽器console打印結果分別截圖并粘貼至客戶端桌面【Release任務E提交結果.docx】中對應的任務序號下。子任務四:用單軸散點圖展示設備運行時長 編寫Vue工程代碼,根據接口,用單軸散點圖展示設備運行時長(秒),同時將用于圖表展示的數據結構在瀏覽器的console中進行打印輸出,將圖表可視化結果和瀏覽器console打印結果分別截圖并粘貼至客戶端桌面【Release任務E提交結果.docx】中對應的任務序號下。子任務五:用單軸散點圖展示各設備加工每件產品所需時長編寫Vue工程代碼,根據接口,用單軸散點圖展示各設備加工每件產品所需時長(秒),同時將用于圖表展示的數據結構在瀏覽器的console中進行打印輸出,將圖表可視化結果和瀏覽器console打印結果分別截圖并粘貼至客戶端桌面【Release任務E提交結果.docx】中對應的任務序號下。 任務F:綜合分析(10分)子任務一:Kafka中的數據如何保證不丟失?在任務D中使用到了Kafka,將內容編寫至客戶端桌面【Release任務F提交結果.docx】中對應的任務序號下。子任務二:請簡述HBase的rowkey設計原則。請簡要概述HBase的rowkey的重要性并說明在設計rowkey時應遵循哪些原則,將內容編寫至客戶端桌面【Release任務F提交結果.docx】中對應的任務序號下。子任務三:數據倉庫中怎么處理緩慢變化維,有哪幾種方式?在任務B的數據倉庫的設計過程中,會出現緩慢變化維的問題,緩慢變化維是指一些維度表的數據不是靜態(tài)的,而是會隨著時間而緩慢地變化,在數倉設計中有哪些方式應對這些問題?將內容編寫至客戶端桌面【Release任務F提交結果.docx】中對應的任務序號下。

當前文檔最多預覽五頁,下載文檔查看全文

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

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