(全国职业技能比赛:高职)GZ033大数据应用开发赛题第10套.docx
《(全国职业技能比赛:高职)GZ033大数据应用开发赛题第10套.docx》由会员分享,可在线阅读,更多相关《(全国职业技能比赛:高职)GZ033大数据应用开发赛题第10套.docx(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023年全国职业院校技能大赛赛题第10套赛项名称: 大数据应用开发 英文名称: Big Data Application Development 赛项组别: 高等职业教育组 赛项编号: GZ033 背景描述工业互联网是工业全要素、全产业链、全价值链的全面连接,是人、机、物、工厂互联互通的新型工业生产制造服务体系,是互联网从消费领域向生产领域、从虚拟经济向实体经济拓展的核心载体,是建设现代化经济体系、实现高质量发展和塑造全球产业竞争力的关键支撑,工业大数据则是工业互联网实现工业要素互联之后的核心价值创造者随着大数据行业的发展,工业数据收集呈现时间维度不断延长、数据范围不断扩大、数据粒度不断细化
2、的趋势以上三个维度的变化使得企业所积累的数据量以加速度的方式在增加,最终构成了工业大数据的集合为完成工业大数据分析工作,你所在的小组将应用大数据技术,以Scala作为整个项目的基础开发语言,基于大数据平台综合利用Hudi、Spark、Flink、Vue.js等技术,对数据进行处理、分析及可视化呈现,你们作为该小组的技术人员,请按照下面任务完成本次工作。任务A:大数据平台搭建(容器环境)(15分)环境说明:服务端登录地址详见各任务服务端说明。补充说明:宿主机及各容器节点可通过Asbru工具或SSH客户端进行SSH访问。子任务一:Hadoop HA安装配置本任务需要使用root用户完成相关配置,安
3、装Hadoop需要配置前置环境。命令中要求使用绝对路径,具体要求如下: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节点Hadoop、ZooKeeper、JDK安装包解压到/opt/module路径中(若路径不存在,则需新建),其中将JDK、Hadoop解压命令复制并粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下;2
4、、 请完成host相关配置,将三个节点分别命名为master、slave1、slave2并做免密登录,修改容器中/etc/profile文件,设置JDK环境变量并使其生效,分发jdk至slave1、slave2中,均配置完毕后在Master节点分别执行“java -version”和“javac”命令,将命令行执行结果分别截图并粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下;3、 配置好zookeeper,其中zookeeper使用集群模式,分别在master、slave1、slave2作为其集群的节点,使用zkServer.sh status获取zookeepe
5、r服务端状态,将命令和结果截图粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下(注:只截取三个节点中zookeeper server角色模式为leader的节点);4、 配置好Hadoop HA,请将dfs.ha.namenodes.hadoopcluster设置为nn1、nn2,同时yarn.resourcemanager.ha.rm-ids设置为rm1、rm2,并在Master启动nn1与rm1,在slave1启动nn2与rm2,将master、slave1、slave2均作为datanode,分发hadoop至slave1、slave2中,启动yarn与hdf
6、s的HA集群(Hadoop HA集群),并在Master节点上使用命令分别查看服务nn2与rm2进程状态,并将查看命令及结果截图粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下;5、 Hadoop HA配置并启动完毕后,使用jps在slave1节点查看服务进程,将查看命令及结果截图粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下。子任务二:Flume安装配置本任务需要使用root用户完成相关配置,已安装Hadoop及需要配置前置环境,具体要求如下:1、 从宿主机/opt目录下将文件apache-flume-1.7.0-bin.tar.gz
7、复制到容器master中的/opt/software路径中(若路径不存在,则需新建),将Master节点Flume安装包解压到/opt/module目录下,将解压命令复制并粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下;2、 完善相关配置,配置Flume环境变量,并使环境变量生效,执行命令flume-ng version并将命令与结果截图粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下;3、 启动Flume传输Hadoop日志(namenode或datanode日志),查看HDFS中/tmp/flume目录下生成的内容,将查看命令及结果
8、(至少5条结果)截图并粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下。子任务三:ClickHouse单节点安装配置本任务需要使用root用户完成相关配置,具体要求如下:1、 从宿主机/opt目录下将clickhouse开头的相关文件复制到容器Master中的/opt/module/clickhouse路径中(若路径不存在,则需新建),将全部解压命令复制并粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下;2、 执行启动各个相关脚本,将全部启动命令复制并将执行结果(截取结果最后倒数15行即可)截图粘贴至客户端桌面【Release任务A提交结
9、果.docx】中对应的任务序号下;3、 设置远程访问并移除默认监听文件(listen.xml),同时由于9000端口被Hadoop占用,需要将clickhouse的端口更改为9001,并启动clickhouse,启动后查看clickhouse运行状态,并将启动命令复制、查看运行状态命令复制并将执行结果截图粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下。任务B:离线数据处理(25分)环境说明:服务端登录地址详见各任务服务端说明。补充说明:各节点可通过Asbru工具或SSH客户端进行SSH访问;主节点MySQL数据库用户名/密码:root/123456(已配置远程连接
10、);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库中Envir
11、onmentData表的全量数据进入Hudi的hudi_gy_ods库中表environmentdata,字段排序、类型不变,同时添加静态分区,分区字段为etldate,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。PRECOMBINE_FIELD使用InPutTime,EnvoId作为主键。使用spark-sql的cli执行show partitions ods.environmentdata命令,将结果截图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;2、 抽取MySQL的shtd_industry库中ChangeRec
12、ord表的全量数据进入Hudi的hudi_gy_ods库中表changerecord,字段排序、类型不变,分区字段为etldate,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。PRECOMBINE_FIELD使用ChangeEndTime,ChangeID和ChangeMachineID作为联合主键。使用spark-sql的cli执行select count(*) from ods.changerecord命令,将cli的执行结果分别截图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;3、 抽取MySQL的shtd_indu
13、stry库中BaseMachine表的全量数据进入Hudi的hudi_gy_ods库中表basemachine,字段排序、类型不变,分区字段为etldate,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。PRECOMBINE_FIELD使用MachineAddDate,BaseMachineID为主键。使用spark-sql的cli执行show partitions ods.basemachine命令,将spark-sql的cli的执行结果分别截图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;4、 抽取MySQL的shtd_
14、industry库中ProduceRecord表的全量数据进入Hudi的hudi_gy_ods库中表producerecord,剔除ProducePrgCode字段,其余字段排序、类型不变,分区字段为etldate,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。PRECOMBINE_FIELD使用ProduceCodeEndTime,ProduceRecordID和ProduceMachineID为联合主键。使用spark-sql的cli执行show partitions ods.producerecord命令,将spark-sql的cli的执行结果分别截
15、图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;5、 抽取MySQL的shtd_industry库中MachineData表的全量数据进入Hudi的hudi_gy_ods库中表machinedata,字段排序、类型不变,分区字段为etldate,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。PRECOMBINE_FIELD使用MachineRecordDate,MachineRecordID为主键。使用spark-sql的cli执行show partitions ods.machinedata命令,将cli的执行结果分别截图
16、粘贴至客户端桌面【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-dd HH:mm:ss。1、 抽取hudi_gy_ods库中environmentdata的全量数据进入Hudi的hu
17、di_gy_dwd库中表fact_environment_data,分区字段为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按照envo
18、id降序排序,查询前5条数据,将结果截图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;2、 抽取hudi_gy_ods库中changerecord的全量数据进入Hudi的hudi_gy_dwd库中表fact_change_record,分区字段为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、
19、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。分区字段为etldate且值与hudi_
20、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条数据,将结
21、果截图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;4、 抽取hudi_gy_ods库中producerecord的全量数据进入Hudi的hudi_gy_dwd库中表fact_produce_record,分区字段为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
22、均填写当前操作时间,并进行数据类型转换。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】中对应的任务序号下;5、 抽取hudi_gy_ods库中machinedata的全量数据进入Hudi的hudi_gy_dwd库中表fact_machi
23、ne_data。分区字段为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、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 职业技能 比赛 高职 GZ033 数据 应用 开发 赛题第 10
限制150内