当前位置:网站首页 > R语言数据分析 > 正文

查看yarn状态的命令(查看yarn log)



2022年全国职业院校技能大赛

高职组

“大数据技术与应用”

赛项赛卷(6卷)

参赛队编号:______________

1

背景描述

工业互联网是工业全要素、全产业链、全价值链的全面连接,是

人、机、物、工厂互联互通的新型工业生产制造服务体系,是互联网

从消费领域向生产领域、从虚拟经济向实体经济拓展的核心载体,是

建设现代化经济体系、实现高质量发展和塑造全球产业竞争力的关键

支撑。党中央、国务院高度重视工业互联网发展,习近平总书记连续

四年对推动工业互联网发展做出重要指示。加快发展工业互联网产业,

不仅是各国顺应产业发展大势,抢占产业未来制高点的战略选择,也

是我国推动制造业质量变革、效率变革和动力变革,实现高质量发展

的客观要求。

为完成工业大数据分析工作,你所在的小组将应用大数据技术,

以Scala作为整个项目的基础开发语言,基于大数据平台综合利用

Hive、Spark、Flink、Vue.js等技术,对数据进行处理、分析及可

视化呈现,你们作为该小组的技术人员,请按照下面任务完成本次工

作。

2

模块A:大数据平台搭建(容器环境)(15分)

环境说明:

服务端登录地址详见各模块服务端说明。

补充说明:宿主机可通过Asbru工具或SSH客户端进行SSH访问;

相关软件安装包在宿主机的/opt目录下,请选择对应的安装包进行

安装,用不到的可忽略;

所有任务中应用命令必须采用绝对路径;

进入Master节点的方式为

dockerexec-itmaster/bin/bash

进入Slavel节点的方式为

dockerexec-itslavel/bin/bash

进入Slave2节点的方式为

dockerexec-itslave2/bin/bash

MySQL已在容器的Master中安装完毕,用户名/密码为root/

任务一:Hadoop完全分布式安装配置

本环节需要使用root用户完成相关配置,安装Hadoop需要配置前置环境。

具体要求如下:

1、从宿主机/opt目录下将文件hadoop-2.7.7.tar.gz、

jdk-8u212-1inux-x64.tar.gz复制到容器master中的/opt/software路径

中(若路径不存在,则需新建),将master节点JDK安装包解压到/opt/module

路径中(若路径不存在,则需新建),将JDK解压命令复制并粘贴至客户端桌

面【Release'重命名为工位号'模块A提交结果.docx】中对应的任务序号下;

2、修改容器中/etc/profile文件,设置JDK环境变量并使其生效,配置完毕后

3

在master节点分别执行"java-version"和"javac”命令,将命令行执

行结果分别截图并粘贴至客户端桌面【Release'重命名为工位号'模块A提

交结果.docx】中对应的任务序号下;

3、请完成host相关配置,将三个节点分别命名为master、slavel、slave2,

并做免密登录,用scp命令并使用绝对路径从master复制JDK解压后的安

装文件到slavedslave2节点(若路径不存在,则需新建),并配置slave1.

slave2相关环境变量,将全部scp复制JDK的命令复制并粘贴至客户端桌面

【Release'重命名为工位号'模块A提交结果.docx]中对应的任务序号下;

4、在master将Hadoop解压到/opt/module(若路径不存在,则需新建)目录下,

并将解压包分发至slavel、slave2中,其中master、slavel,slave2节点

均作为datanode,配置好相关环境,初始化Hadoop环境namenode,将初始

化命令及初始化结果截图(截取初始化结果日志最后20行即可)粘贴至客

户端桌面【Release'重命名为工位号'模块A提交结果.docx】中对应的任务

序号下;

5、启动Hadoop集群(包括hdfs和yarn),使用jps命令查看master节点与

slavel节点的Java进程,将jps命令与结果截图粘贴至客户端桌面

【Release'重命名为工位号'模块A提交结果.docx]中对应的任务序号下。

任务二:Sqoop安装配置

本环节需要使用root用户完成相关配置,已安装Hadoop及需要配置前置环

境,具体要求如下:

1、从宿主机/opt目录下将文件

sqoop-1.4.2.bin一hadoop-2.0.0-alpha.tar.gz、

mysql-connector-java-5.1.47.jar复制到容器master中的/opt/software

路径中(若路径不存在,则需新建),将容器master节点Sqoop安装包解

压到/opt/module目录下,将解压命令复制并粘贴至客户端桌面【Release'

重命名为工位号'模块A提交结果.docx]中对应的任务序号下;

2、完善其他Sqoop相关配置,设置Sqoop环境变量,并使环境变量生效,执行

命令sqoopversion并将命令与其结果截图粘贴至客户端桌面【Release'重

4

命名为工位号'模块A提交结果,docx】中对应的任务序号下;

3、测试Sqoop连接容器master节点的MySQL数据库是否成功并展示所有的

database,并将连接命令与结果截图粘贴至客户端桌面【Release'重命名为

工位号'模块A提交结果.docx】中对应的任务序号下。

任务三:Hive安装配置

本环节需要使用root用户完成相关配置,已安装Hadoop及需要配置前置环

境,具体要求如下:

1,从宿主机/opt目录下将文件apache-hive-2.3.4-bin.tar.gz、

mysql-connector-java-5.1.47.jar复制到容器master中的/opt/software

路径中(若路径不存在,则需新建),将Master节点Hive安装包解压到

/opt/module目录下,将解压命令复制并粘贴至客户端桌面【Release'重命

名为工位号'模块A提交结果.docx】中对应的任务序号下;

2、设置Hive环境变量,并使环境变量生效,执行命令hive-version并将命

令与结果截图并粘贴至客户端桌面【Release'重命名为工位号'模块A提交结

果.docx】中对应的任务序号下;

3、完成相关配置并添加所依赖的包,将MySQL数据库作为Hive元数据库。初

始化Hive元数据,并通过schematool相关命令执行初始化,将初始化结果

截图(范围为命令执行结束的最后10行)粘贴至客户端桌面【Release'重命

名为工位号'模块A提交结果.docx】中对应的任务序号下。

5

模块B:离线数据处理(25分)

环境说明:

服务端登录地址详见各模块服务端说明。

补充说明:各主机可通过Asbru工具或SSH客户端进行SSH访问;

Master节点MySQL数据库用户名/密码:root/(已配置远程

连接);

Hive的配置文件位于/opt/apache-hive-2.3.4-bin/conf/

Spark任务在Yarn上用Client运行,方便观察日志。

注:该Spark版本无法进行本地调试,请打包上传集群调试。

任务一:数据抽取

编写Sqoop脚本,将MySQL库中表ChangeRecord^BaseMachine^MachineDatax

ProduceRecord全量抽取到Hive的ods库中对应表changerecord、basemachine、

machinedata>producerecord中。(提示:可通过sqoop将mysql的数据先加

载到hdfs,然后再通过hive中loaddatainpath的方式为将数据加载到分区

表中,同时hive表中默认的分隔符为 )

1抽取MySQL的shtd_industry库中ChangeRecord表的全量数据进入Hive的

ods库中表changerecord,字段排序、类型不变,同时添加静态分区,分区

字段为etldate,类型为String,且值为当前比赛日的前一天日期(分区字

段格式为yyyyMMdd)。使用hivecli执行showpartitionsods.changerecord

命令,将Sqoop提交命令及hivecli的执行结果分别截图粘贴至客户端桌

面【Release'重命名为工位号'模块B提交结果.docx】中对应的任务序号下;

2、抽取MySQL的shtdindustry库中BaseMachine表的全量数据进入Hive的

ods库中表basemachine,字段排序、类型不变,同时添加静态分区,分区

字段为etldate,类型为String,且值为当前比赛日的前一天日期(分区字

6

段格式为yyyyMMdd)。使用hivecli执行showpartitionsods.basemachine

命令,将Sqoop提交命令及hivecli的执行结果分别截图粘贴至客户端桌

面【Release'重命名为工位号'模块B提交结果.docx】中对应的任务序号下;

3、抽取MySQL的shtd_industry库中ProduceRecord表的全量数据进入Hive

的ods库中表producerecord,剔除ProducePrgCode字段,其余字段排序、

类型不变,同时添加静态分区,分区字段为etldate,类型为String,且值

为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用hivecli

执行ducerecord命令,将Sqoop提交命令及hive

cli的执行结果分别截图粘贴至客户端桌面【Release'重命名为工位号'模块

B提交结果.docx】中对应的任务序号下;

4、抽取MySQL的shtd_industry库中MachineData表的全量数据进入Hive的

ods库中表machinedata,字段排序、类型不变,同时添加静态分区,分区

字段为etldate,类型为String,且值为当前比赛日的前一天日期(分区字

段格式为yyyyMMdd)。使用hivecli执行showpartitionsods.machinedata

命令,将Sqoop提交命令及hivecli的执行结果分别截图粘贴至客户端桌

面【Release'重命名为工位号'模块B提交结果.docx】中对应的任务序号下。

任务二:数据清洗

编写HiveSQL代码,将ods库中相应表数据全量抽取到Hive的dwd库中对

应表中。表中有涉及到timestamp类型的,均要求按照yyyy-MM-ddHH:mm:ss,

不记录毫秒数,若原数据中只有年月日,则在时分秒的位置添加00:00:00,添

加之后使其符合yyyy-MM-ddHH:mm:sso

1、抽取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均填写“userl”,dwd_insert_time>dwd_modify_time

均填写当前操作时间,并进行数据类型转换。使用hivecli按照

7

change_machine_id降序、change_id升序排序,查询前1条数据,将结果

截图粘贴至客户端桌面【Release'重命名为工位号'模块B提交结果.docx】

中对应的任务序号下;

2、抽取ods库中basemachine的全量数据进入Hive的dwd库中表dim_machine,

抽取数据之前需要对数据根据basemachineid进行去重处理。分区字段为

etldate且值与ods库的相对应表该值相等,并添加dwd_insert_user>

dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中

dwd_insert_userdwd_modify_user均填写“userl”,dwd_insert_time>

dwd_modify_time均填写当前操作时间,并进行数据类型转换。使用hivecli

按照basemachineid升序排序,查询dim_machine前2条数据,将结果截

图粘贴至客户端桌面【Release'重命名为工位号'模块B提交结果.docx】中

对应的任务序号下;

3、抽取ods库中producerecord的全量数据进入Hive的dwd库中表

fact_producerecord,分区字段为etldate且值与ods库的相对应表该值相

等,并添力口dwd_insert_user、dwd_insert_time、dwd_modify_user、

dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填写

“userl",dwd_insert_time>dwd_jnodify_time均填写当前操作时间,并

进行数据类型转换。使用hivecli按照produce_machine_id升序排序,查

询fact_produce_record前1条数据,将结果截图粘贴至客户端桌面

【Release'重命名为工位号'模块B提交结果.docx]中对应的任务序号下;

4、抽取ods库中machinedata的全量数据进入Hive的dwd库中表

fact_machine_datao分区字段为etldate且值与ods库的相对应表该值相

等,并添力口dwd_insert_user、dwd_insert_time、dwd_modify_user、

dwdmodify_time四列,其中dwd_insert_user>dwdmodify_user均填写

“userl",dwd_insert_time>dwd_modify_time均填写当前操作时间,并

进行数据类型转换。使用hivecli按照machine_id降序排序,查询前1条

数据,将结果截图粘贴至客户端桌面【Release'重命名为工位号'模块B提

交结果.docx】中对应的任务序号下。

8

任务三:指标计算

1、编写Scala代码,使用Spark根据dwd层的fact_change_record表统计每

个月(change_start_time的月份)、每个设备、每种状态的时长,若某状

态当前未结束(即change_end_time值为空)则该状态不参与计算。计算结

果存入MySQL数据库shtdindustry的machinestate_time表中(表结构

如下),然后在Linux的MySQL命令行中根据设备id、状态持续时长均为降

序排序,查询出前10条,将SQL语句复制粘贴至客户端桌面【Release'重

命名为工位号'模块B提交结果.docx】中对应的任务序号下,将执行结果截

图粘贴至客户端桌面【Release'重命名为工位号'模块B提交结果.docx】中

对应的任务序号下;

machine_state_time表结构:

字段类型中文含义备注

machinejdint设备id

change_record_statevarchar状态

duration_timevarchar持续时长(秒)当月该状态的时长和

yearint年状态产生的年

monthint月状态产生的月

2、编写Scala代码,使用Spark根据dwd层的fact_change_record表关联

dimjnachine表统计每个车间中所有设备运行时长(即设备状杰为“运行”)

的中位数在哪个设备(为偶数时,两条数据原样保留输出),若某个设备运

行状态当前未结束(即change_end_time值为空)则该状态不参与计算,计

算结果存入MySQL数据库shtd_industry的machine_running_median表中

(表结构如下),然后在Linux的MySQL命令行中根据所属车间、设备id

均为降序排序,查询出前5条数据,将SQL语句复制粘贴至客户端桌面

【Release'重命名为工位号'模块B提交结果.docx】中对应的任务序号下,

将执行结果截图粘贴至客户端桌面【Release'重命名为工位号'模块B提交

结果.docx】中对应的任务序号下;

9

machine_running_median表结构:

字段类型中文含义备注

machinejdint设备id

machine__factoryint所属车间

total_running_timeint运行总时长结果以秒为单位

3、编写Scala代码,使用Spark根据dwd层的fact_produce_record表,基于

全量历史数据计算各设备生产一个产品的平均耗时,

produce_code_end_time值为1900-01-0100:00:00的数据为脏数据,需要

剔除,并以produce_recordid和produce_machine_id为联合主键进行去

重(注:fact_produce_record表中,一条数据代表加工一个产品,

produce_code_start_time字段为开始力口工时间,produce_code_end_time

字段为完成加工时间),将设备生产每个产品的耗时与该设备生产一个产品

的平均耗时作比较,保留耗时高于平均值的产品数据,将得到的数据写入

MySQL数据库shtdindustry的machine_produce_per_avgtime表中(表结

构如下),然后在Linux的MySQL命令行中根据设备id降序排序查询前3

条数据,将SQL语句复制粘贴至客户端桌面【Release'重命名为工位号'模

块B提交结果.docx】中对应的任务序号下,将执行结果截图粘贴至客户端

桌面【Release'重命名为工位号'模块B提交结果.docx】中对应的任务序号

下;

machine_produce_per_avgtime表结构:

字段类型中文含义备注

produce_record_idint生产记录id每生产一件产品

产生一条数据

produce_machinejdint设备id

producetimeint该产品耗时

produce_per_avgtimeint设备生产一个产单位:秒

品平均耗时

1

4、根据dwd层的fact_change_record表,计算2021年10月12日这天

(change_start_time字段的日期)状态为“待机”的数据,计算当天每小

时新增的“待机”状态时长与当天“待机”状态总时长,将结果存入MySQL

数据库shtd_industry的accumu1ate_standby表中(表结构如下),然后

在Linux的MySQL的命令行根据starthour降序查询accumulate_standby

表前3条数据,将SQL语句复制粘贴至客户端桌面【Release'重命名为工位

号'模块B提交结果.docx]中对应的任务序号下,将执行结果截图粘贴至客

户端桌面【Release'重命名为工位号'模块B提交结果.docx]中对应的任务

序号下;

accumulate_standby表结构:

字段类型中文含义备注

start_datevarchar状态开始II期yyyy-MM-dd

start__hourvarchar状态开始时间存当前时间的小

时整数,如:1点

存1、

13点存13

hour_add_standbyint该小时新增“待

机”状态时长

day__agg_standbyint截止到这个小时,

当天“待机”状态

总时长

5、根据dwd层的fact_change_record表,计算2021年10月13日这天

(change_start_time字段的日期)状态为“运行”的数据,以3小时为一

个计算窗口,做滑动窗口计算,滑动步长为1小时,窗口不满3小时不触发

计算(即从凌晨3点开始触发计算,第一条数据的state_start_time为

2021-10-13_02,以有数据的3个小时为一个时间窗口),将计算结果存入

MySQL数据库shtd_industry的siide_window_rurmning表中,然后在Linux

的MySQL命令行中按照statestart_time字段所带的小时信息进行升序排

1

序查询slide_window_runnning表前3条数据,将核心业务代码中的开窗相

关代码与MySQL查询结果分别截图粘贴至客户端桌面【Release'重命名为工

位号'模块B提交结果.docx】中对应的任务序号下。

s1ide_window_runnning表结构:

字段类型中文含义备注

state_start_timevarchar运行状态开始时间

yyyy-MM-dd_HH

window-sumint3小时运行总时长单位:秒

window_avgint每小时平均运行时长基于所在窗口

1

模块C:数据挖掘(10分)

环境说明:

服务端登录地址详见各模块服务端说明。

补充说明:各主机可通过Asbru工具或SSH客户端进行SSH访问;

Master节点MySQL数据库用户名/密码:root/(已配置远程

连接);

Hive的配置文件位于/opt/apache-hive-2.3.4-bin/conf/

Spark任务在Yarn上用Client运行,方便观察日志。

该模块均使用Scala编写,利用Spark相关库完成。

注:该Spark版本无法进行本地调试,请打包上传集群调试。

任务一:特征工程

1、根据dwd库中fact_machine_data表(或MySQL的shtd_industry库中

MachineData表),根据以下要求转换:获取最大分区(MySQL不用考虑)

的数据后,首先解析列machine_record_data(MySQL中为

MachineRecordData)的数据(数据格式为xml,采用dom4j解析,解析demo

在客户端/home/ubuntu/Documents目录下),并获取每条数据的主轴转速,

主轴倍率,主轴负载,进给倍率,进给速度,PMC程序号,循环时间,运行

时间,有效轴数,总加工个数,已使用内存,未使用内存,可用程序量,注

册程序量等相关的值(若该条数据没有相关值,则按下表设置默认值),同

时转换machine_record_state字段的值,若值为报警,则填写1,否则填写

0,以下为表结构,将数据保存在dwd.fact_machine_learning_data,分区

字段为etldate,类型为String,且值为当前比赛日的前一天日期(分区字

段格式为yyyyMMdd)。使用hivecli按照machine_record_id升序排序,

1

查询dwd.fact_machine_learning_data前1条数据,将结果截图粘贴至客

户端桌面【Release'重命名为工位号'模块C提交结果.docx]中对应的任务

序号下。

dwd.fact_machine_learning_data表结构:

字段类型中文含义备注

machine_recordidint主键

machine_iddouble设备id

machine_record_statedouble设备状态默认0.0

machine_record_mainshaft_speeddouble主轴转速默认0.0

machine_record_mainshaft_multipleratedouble主轴倍率默认0.0

machine_record_mainshaft_loaddouble主轴负载默认0.0

machine_record_feed_speeddouble进给倍率默认0.0

machine_record_feed_multipleratedouble进给速度默认0.0

machine_record_pmc_codedoublePMC程序号默认0.0

machine_recordcircletimedouble循环时间默认0.0

machine_record_run_timedouble运行时间默认0.0

machine_record_effective_shaftdouble有效轴数默认0.0

machine_record_amount_processdouble总加工个默认0.0

machine_recorduse_memorydouble已使用内默认0.0

machine_record_free_memorydouble未使用内默认0.0

machine_record_amount_use_codedouble可用程序默认0.0

machine_recordamountfree_codedouble注册程序默认0.0

machine_record_datetimestamp记录日期

dwd_insert_userstring设置为

1

null

dwd_insert_timetimestamp设置为

当前操

作时间

dwd_modify_userstring设置为

null

dwd_modify_timetimestamp设置为

当前操

作时间

任务二:报警预测

1、根据任务一的结果,建立随机森林(随机森林相关参数可自定义,不做限制),

使用任务一的结果训练随机森林模型,然后再将Hive中

dwd.fact_machine_learning_data_test(该表字段含义与

dwd.fact_machine_learning_data表相同,machine_record_state列值为

空,表结构自行查看)转成向量,预测其是否报警将结果输出到MySQL数据

库shtd_industry中的ml_result表中(表结构如下)。在Linux的MySQL

命令行中查询出machine_record_id为1、8、20、28和36的5条数据,将

SQL语句复制并粘贴至客户端桌面【Release'重命名为工位号'模块C提交结

果.docx】中对应的任务序号下,将执行结果截图粘贴至客户端桌面

【Release'重命名为工位号'模块C提交结果.docx]中对应的任务序号下。

ml_result表结构:

字段类型中文含义备注

machine_record_idint主键

machine_record_statedouble设备状态报警为1,其他

状态则为0

1

模块D:数据采集与实时计算(20分)

环境说明:

服务端登录地址详见各模块服务端说明。

补充说明:各主机可通过Asbru工具或SSH客户端进行SSH访问;

请先检查ZooKeeper、Kafka、Redis端口是否已启动,若未启动则

各启动命令如下:

ZK启动(netstat-ntlp查看2181端口是否打开)

/usr/zk/zookeeper-3.4.6/bin/zkServer.shstart

Redis启动(netstat-ntlp查看6379端口是否打开)

/usr/redis/bin/redis-server/usr/redis/bin/redis.conf

Kafka启动(netstat-ntlp查看9092端口是否打开)

/opt/kafka/kafka_2.11-2.0.0/bin/kafka-server-start.sh-daemon(空格连接下一行)

/opt/kafka/kafka_2.11-2.0.0/config/perties

Flink任务在Yarn上用perjob模式(即Job分离模式,不采用

Session模式),方便Yarn回收资源。

任务一:实时数据采集

1、在Master节点使用Flume采集/data_log目录下实时日志文件中的数据(实

时日志文件生成方式为在/data_log目录下执行https://www.renrendoc.com/paper/make_data_file_vl命令

即可生成日志文件,如果没有权限,请执行授权命令chmod777

/data_log/make_data_file_vl),将数据存入到Kafka的Topic中(Topic

名称分别为ChangeRecord、ProduceRecord和EnvironmentData,分区数为

4),将Flume采集ChangeRecord主题的配置(有路径的配置项须使用绝对

路径)截图粘贴至客户端桌面【Release'重命名为工位号'模块D提交结

1

果.docx】中对应的任务序号下;

2、编写新的Flume配置文件,将数据备份到HDFS目录/user/test/flumebackup

下,要求所有主题的数据使用同一个Flume配置文件完成采集,将Flume的

配置(有路径的配置项须使用绝对路径)截图粘贴至客户端桌面【Release'

重命名为工位号'模块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主题,生产一个产品产生一条数据;

change_handle_state字段为1代表已经检验,0代表未检验;

时间语义使用ProcessingTime。

2、使用Flink消费Kafka中ChangeRecord主题的数据,当某设备30秒状态连

续为“预警”,输出预警信息。当前预警信息输出后,最近30秒不再重复

预警(即如果连续1分钟状态都为“预警”只输出两次预警信息),将结果

存入Redis中,使用Hash数据结构,Key为"warning30sMachine”,对应

值的(Key,Value)为(设备id,预警信息)。使用rediscli以HGETALL

key方式获取warning30sMachine值,将结果截图粘贴至客户端桌面

【Release、重命名为工位号'模块D提交结果.docx】中对应的任务序号下,

需两次截图,第一次截图和第二次截图间隔1分钟以上,第一次截图放前面,

第二次截图放后面,同时描述本题使用的核心编程思想,将内容编写至客户

1

端桌面【Release'重命名为工位号'模块D提交结果.docx】中对应的任务序

号下;

注:时间使用change_start_time字段,忽略数据中的change_end_time(不参

与任何计算),忽略数据迟到问题。

(设备id,预警信息)示例:115,2022-01-0109:53:10:设备115连续30

秒为预警状态请尽快处理!

(2022-01-0109:53:10为change_start_time字段值,中文内容及格式必须为

示例所示内容。)

3、使用Flink消费Kafka中ChangeRecord主题的数据,统计每3分钟各设备

状态为“预警”且未处理的数据总条数,将结果存入MySQL数据库

shtd_industry的threemin_warning_state_agg表中(追加写入,表结构如

下)。请将任务启动命令复制粘贴至客户端桌面【Release'重命名为工位号

'模块D提交结果.docx】中对应的任务序号下,启动且数据进入后按照设备

id升序排序查询threemin_warning_state_agg表进行截图,第一次截图后

等待3分钟再次查询并截图,将两次截图分别粘贴至客户端桌面【Release'

重命名为工位号'模块D提交结果.docx】中对应的任务序号下。

threeminwarningstateagg表结构:

字段类型中文含义

change_machine_idint设备id

totalwarningint未被处理预警的数据总

条数

window_end_timevarchar窗口结束时间

(yyyy-MM-ddHH:mm:ss)

注:时间语义使用ProcessingTime。

1

模块E:数据可视化(15分)

环境说明:

数据接口地址及接口描述详见各模块服务端说明。

注:所有数据排序按照接口返回数据顺序处理即可,不用特意排序。

任务一:用柱状图展示设备历史各个状态持续时长

编写Vue工程代码,根据接口,用柱状图展示接口所有数据中各设备各个状态持

续时长(秒),同时将用于图表展示的数据结构在浏览器的console中进行打印

输出,将图表可视化结果和浏览器console打印结果分别截图并粘贴至客户端桌

面【Release'重命名为工位号'模块E提交结果.docx】中对应的任务序号下。

任务二:用柱状图展示每日所有车间各设备平均运行时长

编写Vue工程代码,根据接口,用柱状图展示每日各设备(不区分车间)平均运

行时长(秒,四舍五人保留两位小数),同时将用于图表展示的数据结构在浏览

器的console中进行打印输出,将图表可视化结果和浏览器console打印结果分

别截图并粘贴至客户端桌面【Release'重命名为工位号'模块E提交结果.docx】

中对应的任务序号下。

任务三:用折线图展示某设备每日运行时长

编写Vue工程代码,根据接口,用折线图展示设备0P160每日的运行时长(秒),

同时将用于图表展示的数据结构在浏览器的console中进行打印输出,将图表可

视化结果和浏览器console打印结果分别截图并粘贴至客户端桌面【Release'

重命名为工位号'模块E提交结果,docx】中对应的任务序号下。

1

任务四:用条形图展示每日各设备产量

编写Vue工程代码,根据接口,用条形图展示每日各设备产量,同时将用于图表

展示的数据结构在浏览器的console中进行打印输出,将图表可视化结果和浏览

器console打印结果分别截图并粘贴至客户端桌面【Release'重命名为工位号'

模块E提交结果.docx】中对应的任务序号下。

任务五:用折柱混合图展示设备日均产量和所在车间日均产量

编写Vue工程代码,根据接口,用折柱混合图展示各设备的日均产量(四舍五入

保留两位小数)和所在车间的日均产量(四舍五入保留两位小数),其中柱状图

展示各设备的日均产量,折线图展示该设备所在车间的日均产量,同时将用于图

表展示的数据结构在浏览器的console中进行打印输出,将图表可视化结果和浏

览器console打印结果分别截图并粘贴至客户端桌面【Release'重命名为工位号

'模块E提交结果.docx】中对应的任务序号下。

2

模块F:综合分析(10分)

任务一:Flink有哪些重启策略?各个重启策略如何配置?

在模块D中使用到了Flink,Flink在运行job时可能会出现各种问题,从而会

导致其失败或者重启,对于类似于网络波动造成的运行失败可以采取相对应重启

策略来重试,请问Flink有几种重启策略(中文)?分别怎么配置这些重启策略?

将内容编写至客户端桌面【Release'重命名为工位号'模块F提交结果.docx】中

对应的任务序号下。

任务二:Spark的数据本地性有哪几种,分别表示什么?

在模块B与模块C中使用到了Spark,其中有些job运行较慢,有些较快,一部

分原因与数据位置和计算位置相关,其数据本地性可以在SparkUI中查看到。请

问Spark的数据本地性有哪几种(英文)?分别表示的含义是什么(中文)?将

内容编写至客户端桌面【Release'重命名为工位号'模块F提交结果.docx】中对

应的任务序号下。

任务三:数据仓库中怎么处理缓慢变化维,有哪几种方式?

在模块B的数据仓库的设计过程中,会出现缓慢变化维的问题,缓慢变化维是指

一些维度表的数据不是静态的,而是会随着时间而缓慢地变化,在数仓设计中有

哪些方式应对这些问题?将内容编写至客户端桌面【Release'重命名为工位号'

模块F提交结果.docx】中对应的任务序号下。

2

附录:补充说明

命令行截图样例(保证清晰)

21/06/1714:24:59INFOShuffleBlockFetcherlterator:Getting1non-emptyblocksoutof4blocks

21/06/1714:24:59INFOShuffleBlockFetcherlterator:Started0remotefetchesin0ms

21/06/1714:24:59INFOShuffleBlockFetcherlterator:Getting2non-emptyblocksoutof4blocks

21/06/1714:24:59INFOShuffleBlockFetcherlterator:Started0remotefetchesin0ms

21/06/1714:24:59INFOExecutor:Finishedtask2.0instage64.0(TID223).2399bytesresultsenttodriver

21/06/1714:24:59INFOExecutor:Runningtask5.0instage64.0(TID220)

21/06/1714:24:59INFOExecutor:Finishedtask4.0instage64.0(TID225).2439bytesresultsenttodriver

21/06/1714:24:59INFOTaskSetManager:Finishedtask2.0instage64.0(TID223)in12msonlocalhost(2/6)

21/06/1714:24:59INFOTaskSetManager:Finishedtask4.0instage64.0(TID225)in6msonlocalhost(3/6)

21/06/1714:24:59INFOExecutor:Runningtask3.0instage64.0(TID224)

21/06/1714:24:59INFOShuffleBlockFetcherlterator:Getting0non-emptyblocksoutof4blocks

21/06/1714:24:59INFOShuffleBlockFetcherlterator:Started0remotefetchesin0ms

21/06/1714:24:59INFOExecutor:Finishedtask5.0instage64.0(TID220).2280bytesresultsenttodriver

21/06/1714:24:59INFOShuffleBlockFetcherlterator:Getting2non-emptyblocksoutof4blocks

21/06/1714:24:59INFOShuffleBlockFetcherlterator:Started0remotefetchesin0ms

21/06/1714:24:59INFOTaskSetManager:Finishedtask1.0instage64.0(TID222)in17msonlocalhost(4/6)

21/06/1714:24:59INFOExecutor:Finishedtask3.0instage64.0(TID224).2439bytesresultsenttodriver

21/06/1714:24:59INFOTaskSetManager:Finishedtask5.0instage64.0(TID220)in19msonlocalhost(5/6)

21/06/1714:24:59INFOTaskSetManager:Finishedtask3.0instage64.0(TID224)in13msonlocalhost(6/6)

21/06/1714:24:59INFOTaskSchedulerlmpl:RemovedTaskSet64.0,whosetaskshaveallcompleted,frompool

21/06/1714:24:59INFODAGSchedul

到此这篇查看yarn状态的命令(查看yarn log)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • resnet18网络结构代码(resnet网络结构详解)2025-04-26 08:27:05
  • Rknn3588开机自动启动qt(Rknn3588开机自动启动qt)2025-04-26 08:27:05
  • hrnet group招聘(hr head 招聘)2025-04-26 08:27:05
  • treeagepro破解版(treeagepro2019破解版)2025-04-26 08:27:05
  • mha-al00是华为手机的什么型号(art-al00m华为什么型号手机)2025-04-26 08:27:05
  • nowcoder什么意思(nowar什么意思)2025-04-26 08:27:05
  • 485报文分析软件(rs485报文)2025-04-26 08:27:05
  • rasie和rise的区别(rise和raise的差别)2025-04-26 08:27:05
  • you raseme up什么意思(you raise me up的中文是什么)2025-04-26 08:27:05
  • romp怎么读(rom怎么读音发音)2025-04-26 08:27:05
  • 全屏图片