没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
18页
《工业数据处理训练任务》是全国职业技能大赛大数据技术比赛的一项任务,主要涉及到工业数据处理方面的技能和知识。该任务旨在考察参赛选手在面对工业领域的数据处理场景时,能够运用大数据技术进行数据处理和分析的能力和水平。 在该任务中,参赛选手需要通过对给定的工业数据进行处理和分析,完成数据清洗、数据预处理、特征工程、模型训练和评估等一系列任务,最终得出对工业数据的有效分析结果,并提供相应的解决方案。 为了完成这项任务,参赛选手需要具备一定的大数据技术和工业数据处理方面的知识,包括但不限于数据采集、数据清洗、数据预处理、特征工程、机器学习算法等方面的技能。同时,参赛选手还需要具备较强的数据分析和解决问题的能力,能够根据数据场景和业务需求,灵活选择适合的方法和算法进行数据处理和分析。 为参赛选手提供学习和参考的资源包括但不限于:大数据技术和工业数据处理方面的书籍、视频教程、在线课程、实践项目等。此外,还可以参考开源社区中的相关工具和算法,例如Apache Spark、Flink、Hadoop等大数据处理框架,以及常用的数据分析和机器学习算法库,是一项需要参赛选手具备多方面技能和知识的任务。
资源推荐
资源详情
资源评论
环境说明:
集群启动命令为在 Master 上执行 allstart.sh;
各主机可通过 SSH 客户端进行 SSH 访问(需通过 22 映射的宿主机端
口号访问);
Master 节点 MySQL 数据库用户名/密码:root/123456(已配置远程
连接,需通过 3306 映射的宿主机端口号连接);
Hive 的配置文件位于/opt/module/hive-3.1.2/conf/
Spark 任务在 Yarn 上用 Client 运行,方便观察日志。
离线数据处理
任务一:数据抽取
编 写 Scala 代 码 , 使 用 Spark 将 MySQL 的 shtd_industry 库 中 表
EnvironmentData,ChangeRecord,BaseMachine,MachineData,ProduceRecord
全 量 抽 取 到 Hive 的 ods 库 ( 需 自 建 ) 中 对 应 表 environmentdata ,
changerecord,basemachine, machinedata, producerecord 中。
1、 抽取 MySQL 的 shtd_industry 库中 EnvironmentData 表的全量数
据进入 Hive 的 ods 库中表 environmentdata,字段排序、类型不变,同时添
加静态分区,分区字段类型为 String,且值为当前日期的前一天日期(分区
字 段 格 式 为 yyyyMMdd ) 。 并 在 hive cli 执 行 show partitions
ods.environmentdata 命令,将结果截图粘贴至对应报告中;
2、 抽取 MySQL 的 shtd_industry 库中 ChangeRecord 表的全量数据
进入 Hive 的 ods 库中表 changerecord,字段排序、类型不变,同时添加静
态分区,分区字段类型为 String,且值为当前日期的前一天日期(分区字段
格 式 为 yyyyMMdd ) 。 并 在 hive cli 执 行 show partitions
ods.changerecord 命令,将结果截图粘贴至对应报告中;
3、 抽取 MySQL 的 shtd_industry 库中 BaseMachine 表的全量数据进
入 Hive 的 ods 库中表 basemachine,字段排序、类型不变,同时添加静态分
区,分区字段类型为 String,且值为当前日期的前一天日期(分区字段格式
为 yyyyMMdd)。并在 hive cli 执行 show partitions ods.basemachine 命
令,将结果截图粘贴至对应报告中;
4、 抽取 MySQL 的 shtd_industry 库中 ProduceRecord 表的全量数据
进入 Hive 的 ods 库中表 producerecord,字段排序、类型不变,同时添加静
态分区,分区字段类型为 String,且值为当前日期的前一天日期(分区字段
格 式 为 yyyyMMdd ) 。 并 在 hive cli 执 行 show partitions
ods.producerecord 命令,将结果截图粘贴至对应报告中;
5、 抽取 MySQL 的 shtd_industry 库中 MachineData 表的全量数据进
入 Hive 的 ods 库中表 machinedata,字段排序、类型不变,同时添加静态分
区,分区字段类型为 String,且值为当前日期的前一天日期(分区字段格式
为 yyyyMMdd)。并在 hive cli 执行 show partitions ods.machinedata 命
令,将结果截图粘贴至对应报告中。
任务二:数据清洗
编写 Hive SQL 代码,将 ods 库中相应表数据全量抽取到 Hive 的 dwd 库(需
自建)中对应表中。表中有涉及到 timestamp 类型的,均要求按照 yyyy-MM-dd
HH:mm:ss,不记录毫秒数,若原数据中只有年月日,则在时分秒的位置添加
00:00:00,添加之后使其符合 yyyy-MM-dd HH:mm:ss。
1、 抽取 ods 库中 environmentdata 的全量数据进入 Hive 的 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
均填写当前操作时间,并进行数据类型转换。并在 hive cli 按照 envoid 降
序排序,查询前 5 条数据,将结果内容截图粘贴至对应的报告中;
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_user 均填写“user1”,dwd_insert_time、dwd_modify_time
均 填 写 当 前 操 作 时 间 , 并 进 行 数 据 类 型 转 换 。 并 在 hive cli 按 照
change_machine_id 降序排序,查询前 1 条数据,将结果内容截图粘贴至对
应报告中;
3、 抽取 ods 库中 basemachine 的全量数据进入 Hive 的 dwd 库中表
dim_machine,抽取数据之前需要对数据根据 basemachineid 进行去重处理。
分 区 字 段 为 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 均填写当前操作时间,并进行数据类型
转换。在 hive cli 中按照 base_machine_id 顺序排序,查询 dim_machine
前 2 条数据,将结果内容截图粘贴至对应报告中;
4、 抽取 ods 库中 producerecord 的全量数据进入 Hive 的 dwd 库中
表 fact_produce_record,分区字段为 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 均填写当前操作时间,并
进行数据类型转换。在 hive cli 中按照 produce_machine_id 顺序排序,查
询 fact_produce_record 前 2 条数据,将结果内容截图粘贴至对应报告中;
5、 抽取 ods 库中 machinedata 的全量数据进入 Hive 的 dwd 库中表
fact_machine_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 均填写当前操作时间,并
进行数据类型转换。并在 hive cli 中按照 machine_id 降序排序,查询前 1
条数据,将结果内容截图粘贴至对应报告中。
任务三:指标计算
1、 编写 Scala 代码,使用 Spark 根据 dwd 层 fact_change_record
表统计每个月(change_start_time 的月份)、每个设备、每种状态的时长,
若某状态当前未结束(即 change_end_time 值为空)则该状态不参与计算。
计算结果存入 MySQL 数据库 shtd_industry 的 machine_state_time 表(表
结构如下)中,然后在 Linux 的 MySQL 命令行中根据设备 id、状态持续时长
均为逆序排序,查询出前 10 条,将 SQL 语句与执行结果截图粘贴至对应报
告中;
字段
类型
中文含义
备注
machine_id
int
设备 id
change_record_state
varchar
状态
duration_time
varchar
持续时长(秒)
当月该状态的时长和
year
int
年
状态产生的年
month
int
月
状态产生的月
剩余17页未读,继续阅读
资源评论
约定Da于配置
- 粉丝: 1525
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功