《(全国职业技能比赛:高职)GZ033大数据应用开发赛题第10套.docx》由会员分享,可在线阅读,更多相关《(全国职业技能比赛:高职)GZ033大数据应用开发赛题第10套.docx(21页珍藏版)》请在第一文库网上搜索。
1、2023年全国职业院校技能大赛赛题第10套赛项名称:大数据应用开发英文名称:Big Data APPliCation DeVeIOPment赛项组别:高等职业教育组GZ033赛项编号:背景描述工业互联网是工业全要素、全产业链、全价值链的全面连接,是 人、机、物、工厂互联互通的新型工业生产制造服务体系,是互联网 从消费领域向生产领域、从虚拟经济向实体经济拓展的核心载体,是 建设现代化经济体系、实现高质量发展和塑造全球产业竞争力的关键 支撑,工业大数据则是工业互联网实现工业要素互联之后的核心价值 创造者。随着大数据行业的发展,工业数据收集呈现时间维度不断延 长、数据范围不断扩大、数据粒度不断细化的
2、趋势。以上三个维度的 变化使得企业所积累的数据量以加速度的方式在增加,最终构成了工 业大数据的集合。为完成工业大数据分析工作,你所在的小组将应用大数据技术, 以Scala作为整个项目的基础开发语言,基于大数据平台综合利用 Hudi, Spark、Flink、Vue. js等技术,对数据进行处理、分析及可 视化呈现,你们作为该小组的技术人员,请按照下面任务完成本次工 作。任务A:大数据平台搭建(容器环境)(15分)环境说明:服务端登录地址详见各任务服务端说明。补充说明:宿主机及各容器节点可通过Asbru工具或SSH客户端进行SSH访问o子任务一:Hadoop HA安装配置本任务需要使用rt用户完
3、成相关配置,安装HadOOP需要配置前置环境。 命令中要求使用绝对路径,具体要求如下:1、从宿主机/opt 目录下将文件 hadoop-3. 1. 3. tar. gz、 jdk-8u212-1 inu-64. tar. gz, apache-zookeeper-3. 5. 7-bin. tar. gz 复制 到容器MaSter中的optsoftware路径中(若路径不存在,则需新建),分 别将 Master 节点 Hadoop ZooKeeper. JDK 安装包解压到optmodule 路径 中(若路径不存在,则需新建),其中将JDK、HadOOP解压命令复制并粘贴至 客户端桌面【Rele
4、ase任务A提交结果.docx】中对应的任务序号下;2、请完成host相关配置,将三个节点分别命名为master、SIaVe1、SIaVe2并 做免密登录,修改容器中etcprofile文件,设置JDK环境变量并使其生效, 分发jdk至SlaVe 1、slave2中,均配置完毕后在Master节点分别执行“java -version和javac”命令,将命令行执行结果分别截图并粘贴至客户端 桌面【Release任务A提交结果.docx】中对应的任务序号下;3、配置好zookeeper,其中zookeeper使用集群模式,分别在master、SIaVe1、 slave2作为其集群的节点,使用zk
5、Server. sh status获取zookeeper服务 端状态,将命令和结果截图粘贴至客户端桌面【Release任务A提交结 果.docx】中对应的任务序号下(注:只截取三个节点中zookeeper server 角色模式为Ieader的节点);4、 配置好 HadOoP HA,请将 dfs. ha. namenodes, hadoopcluster 设置为 nnKnn2, 同 时 yarn, resourcemanager, ha. rm-ids 设置为 rml、rm2, 并在 Master 启动 nnl 与 rml, 在 SIaVel 启动 nn2 与 rm2, 将 InaSter、
6、slavel SIaVe2 均作为 datanode,分发 hadoop 至 SIaVe1、slave2 中,启动 yarn 与 hdfs 的 HA 集 群(Hadoop HA集群),并在Master节点上使用命令分别查看服务nn2与 rm2进程状态,并将查看命令及结果截图粘贴至客户端桌面【Release任务 A提交结果.docx】中对应的任务序号下;5、HadOOPHA配置并启动完毕后,使用jps在SIaVel节点查看服务进程,将查 看命令及结果截图粘贴至客户端桌面【Release任务A提交结果.docx】中 对应的任务序号下。子任务二:FI ume安装配置本任务需要使用rt用户完成相关配置
7、,已安装HadOOP及需要配置前置环 境,具体要求如下:1、从宿主机/opt目录下将文件apache-flume-1. 7. O-bin. tar. gz复制到容器 master中的optsoftwae路径中(若路径不存在,则需新建),将MaSter 节点FlUme安装包解压到optmodule目录下,将解压命令复制并粘贴至客 户端桌面【Release任务A提交结果.docx】中对应的任务序号下;2、完善相关配置,配置Flume环境变量,并使环境变量生效,执行命令flume-ng version并将命令与结果截图粘贴至客户端桌面【Release、任务A提交结 果.docx】中对应的任务序号下;
8、3、启动FIUme传输HadOoP日志(namenode或datanode日志),查看HDFS中 tmpflume目录下生成的内容,将查看命令及结果(至少5条结果)截图并 粘贴至客户端桌面【Release任务A提交结果.docx中对应的任务序号下。子任务三:CIi CkHouse单节点安装配置本任务需要使用rt用户完成相关配置,具体要求如下:1、从宿主机/opt目录下将clickhouse开头的相关文件复制到容器MaSter中的 optmoduleCIiCkhOUSe路径中(若路径不存在,则需新建),将全部解压 命令复制并粘贴至客户端桌面【Release、任务A提交结果.docx】中对应的 任
9、务序号下;2、执行启动各个相关脚本,将全部启动命令复制并将执行结果(截取结果最后 倒数15行即可)截图粘贴至客户端桌面【Release任务A提交结果.docx】 中对应的任务序号下;3、设置远程访问并移除默认监听文件(IiSten. xml),同时由于9000端口被 Hadoop占用,需要将CIiCkhoUSe的端口更改为9001,并启动CliCkhOUse, 启动后查看clickhouse运行状态,并将启动命令复制、查看运行状态命令 复制并将执行结果截图粘贴至客户端桌面【Release任务A提交结果.docx】 中对应的任务序号下。任务B:离线数据处理(25分)环境说明:服务端登录地址详见各
10、任务服务端说明。补充说明:各节点可通过Asbru工具或SSH客户端进行SSH访问;主节点MySQL数据库用户名/密码:root123456(已配置远程连接);Spark任务在Yarn上用Client运行,方便观察日志。子任务一:数据抽取编写 Scala 代码,使用 Spark 将 MySQL 库中表 EnvironmentData, ChangeRecord, BaseMachine, MaChineData, ProduceRecord 全量抽取至UHUdi 的 hudi_gy_ods 库(路径 为 userhiveWarehoUSehudi gy Ods. db )中对应表 environ
11、mentdata, changerecord,basemachine, machinedata, producerecord 中。1、抽取MySQL的shtd industry库中EnvironmentData表的全量数据进入Hudi 的hudigyods库中表environment data,字段排序、类型不变,同时添加 静态分区,分区字段为etldate,类型为String,且值为当前比赛日的前一 天日期(分区字段格式为 yyyyMMdd) o PRECOMBINE_FIELD 使用 InPutTime, EnvoId 作为 主键。使用 spark-sql 的 CIi 执 行 show p
12、artitions ods. environmentdata命令,将结果截图粘贴至客户端桌面【Release、任务 B提交结果.docx】中对应的任务序号下;2、抽取MySQL的Shtd-industry库中ChangeRecord表的全量数据进入Hudi的 hudi_gy_ods库中表changerecord,字段排序、类型不变,分区字段为 etldate,类型为String,且值为当前比赛日的前一天日期(分区字段格式 为 yyyyMMdd) o PRECOMBINE_FIELD 使用 ChangeEndTime, ChangeID 和 ChangeMachineID 作为联合主键。使用 s
13、park-sql 的 CIi 执行 select count(*) from OdS. changerecord命令,将CIi的执行结果分别截图粘贴至客户端桌面【Release、任务B提交结果.docx】中对应的任务序号下;3、抽取MySQL的Shtd_industry库中BaseMachine表的全量数据进入Hudi的 hudi_gy_ods库中表basemachine,字段排序、类型不变,分区字段为etldate, 类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)o PRECOMBINE_FIELD 使用 MachineAddDate, BaseMachi
14、neID 为 主键。使用 spark-sql 的 Cli 执行 show partitions ods. basemachine 命令,将 spark-sql 的cli的执行结果分别截图粘贴至客户端桌面【Release任务B提交结 果.docx】中对应的任务序号下;4、抽取MySQL的Shtd-industry库中ProduceRecord表的全量数据进入Hudi 的 hudi gy ods 库中表 producerecord,剔除 ProducePrgCode 字段,其余字 段排序、类型不变,分区字段为etldate,类型为String,且值为当前比赛 日的前一天日期(分区字段格式为yyyy
15、MMdd)。PRECOMB I NE_F IELD使用 ProduceCodeEndTime, ProduceRecordID 和 ProduceMachineID 为联合主键。 使用 spark-sql 的 cli 执行 show partitions OdS. producerecord 命令,将 spark-sql的Cli的执行结果分别截图粘贴至客户端桌面【Release任务B 提交结果.docx】中对应的任务序号下;5、抽取MySQL的Shtd.industry库中MachineData表的全量数据进入Hudi的 hudi_gy_ods库中表machinedata,字段排序、类型不变,
16、分区字段为etldate, 类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)o PRECcMBINE_FIELD 使用 MachineRecordDate, MachineRecordID 为主键。使 用 spark-sql 的 cli 执行 show partitions OdS. machinedata 命令, 将 cli 的执行结果分别截图粘贴至客户端桌面【Release任务B提交结果.docx】 中对应的任务序号下。子任务二:数据清洗编写Scala代码,使用Spark将OdS库中相应表数据全量抽取到Hudi的 hudi_gy_dwd 库(路径为userhiveWarehOUSe/hudi_gy_dwd. db)中对应表中。 表中有涉