GZ-2022041 大数据技术与应用赛项正式赛卷完整版包括附件-2022年全国职业院校技能大赛赛项正式赛卷.docx
2022年全国职业院校技能大赛高职组“大数据技术与应用”赛项赛卷(6卷)任务书参赛队编号:背景描述工业互联网是工业全要素、全产业链、全价值链的全面连接,是人、机、物、工厂互联互通的新型工业生产制造服务体系,是互联网从消费领域向生产领域、从虚拟经济向实体经济拓展的核心载体,是建设现代化经济体系、实现高质量发展和塑造全球产业竞争力的关键支撑。党中央、国务院高度重视工业互联网发展,习近平总书记连续四年对推动工业互联网发展做出重要指示。加快发展工业互联网产业,不仅是各国顺应产业发展大势,抢占产业未来制高点的战略选择,也是我国推动制造业质量变革、效率变革和动力变革,实现高质量发展的客观要求。为完成工业大数据分析工作,你所在的小组将应用大数据技术,以SCaIa作为整个项目的基础开发语言,基于大数据平台综合利用HivesSpark、FlinksVueJs等技术,对数据进行处理、分析及可视化呈现,你们作为该小组的技术人员,请按照下面任务完成本次工作。模块A:大数据平台搭建(容器环境)(15分)环境说明:服务端登录地址详见各模块服务端说明。补充说明:宿主机可通过ASbrU工具或SSH客户端进行SSH访问;相关软件安装包在宿主机的/opt目录下,请选择对应的安装包进行安装,用不到的可忽略;所有任务中应用命令必须采用绝对路径;进入MaSter节点的方式为dockerexec-itmasterbinbash进入SIaVel节点的方式为dockerexec-itslave1binbash进入SIaVe2节点的方式为dockerexec-itslave2binbashMySQL已在容器的MaSter中安装完毕,用户名/密码为root/123456任务一:HadooP完全分布式安装配置本环节需要使用root用户完成相关配置,安装HadoOP需要配置前置环境。具体要求如下:1、从宿主机/opt目录下将文件hadoop-2.7.7.tar.gz.jdk8u212linuxx64.tar.gz复制到容器master中的optsoftware路径中(若路径不存在,则需新建),将master节点JDK安装包解压到optmodule路径中(若路径不存在,则需新建),将JDK解压命令复制并粘贴至客户端桌面【Release'重命名为工位号模块A提交结果.docx】中对应的任务序号下;2、修改容器中etcprofile文件,设置JDK环境变量并使其生效,配置完毕后在master节点分别执行“java-version”和“javac”命令,将命令行执行结果分别截图并粘贴至客户端桌面【Release'重命名为工位号模块A提交结果.docx】中对应的任务序号下;3、请完成host相关配置,将三个节点分别命名为master、slave1sslave2,并做免密登录,用SCP命令并使用绝对路径从master复制JDK解压后的安装文件到SIaVe1、SlaVe2节点(若路径不存在,则需新建),并配置SlaVe1、SiaVe2相关环境变量,将全部SCP复制JDK的命令复制并粘贴至客户端桌面【Release'重命名为工位号模块A提交结果.docx】中对应的任务序号下;4、在master将HadOOP解压到optmodule(若路径不存在,则需新建)目录下,并将解压包分发至SlaVe1、SlaVe2中,其中master、slave1sSIaVe2节点均作为datanode,配置好相关环境,初始化HadOOP环境namenode,将初始化命令及初始化结果截图(截取初始化结果日志最后20行即可)粘贴至客户端桌面【Release'重命名为工位号模块A提交结果.docx】中对应的任务序号下;5、启动HadoOP集群(包括hdfs和yarn),使用jps命令查看master节点与SIaVel节点的JaVa进程,将jps命令与结果截图粘贴至客户端桌面【Release'重命名为工位号模块A提交结果.docx】中对应的任务序号下。任务二:SqooP安装配置本环节需要使用root用户完成相关配置,已安装Had。P及需要配置前置环境,具体要求如下:1、从宿主机/opt目录下将文件sqoop-1.4.2.bin_hadoop-2.0.0-alpha.tar.gzsmysql-COnneCtorjava5.1.47.jar复制至IJ容器master中的/OpVsoftware路径中(若路径不存在,则需新建),将容器master节点SqOOP安装包解压到optmodule目录下,将解压命令复制并粘贴至客户端桌面Release重命名为工位号模块A提交结果.docx】中对应的任务序号下;2、完善其他Sq。P相关配置,设置Sq。P环境变量,并使环境变量生效,执行命令SqoOPVerSion并将命令与其结果截图粘贴至客户端桌面【Release'重命名为工位号模块A提交结果.docx】中对应的任务序号下;3、测试Sq。P连接容器master节点的MySQL数据库是否成功并展示所有的database,并将连接命令与结果截图粘贴至客户端桌面【Release'重命名为工位号模块A提交结果.docx】中对应的任务序号下。任务三:HiVe安装配置本环节需要使用root用户完成相关配置,已安装Had。P及需要配置前置环境,具体要求如下:1、从宿主机/oPt目录下将文件apache-hive-2.34bin.tar.gz、mysql-connector-java-5.1.47.jar复制至IJ容器master中的/oPtySOftWare路径中(若路径不存在,则需新建),将MaSter节点HiVe安装包解压到/OpVmoduIe目录下,将解压命令复制并粘贴至客户端桌面【Release'重命名为工位号模块A提交结果.docx】中对应的任务序号下;2、设置HiVe环境变量,并使环境变量生效,执行命令hive-version并将命令与结果截图并粘贴至客户端桌面【Release'重命名为工位号模块A提交结果.docx】中对应的任务序号下;3、完成相关配置并添加所依赖的包,将MySQL数据库作为HiVe元数据库。初始化HiVe元数据,并通过SChematoOI相关命令执行初始化,将初始化结果截图(范围为命令执行结束的最后10行)粘贴至客户端桌面Release'重命名为工位号模块A提交结果.docx】中对应的任务序号下。模块B:离线数据处理(25分)环境说明:服务端登录地址详见各模块服务端说明。补充说明:各主机可通过ASbrU工具或SSH客户端进行SSH访问;MaSter节点MySQL数据库用户名/密码:root/123456(已配置远程连接);HiVe的配置文件位于optapachehive-2.3.4-binconfSPark任务在Yam上用CIient运行,方便观察日志。注:该SPark版本无法进行本地调试,请打包上传集群调试。任务一:数据抽取编写SqooP脚本,将MySQL库中表ChangeReCOrd、BaseMachinexMachineDatasProdUCeReCord全量抽取到HiVe的OdS库中对应表ChangereCOrd、basemachine.machinedata,producerecordo(提示:可通过SqooP将mysql的数据先加载到hdfs,然后再通过hive中loaddatainpath的方式为将数据加载到分区表中,同时hive表中默认的分隔符为t)1、抽取MySQL的ShtCUndUStry库中ChangeReCord表的全量数据进入HiVe的OdS库中表ChangereCOrd,字段排序、类型不变,同时添加静态分区,分区字段为etldate,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)0使用hivec执行ShoWPartitiOnSOdS.ChangereCord命令,将Sq。P提交命令及hiveCli的执行结果分别截图粘贴至客户端桌面【Release'重命名为工位号模块B提交结果.docx】中对应的任务序号下;2、抽取MySQL的ShtCUndUStry库中BaSeMaChine表的全量数据进入HiVe的OdS库中表basemachine,字段排序、类型不变,同时添加静态分区,分区字段为etldate,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)o使用hivecli执行ShoWPartitionSodS.basemachine命令,将Sq。P提交命令及hiveCIi的执行结果分别截图粘贴至客户端桌面【Release'重命名为工位号模块B提交结果.docx】中对应的任务序号下;3、抽取MySQL的ShtcundUStry库中ProdUCeReCOrd表的全量数据进入Hive的OdS库中表PrOdUCereCOrd,易IJ除ProdUCePgCode字段,其余字段排序、类型不变,同时添加静态分区,分区字段为etldate,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用hiveci执行ShoWPa巾tionsods.producerecord命令,将SqooP提交命令及hiveCli的执行结果分别截图粘贴至客户端桌面【Release'重命名为工位号模块B提交结果.docx】中对应的任务序号下;4、抽取MySQL的ShtCundUStry库中MaChineData表的全量数据进入HiVe的OdS库中表machinedata,字段排序、类型不变,同时添加静态分区,分区字段为etldate,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)0使用hivec执行ShoWPartitiOnSodSmachinedata命令,将Sq。P提交命令及hiveCli的执行结果分别截图粘贴至客户端桌面【Release'重命名为工位号模块B提交结果.docx】中对应的任务序号下。任务二:数据清洗编写HiVeSQL代码,将OdS库中相应表数据全量抽取到HiVe的dwd库中对应表中。表中有涉及到timestamp类型的,均要求按照yyyyMMddHH:mm:ss,不记录毫秒数,若原数据中只有年月日,则在时分秒的位置添加00:00:00,添加之后使其符合yyyyMMddHH:mm:sso1、抽取OdS库中ChangereCord的全量数据进入HiVe的dwd库中表fact_change_record,抽取数据之前需要对数据根据Changeid和ChangemaChineid进行联合去重处理,分区字段为etldate且值与OdS库的相对应表该值相等,并添加dwd_insert_usersdwdJnsertJime.dwd_modify_usersdwd_modify_time四歹IJ,其中dwd_insert_usersdwd_modify_uSer均填写“useri",dwd_insert_timesdwd_modify_time均填写当前操作时间,并进行数据类型转换。使用hiveCli按照Change_machine_id降序、Change_id升序排序,查询前1条数据,将结果截图粘贴至客户端桌面【Release'重命名为工位号模块B提交结果.docx】中对应的任务序号下;2、抽取OdS库中basemachine的全量数据进入HiVe的dwd库中表dim_machine,抽取数据之前需要对数据根据basemachineid进行去重处理。分区字段为etldate且值与OdS库的相对应表该值相等,并添加dwd_insert_usersdwd_insert_timexdwd_modify_userxdwd_modify_time四歹IJ,其中dwd_insert_userxdwd_modify_user均填写“use门”,dwd_insert_timesdwd_modify_time均填写当前操作时间,并进行数据类型转换。使用hivecli按照base_machine_id升序排序,查询dim_machine前2条数据,将结果截图粘贴至客户端桌面【Release'重命名为工位号模块B提交结果.docx中对应的任务序号下;3、抽取OdS库中ProdUCereCord的全量数据进入HiVe的dwd库中表fact_produce_record,分区字段为etldate且值与OdS库的相对应表该值相等,并添力口dwd_insert_usersdwd_insert_timesdwd_modify_usersdwd_modify_time四歹J,其中dwd_insert_usersdwd_modify_user均填写,user,dwd_insert_timexdwd_modify_time均填写当前操作时间,并进行数据类型转换。使用hiveCIi按照ProdUCe_machine_id升序排序,查询fact_produce_record前1条数据,将结果截图粘贴至客户端桌面【Release'重命名为工位号模块B提交结果.docx】中对应的任务序号下;4、抽取OdS库中machinedata的全量数据进入HiVe的dwd库中表fact_machine_data0分区字段为etldate且值与OdS库的相对应表该值相等,并添力口dwd_insert_usersdwd_insert_timesdwd_modify_usersdwd_modify_time四歹J,其中dwd_insert_usersdwd_modify_user均填写,user,dwd_insert_timexdwd_modify_time均填写当前操作时间,并进行数据类型转换。使用h血冲按照用植灰降序排序,查询前1条数据,将结果截图粘贴至客户端桌面【Release'重命名为工位号模块B提交结果.docx】中对应的任务序号下。任务三:指标计算1、编写SCaIa代码,使用SPark根据dwd层的fact_change_record表统计每个月(Change_starLtime的月份)、每个设备、每种状态的时长,若某状态当前未结束(即Charlge_end_time值为空)则该状态不参与计算。计算结果存入MySQL数据库ShtCLindUStry的machine_state_time表中(表结构如下),然后在LinUX的MySQL命令行中根据设备id、状态持续时长均为降序排序,查询出前10条,将SQL语句复制粘贴至客户端桌面Release'重命名为工位号模块B提交结果.docx】中对应的任务序号下,将执行结果截图粘贴至客户端桌面【Release'重命名为工位号模块B提交结果.docx中对应的任务序号下;machine_state_time表结构:字段类型中文含义设备注状态持续时长(秒)当月该状态的时长和年状态产生的年月状态产生的月2、编写SCaIa代码,使用SPark根据dwd层的fact_change_record表关联dim_machine表统计每个车间中所有设备运行时长(即设备状态为“运行”)的中位数在哪个设备(为偶数时,两条数据原样保留输出),若某个设备运行状态当前未结束(即Change_end_time值为空)则该状态不参与计算,计算结果存入MySQL数据库ShteUndUStry的machineUnning.median表中(表结构如下),然后在LinUX的MySQL命令行中根据所属车间、设备id均为降序排序,查询出前5条数据,将SQL语句复制粘贴至客户端桌面【Release'重命名为工位号模块B提交结果.docx】中对应的任务序号下,将执行结果截图粘贴至客户端桌面【Release'重命名为工位号模块B提交结果.docx】中对应的任务序号下;machine_running_median表结构:字段类型中文含义备注设所属车间运行总时长结果以秒为单位3s编写SCala代码,使用SPark根据dwd层的fact_produce_record表,基于全量历史数据计算各设备生产一个产品的平均耗时,ProdUCe_code_encLtime值为1900-01-01OO:00:00的数据为脏数据,需要易Il除,并以produce_record_idProdUCe_machine_id为联合主键进行去重(注:fact_produce_record表中,一条数据代表加工一个产品,ProdUCe_code_start_time字段为开始力工时间,produce_code_end_time字段为完成加工时间),将设备生产每个产品的耗时与该设备生产一个产品的平均耗时作比较,保留耗时高于平均值的产品数据,将得到的数据写入MySQL数据库ShtCLindUStry的machine_produce_per_avgtime表中(表结构如下),然后在LinUX的MySQL命令行中根据设备id降序排序查询前3条数据,将SQL语句复制粘贴至客户端桌面【Release'重命名为工位号模块B提交结果.docx】中对应的任务序号下,将执行结果截图粘贴至客户端桌面【Release'重命名为工位号模块B提交结果.docx】中对应的任务序号下;machine_poduce_per_avgtime表结构:字段类型中文含义备注生每生产一件产品产生一条数据设该产品耗时设备生产一个产单品平均耗时位:秒4、根据dwd层的fact.change.recorda,计算2021年10月12日这天(Change_starLtime字段的日期)状态为“待机'的数据,计算当天每小时新增的彳寺机”状态时长与当天彳寺机”状态总时长,将结果存入MySQL数据库ShtcUndUStry的accumulate_standby表中(表结构如下),然后在LinUX的MySQL的命令行根据StartJloUr降序查询accumulate_standby表前3条数据,将SQL语句复制粘贴至客户端桌面Release'重命名为工位号模块B提交结果.docx】中对应的任务序号下,将执行结果截图粘贴至客户端桌面【Release'重命名为工位号模块B提交结果.docx】中对应的任务序号下;accumulate_standby表结构:字段类型中文含义备注状态开始日期状态开始时间该小时新增“待机”状态时长存当前时间的小时整点截止到这个小时,当天“待机”状态总时长5、根据dwd层的facLchange-record,计算2021年10月13日这天(Change_starLtime字段的日期)状态为“运行”的数据,以3小时为一个计算窗口,做滑动窗口计算,滑动步长为1小时,窗口不满3小时不触发计算(即从凌晨3点开始触发计算,第一条数据的state.StarLtime为2021-10-13.02,以有数据的3个小时为一个时间窗口),将计算结果存入MySQL数据库ShtcLindUStry的SIide_window_rUnnning表中,然后在LinUX的MySQL命令行中按照state_starLtime字段所带的小时信息进行升序排序查询SIide.windowUnnning表前3条数据,将核心业务代码中的开窗相关代码与MySQL查询结果分别截图粘贴至客户端桌面【Release'重命名为工位号模块B提交结果.docx】中对应的任务序号下。SIide_windoWjwnning表结构:字段类型中文含义运行状态开始时间备注yyyy-MM-ddHH小时运行总时长单位:秒每小时平均运行时长基于所在窗口模块C:数据挖掘(10分)环境说明:服务端登录地址详见各模块服务端说明。补充说明:各主机可通过ASbrU工具或SSH客户端进行SSH访问;MaSter节点MySQL数据库用户名/密码:root/123456(已配置远程连接);HiVe的配置文件位于optapachehive-2.3.4-binconfSPark任务在Yam上用CIient运行,方便观察日志。该模块均使用SCaIa编写,利用SPark相关库完成。注:该SPark版本无法进行本地调试,请打包上传集群调试。任务一:特征工程1、根据dwd库中fact-machine-data(或MySQL的ShtdJndUStry库中MaChineData表),根据以下要求转换:获取最大分区(MySQL不用考虑)的数据后,首先解析列machine_record_data(MySQL中为MachineRecordData)的数据(数据格式为XmI,采用dom4j解析,解析demo在客户端/home/UbUntU/Documents目录下),并获取每条数据的主轴转速,主轴倍率,主轴负载,进给倍率,进给速度,PMC程序号,循环时间,运行时间,有效轴数,总加工个数,已使用内存,未使用内存,可用程序量,注册程序量等相关的值(若该条数据没有相关值,则按下表设置默认值),同时转换machine_recorCLState字段的值,若值为报警,则填写1,否则填写0,以下为表结构,将数据保存在dwd.fact_machine_learning_data,分区字段为etldate,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用hiveCli按照machine_record_id升序排序,查询dwd.fact_machineearning_data前1条数据,将结果截图粘贴至客户端桌面【Release'重命名为工位号模块C提交结果.docx】中对应的任务序号下。dwd.fact_machineeaming_data表结构:字段类型中文含义备注machine_record_idint主键machinejddouble设备idmachine_record_statedouble设备状态默认00machine_record_mainshaft_speeddouble主轴转速默认0.0machine_record_mainshaft_multipleratede)uble主轴倍率默认0.0machine_record_mainshaft_loaddouble主轴负载默认00machine_record_feed_speeddouble进给倍率默认00machine_record_feed_multipleratedouble进给速度默认00machine_record_pmc_codedoublePMC程序号默认00machine_record_circle_timedouble循环时间默认0.0machine_record_run_timedouble运行时间默认0.0machine_record_effective_shaftdouble有效轴数默认0.0machine_record_amount_processdouble总加工个数默认0.0machine_record_use_memorydouble已使用内存默认00machine_record_free_memorydouble未使用内存默认U.Umachine_record_amount_use_codedouble可用程序量默认0.0machme_record_amount_free_codedouble注册程序量默认0.0machine_record_datetimestampi己录日期dwd_insert_userstring设置为nulldwd_insert_timedwd_modify_usertimestampstring设置为当前操作时间设置为nulldwd_modify_timetimestamp设置为当前操作时间任务二:报警预测1、根据任务一的结果,建立随机森林(随机森林相关参数可自定义,不做限制),使用任务一的结果训练随机森林模型,然后再将HiVe中dwd.fact_machine_learning_data_test(该表字段含义与dwd.factTlaChineearning_data表相同,machine_recorCLState歹IJ值为空,表结构自行查看)转成向量,预测其是否报警将结果输出到MySQL数据库ShteUndUStry中的ml_result表中(表结构如下)。在LinUX的MySQL命令行中查询出machine_recorCUd为1、8、20、28和36的5条数据,将SQL语句复制并粘贴至客户端桌面【Release'重命名为工位号模块C提交结果.docx】中对应的任务序号下,将执行结果截图粘贴至客户端桌面【Release'重命名为工位号模块C提交结果.docx】中对应的任务序号下。ml_residt表结构:字段类型中文含义备注machine_record_idint主键machine_record_statedouble设备状态报警为1,其他状态则为。模块D:数据采集与实时计算(20分)环境说明:服务端登录地址详见各模块服务端说明。补充说明:各主机可通过ASbrU工具或SSH客户端进行SSH访问;请先检查ZooKeeper、KafkaxRediS端口是否已启动,若未启动则各启动命令如下:ZK启动(netstatntlp查看2181端口是否打开)usrzkzookeeper-3.4.6binzkServer.shstartRediS启动(netstatntlp查看6379端口是否打开)usrredisbinredis-serverusrredisbinredis.confKafka启动(netstatntlp查看9092端口是否打开)/opt/kafka/kafka_2.11-2.0.0/bin/kafka-server-start.sh-daemon(空格连接下一行)/opt/kafka/kafka_2.11-2.0.0/config/server.propertiesFlink任务在Yam上用Perjob模式(即JOb分离模式,不采用SeSSion模式),方便Yam回收资源。任务一:实时数据采集1、在MaSter节点使用FIUme采集/dataOg目录下实时日志文件中的数据(实时日志文件生成方式为在/dataOg目录下执行./make_data_file_v1命令即可生成日志文件,如果没有权限,请执行授权命令Chmod777/data_log/make_data_file_v1),将数据存入到Kafka的TOPiC中(Topic名称分别为ChangeReCord、PrOdUCeReCOrd和EnVirOnmentData,分区数为4),将FIUme采集ChangeReCOrd主题的配置(有路径的配置项须使用绝对路径)截图粘贴至客户端桌面【Release'重命名为工位号模块D提交结果.docx】中对应的任务序号下;2、编写新的FIUme配置文件,将数据备份到HDFS目录usertestflumebackup下,要求所有主题的数据使用同一个FIUme配置文件完成采集,将FIUme的配置(有路径的配置项须使用绝对路径)截图粘贴至客户端桌面Reease重命名为工位号模块D提交结果.docx】中对应的任务序号下。任务二:使用Flink处理Kafka中的数据编写SCala工程代码,使用Flink消费Kafka中的数据并进行相应的数据统计计算。1、使用Flink消费Kafka中ProdUCeReCord主题的数据,统计在已经检验的产品中,各设备每5分钟生产产品总数,将结果存入RediS中,使用HaSh数据结构,Key为“totalproduce”,对应值的(Key,Value)为(设备id,最近五分钟生产总数)。使用redisCli以HGETALLkey方式获取totalproduce值,将结果截图粘贴至客户端桌面【Release'重命名为工位号模块D提交结果.docx】中对应的任务序号下,需两次截图,第一次截图和第二次截图间隔5分钟以上,第一次截图放前面,第二次截图放后面;注:PrOdUCeReCord主题,生产一个产品产生一条数据;ChangeJIandIe_state字段为1代表已经检验,0代表未检验;时间语义使用PrOCeSSingTimeo2、使用Flink消费Kafka中ChangeReCOrd主题的数据,当某设备30秒状态连续为“预警”,输出预警信息。当前预警信息输出后,最近30秒不再重复预警(即如果连续1分钟状态都为“预警”只输出两次预警信息),将结果存入RediS中,使用HaSh数据结构,Key为"warning30SMaChine",对应值的(Key,Value)为(设备id,预警信息)。使用redisCIi以HGETALLkey方式获取Waming30SMaChine值,将结果截图粘贴至客户端桌面【Release'重命名为工位号模块D提交结果.docx中对应的任务序号下,需两次截图,第一次截图和第二次截图间隔1分钟以上,第一次截图放前面,第二次截图放后面,同时描述本题使用的核心编程思想,将内容编写至客户端桌面【Release'重命名为工位号模块D提交结果.docx】中对应的任务序号下;注:时间使用Change_starLtime字段,忽略数据中的Change_end_time(不参与任何计算),忽略数据迟到问题。(设备id,预警信息)示例:115,2022-01-0109:53:10:设备115连续30秒为预警状态请尽快处理!(2022-01-0109:53:10为Change_starLtime字段值,中文内容及格式必须为示例所示内容。)3、使用Flink消费Kafka中ChangeReCOrd主题的数据,统计每3分钟各设备状态为“预警”且未处理的数据总条数,将结果存入MySQL数据库ShtcUndUStry的threemin_warning_state_agg表中(追加写入,表结构如下)。请将任务启动命令复制粘贴至客户端桌面【Release'重命名为工位号模块D提交结果.docx】中对应的任务序号下,启动且数据进入后按照设备id升序排序查询threemin_warning_state_agg表进行截图,第一次截图后等待3分钟再次查询并截图,将两次截图分别粘贴至客户端桌面Release重命名为工位号模块D提交结果.docx】中对应的任务序号下。threemin_warning_state_agg表结构:字段类型中文含义change_machinejdint设备idtotalwarningint未被处理预警的数据总条数window_end_timevarchar窗口结束时间(yyyy-MM-ddHH:mm:ss)注:时间语义使用PrOCeSSingTime。模块E:数据可视化(15分)环境说明:数据接口地址及接口描述详见各模块服务端说明。注:所有数据排序按照接口返回数据顺序处理即可,不用特意排序。任务一:用柱状图展示设备历史各个状态持续时长编写VUe工程代码,根据接口,用柱状图展示接口所有数据中各设备各个状态持续时长(秒),同时将用于图表展示的数据结构在浏览器的ConSoIe中进行打印输出,将图表可视化结果和浏览器ConSoie打印结果分别截图并粘贴至客户端桌面【Release'重命名为工位号模块E提交结果.docx】中对应的任务序号下。任务二:用柱状图展示每日所有车间各设备平均运行时长编写VUe工程代码,根据接口,用柱状图展示每日各设备(不区分车间)平均运行时长(秒,四舍五入保留两位小数),同时将用于图表展示的数据结构在浏览器的ConSoIe中进行打印输出,将图表可视化结果和浏览器ConSole打印结果分别截图并粘贴至客户端桌面【Release'重命名为工位号模块E提交结果.docx】中对应的任务序号下。任务三:用折线图展示某设备每日运行时长编写VUe工程代码,根据接口,用折线图展示设备OP160每日的运行时长(秒),同时将用于图表展示的数据结构在浏览器的COnSOIe中进行打印输出,将图表可视化结果和浏览器COnSole打印结果分别截图并粘贴至客户端桌面Release重命名为工位号模块E提交结果.docx】中对应的任务序号下。任务四:用条形图展示每日各设备产量编写VUe工程代码,根据接口,用条形图展示每日各设备产量,同时将用于图表展示的数据结构在浏览器的ConSoIe中进行打印输出,将图表可视化结果和浏览器ConSoIe打印结果分别截图并粘贴至客户端桌面【Release'重命名为工位号模块E提交结果.docx】中对应的任务序号下。任务五:用折柱混合图展示设备日均产量和所在车间日均产量编写VUe工程代码,根据接口,用折柱混合图展示各设备的日均产量(四舍五入保留两位小数)和所在车间的日均产量(四舍五入保留两位小数),其中柱状图展示各设备的日均产量,折线图展示该设备所在车间的日均产量,同时将用于图表展示的数据结构在浏览器的ConSoIe中进行打印输出,将图表可视化结果和浏览器ConSole打印结果分别截图并粘贴至客户端桌面【Release'重命名为工位号模块E提交结果.docx】中对应的任务序号下。模块F:综合分析(10分)任务一:Flink有哪些重启策略?各个重启策略如何配置?在模块D中使用到了FIink,Flink在运行job时可能会出现各种问题,从而会导致其失败或者重启,对于类似于网络波动造成的运行失败可以采取相对应重启策略来重试,请问FIink有几种重启策略(中文)?分别怎么配置这些重启策略?将内容编写至客户端桌面【Release'重命名为工位号模块F提交结果.docx】中对应的任务序号下。任务二:SPark的数据本地性有哪几种,分别表示什么?在模块B与模块C中使用到了SParK其中有些job运行较慢,有些较快,一部分原因与数据位置和计算位置相关,其数据本地性可以在SParkUl中查看到。请问SPark的数据本地性有哪几种(英文)?分别表示的含义是什么(中文)?将内容编写至客户端桌面【Release'重命名为工位号模块F提交结果.docx】中对应的任务序号下。任务三:数据仓库中怎么处理缓慢变化维,有哪几种方式?在模块B的数据仓库的设计过程中,会出现缓慢变化维的问题,缓慢变化维是指