《(全国职业技能比赛:高职)GZ033大数据应用开发赛题第08套.docx》由会员分享,可在线阅读,更多相关《(全国职业技能比赛:高职)GZ033大数据应用开发赛题第08套.docx(20页珍藏版)》请在优知文库上搜索。
1、2023年全国职业院校技能大赛赛题第08套赛项名称:大数据应用开发英又名称:BigDataAPPliCatiOnDeVeIOPment赛项组别:高等职业教育组GZ033赛项编号:背景描述工业互联网是工业全要素、全产业链、全价值链的全面连接,是人、机、物、工厂互联互通的新型工业生产制造服务体系,是互联网从消费领域向生产领域、从虚拟经济向实体经济拓展的核心载体,是建设现代化经济体系、实现高质量发展和塑造全球产业竞争力的关键支撑,工业大数据则是工业互联网实现工业要素互联之后的核心价值创造者。随着大数据行业的发展,工业数据收集呈现时间维度不断延长、数据范围不断扩大、数据粒度不断细化的趋势。以上三个维度
2、的变化使得企业所积累的数据量以加速度的方式在增加,最终构成了工业大数据的集合。为完成工业大数据分析工作,你所在的小组将应用大数据技术,以Scala作为整个项目的基础开发语言,基于大数据平台综合利用HiveSparkFlink.Vue.js等技术,对数据进行处理、分析及可视化呈现,你们作为该小组的技术人员,请按照下面任务完成本次工作。任务A:大数据平台搭建(容器环境)(15分)环境说明:服务端登录地址详见各任务服务端说明。补充说明:宿主机及各容器节点可通过ASbrU工具或SSH客户端进行SSH访问。MySQL已在容器的MaSter中安装完毕,用户名/密码为root/123456子任务一:Hado
3、op完全分布式安装配置本任务需要使用root用户完成相关配置,安装Hadoop需要配置前置环境。命令中要求使用绝对路径,具体要求如下:1、从宿主机/opt目录下将文件hadoop-2.7.7.tar.gz、jdk-8u212-linu-64.tar.gz复制到容器master中的optsoftware路径中(若路径不存在,则需新建),将master节点JDK安装包解压到optmodule路径中(若路径不存在,则需新建),将JDK解压命令复制并粘贴至客户端桌面【Release、任务A提交结果.docx】中对应的任务序号下;2、修改容器中etcprofile文件,设置JDK环境变量并使其生效,配置
4、完毕后在master节点分别执行java-version和javac”命令,将命令行执行结果分别截图并粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下;3、请完成host相关配置,将三个节点分别命名为master、SIaVe1、slave2,并做免密登录,用Scp命令并使用绝对路径从master复制JDK解压后的安装文件到slavekslave2节点(若路径不存在,则需新建),并配置SIaVe1、slave2相关环境变量,将全部scp复制JDK的命令复制并粘贴至客户端桌面【Release任务A提交结果.docx中对应的任务序号下;4、在master将Hadoop解压
5、到optmodule(若路径不存在,则需新建)目录下,并将解压包分发至SIaVe1、SlaVe2中,其中master、SIaVe1、SIaVe2节点均作为datanode,配置好相关环境,初始化HadOOP环境namenode,将初始化命令及初始化结果截图(截取初始化结果日志最后20行即可)粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下;5、启动HadOOP集群(包括hdfs和yarn),使用jps命令查看InaSter节点与slavel节点的Java进程,将jps命令与结果截图粘贴至客户端桌面【Release任务A提交结果.docx中对应的任务序号下。子任务二:
6、Kafka安装配置本任务需要使用root用户完成相关配置,已安装Hadoop及需要配置前置环境,具体要求如下:1、从宿主机/opt目录下将文件zookeeper-3.4.6.tar.gz、kafka_2.12-2.0.0.tgz复制到容器mastert36optsoftware路径中(若路径不存在,则需新建),将MaSter节点ZOOkeePer,Kafka安装包解压到optmodule目录下,将Kafka解压命令复制并粘贴至客户端桌面【Release、任务A提交结果.docx中对应的任务序号下;2、配置好zookeeper,其中zookeeper使用集群模式,分别将master、slavel
7、SIaVe2作为其节点(若ZOOkPeer已安装配置好,则无需再次配置),配置好Kafka的环境变量,使用kafka-server-start.shversion查看Kafka的版本内容,并将命令和结果截图粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下;3、完善其他配置并分发Kafka文件到SIaVe1、SIaVe2中,并在每个节点启动Kafka,创建TOPic,其中TOPiC名称为installtopic,分区数为2,副本数为2,将创建命令和创建成果截图粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下。子任务三:HiVe安装配置本任务
8、需要使用root用户完成相关配置,已安装Hadoop及需要配置前置环境,具体要求如下:1、从宿主机/opt目录下将文件apache-hive-2.3.4-bin.tar.gz、mysql-connector-java-5.1.47.jar复制到容器master中的optsoftware路径中(若路径不存在,则需新建),将容器master节点HiVe安装包解压到optmodule目录下,将命令复制并粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下;2、设置HiVe环境变量,并使环境变量生效,执行命令hive-version并将命令与结果截图粘贴至客户端桌面【Relea
9、se任务A提交结果.docx】中对应的任务序号下;3、完成相关配置并添加所依赖包,将MySQL数据库作为Hive元数据库。初始化Hive元数据,并通过schematool相关命令执行初始化,将初始化结果截图(范围为命令执行结束的最后10行)粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下。任务B:离线数据处理(25分)环境说明:服务端登录地址详见各任务服务端说明。补充说明:各节点可通过ASbrU工具或SSH客户端进行SSH访问;主节点MySQL数据库用户名/密码:root123456(已配置远程连接);Hive的配置文件位于/opt/apache-hive-2.3.
10、4-binconfSpark任务在Yarn上用Client运行,方便观察日志。子任务一:数据抽取编写Scala代码,使用Spark将MySQL库中表EnvironmentData,ChangeRecord,BaseMachine,MaChineData,ProduceRecord全量抽取到HiVe的ods库中对应表environmentdata,changerecord,basemachine,machinedata,producerecord中。1、抽取MySQL的ShICLindUStry库中EnvironmentData表的全量数据进入Hive的OdS库中表environmentdata
11、,字段排序、类型不变,同时添加静态分区,分区字段为etldate,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用hivecli执行showpartitionsOdS.environmentdata命令,将结果截图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;2、抽取MySQL的Shtd_industry库中ChangeRecord表的全量数据进入Hive的OdS库中表Changerecord,字段排序、类型不变,同时添加静态分区,分区字段为etldate,类型为String,且值为当前比赛日的前一天日期(分区字段格式为y
12、yyyMMdd)。使用hivecli执行showpartitionsods.changerecord命令,将结果截图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;3、抽取MySQL的ShId.industry库中BaseMachine表的全量数据进入Hive的ods库中表basemachine,字段排序、类型不变,同时添加静态分区,分区字段为etldate,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用hivecli执行showpartitionsods.basemachine命令,将结果截图粘贴至客户端桌面【Relea
13、se任务B提交结果.docx】中对应的任务序号下;4、抽取MySQL的Shtd.industry库中ProduceRecord表的全量数据进入Hive的ods库中表producerecord,剔除ProducePrgCode字段,其余字段排序、类型不变,同时添加静态分区,分区字段为Ctldate,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用hivecli执行showpartitionsOdS.producerecord命令,将结果截图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;5、抽取MySQL的Shtd_indus
14、try库中MachineData表的全量数据进入Hive的OdS库中表machinedata,字段排序、类型不变,同时添加静态分区,分区字段为etldate,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用hivecli执行showpartitionsods.machinedata命令,将结果截图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下。子任务二:数据清洗编写HiveSQL代码,将OdS库中相应表数据全量抽取到Hive的dwd库中对应表中O表中有涉及到timestamp类型的,均要求按照yyyy-MM-ddHU:mm:
15、ss,不记录毫秒数,若原数据中只有年月日,则在时分秒的位置添加00:00:00,添加之后使其符合yyyy-MM-ddHH:mm:SSo1、抽取OdS库中environmentdata的全量数据进入Hive的dwd库中表fact_environment_data,分区字段为etldate且值与OdS库的相对应表该值相等,并添加dwd_insert_userxdwd_insert_timedwd_modify_userdwd_modify_time四列,其中dwd_insert_usersdwd_modify_user均填写userlw,dwd_insert_timedwd_modify_time
16、均填写当前操作时间,并进行数据类型转换。使用hivecli按照envoid降序排序,查询前5条数据,将结果截图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;2、抽取ods库中changerecord的全量数据进入Hive的dwd库中表fact_change_record,抽取数据之前需要对数据根据changeid和Changemachineid进行联合去重处理,分区字段为etldate且值与OdS库的相对应表该值相等,并添加dwd_insert_user、dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_use