CN113934609A - 大数据平台运维方法、装置、计算设备和存储介质 - Google Patents
大数据平台运维方法、装置、计算设备和存储介质 Download PDFInfo
- Publication number
- CN113934609A CN113934609A CN202010670318.6A CN202010670318A CN113934609A CN 113934609 A CN113934609 A CN 113934609A CN 202010670318 A CN202010670318 A CN 202010670318A CN 113934609 A CN113934609 A CN 113934609A
- Authority
- CN
- China
- Prior art keywords
- sql
- hive
- execution information
- sql script
- script
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
Abstract
本发明公开了一种大数据平台运维方法、装置、计算设备和存储介质,该方法包括:采集Hive日志和Yarn日志;解析Hive日志,得到Hive执行信息,并将Hive执行信息写入至监控表中;解析Yarn日志,得到任务执行信息,并将任务执行信息写入至监控表中;对Hive执行信息进行分析统计,得到SQL分析统计结果;将监控表和SQL分析统计结果输出至前端页面进行展示;本发明通过大数据平台进行运行数据采集和分析统计,从而输出到前端进行展示,辅助运维人员进行SQL检测和优化建议,实现了大数据平台的高效智能运维,解决了现有的运维监控软件和运维监控方法将无法支撑日常的优化的技术问题。
Description
技术领域
本发明涉及大数据分析技术领域,具体涉及一种大数据平台运维方法、装置、计算设备和存储介质。
背景技术
Hadoop生态圈(或者泛生态圈)是为了处理超过单机尺度的数据处理而诞生的,随着结构化查询语言(Structured Query Language,SQL)on Hadoop的技术普及,针对SQL的运行监控、优化成为目前大数据平台运维监控的重要工作,是保障平台健康运行的基础工作。
现有技术中采用CM(Cloudera Manager)商业的大数据平台运维软件对SQL的运行进行监控,但是CM工具仅能完成组件的部署,进程启停等基本操作,无法实现对应用程序访问的深度优化以及监控应用程序资源消耗量,同时,由于SQL执行次数只能从底层日志手工进行分析,从而获得某些系统的执行信息,找到程序的问题之后通知开发人员对应用程序进行优化或者改造,以此逐渐提升现有的系统执行性能。现有的针对SQL性能问题的分析方法一般是发现SQL运行缓慢之后,专业维护人员登录系统分析日志,根据专业经验分析运行缓慢的原因,进而通知业务开发人员优化,业务开发人员优化之后再投入运行并观察是否得到优化。
然而,当每天运行的SQL过万,支撑的账号达到数百之后,现有的运维监控软件和运维监控方法将无法支撑日常的优化,系统性能可能由于部分低效SQL而导致缓慢。由于本身Hadoop软件体系中各个组件分离设计的思想,对运维监控的支撑存在很大的薄弱之处。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的大数据平台运维方法、装置、计算设备和存储介质。
根据本发明的一个方面,提供了一种大数据平台运维方法,包括:
采集Hive日志和Yarn日志;
解析Hive日志,得到Hive执行信息,并将所述Hive执行信息写入至监控表中;
解析Yarn日志,得到任务执行信息,并将所述任务执行信息写入至所述监控表中;
对所述Hive执行信息进行分析统计,得到SQL分析统计结果;
将所述监控表和所述SQL分析统计结果输出至前端页面进行展示。
根据本发明的另一方面,提供了一种大数据平台运维装置,包括:
日志采集模块,用于采集Hive日志和Yarn日志;
Hive日志解析模块,用于解析Hive日志,得到Hive执行信息,并将所述Hive执行信息写入至监控表中;
Yarn日志解析模块,用于解析Yarn日志,得到任务执行信息,并将所述任务执行信息写入至所述监控表中;
分析模块,用于对所述Hive执行信息进行分析统计,得到SQL分析统计结果;
输出模块,用于将所述监控表和所述SQL分析统计结果输出至前端页面进行展示。
根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述大数据平台运维方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述大数据平台运维方法对应的操作。
根据本发明的大数据平台运维方法、装置、计算设备和存储介质,通过采集Hive日志和Yarn日志;解析Hive日志,得到Hive执行信息,并将Hive执行信息写入至监控表中;解析Yarn日志,得到任务执行信息,并将任务执行信息写入至监控表中;对Hive执行信息进行分析统计,得到SQL分析统计结果;将监控表和SQL分析统计结果输出至前端页面进行展示;本发明通过大数据平台进行运行数据采集和分析统计,从而输出到前端进行展示,辅助运维人员进行SQL检测和优化建议,实现了大数据平台的高效智能运维,解决了现有的运维监控软件和运维监控方法将无法支撑日常的优化,系统性能可能由于部分低效SQL而导致缓慢的技术问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明提供的Hadoop平台程序运行体系架构示意图;
图2示出了本发明实施例提供的一种大数据平台运维方法的流程图;
图3示出了本发明实施例提供的一种大数据平台运维装置的结构示意图;
图4示出了本发明实施例提供的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
在本发明中,图1是Hadoop平台程序运行体系架构示意图,如图1所示,Hadoop是一个分布式的软件处理框架,Hive是一个具有查询功能的数据仓库,而Hadoop底层的Hadoop分布式文件系统(HDFS)为Hive提供了数据存储,通过编写SQL指令即可访问Hadoop存储的海量数据,通过Hive的SQL查询指令,开发者可以在一定程度上绕过MapReduce。Hive可以用SQL脚本转化成MapReduce任务对HDFS数据的查询分析,Hadoop平台的执行引入包括Hive、Beeline、Pig、MapReduce,Yarn是分布式集群资源管理框架,其中,Beeline和Pig是Hadoop数据操作的客户端,是一个数据分析引擎,采用了一定的语法操作HDFS中的数据;而Yarn与上述执行引入Hive、Beeline、Pig、MapReduce分属不同层级,其中,Hive日志在上层,Yarn日志在Hive日志的下层,由于Hive日志是只读性质,因此一般通过Hive层去调用Yarn层的服务。其中,MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算,概念为"Map(映射)"和"Reduce(归约)",通过指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。Map表示对一个列表(List)中的每个元素做计算,Reduce表示对一个列表中的每个元素做迭代计算。它们具体的计算是通过传入的函数来实现的,Map和Reduce提供的是计算的框架。Hive层将用户提交的SQL解析成MapReduce任务供Hadoop直接运行,进行数据决策。
随着SQL on Hadoop的技术普及,单独开发MapReduce的应用逐渐减少或几乎不采用,因此针对SQL的运行监控、优化成为目前大数据平台运维监控的重要工作,是保障平台健康运行的基础工作。
图2示出了本发明一种大数据平台运维方法实施例的流程图,如图2所示,该方法包括以下步骤:
S210:采集Hive日志和Yarn日志。
由于Hive的日志是不断追加的文件,实际生产系统Hive接入一般都有多个服务器(HiveServer)部署,需要在每个HiveServer上部署Hive日志采集的代理(Agent),可以通过日志采集系统Flume集群采集Hive日志。具体地,Flume集群的Agent配置Hive日志的采集路径,从而实时获取Hive日志,将Hive日志采集到Kafka集群。
类似地,通过Flume集群的Agent配置Yarn日志的采集路径,进而采集Yarn日志,将Yarn日志采集到Kafka集群,在本步骤中,Hive日志和Yarn日志的采集线程是独立执行的,因此可以通过多个独立线程并行采集Hive日志和Yarn日志,从而提高Hive日志和Yarn日志的采集速率,实现大数据平台高效运维。
S220:解析Hive日志,得到Hive执行信息,并将Hive执行信息写入至监控表中。
其中,Hive执行信息包括:SQL指令、查询标识、SQL脚本和执行启动时间。
解析步骤S210采集到的Hive日志得到Hive执行信息,包括:SQL指令、查询标识(Query_ID)、SQL脚本(SQL_Text)和执行启动时间;其中,SQL_TEXT就是具体的执行SQL指令的脚本程序,一般包含选定(select)、插入(insert)等SQL语句。SQL指令包括SQL_Text以及系统连接相关设置,有些情况下SQL指令与SQL_Text也可以等同,Query_ID是Hive层每次发起SQL指令的唯一查询标识,执行启动时间是SQL指令的提交时间。
进一步地,将上述Hive执行信息写入至监控表中,具体地,该监控表可为MYSQL的大数据性能监控数据库的表(Hive_Monitor_Tab),如果日志是已经执行完毕的,则修改状态信息。
S230:解析Yarn日志,得到任务执行信息,并将任务执行信息写入至监控表中。
在一种可选的方式中,任务执行信息包括:任务执行账号、任务执行状态、任务读取数据量、Map任务数量和Reduce任务数量。
具体地说,依据解析Hive日志得到的Query_ID,获取每个Query_ID对应的任务标识(Job_ID),进而从Yarn日志中获取到MapReduce执行日志,从MapReduce执行日志中找到与监控表中已写入的数据相对应的数据,从而更新监控表(也就是Hive_Monitor_Tab)中每个正在执行SQL当前的任务执行状态、任务读取数据量、Map任务数量和Reduce任务数量等数据。
其中,任务执行状态包括提交执行、执行中和/或执行完成等;任务读取数据量指的是Map读取HDFS文件的数量;Map任务数量指的是启动的Map任务数量;Reduce任务数量指的是启动的Reduce任务数量。
S240:对Hive执行信息进行分析统计,得到SQL分析统计结果。
在一种可选的方式中,步骤S240进一步包括:分析Hive执行信息中的SQL脚本,得到SQL语句相同而参数不同的目标SQL脚本;对目标SQL脚本的执行信息进行统计,得到SQL分析统计结果。
由于大数据分析的开发工具或者SQL脚本(SQL_Text)一般都重复性的执行部分SQL程序,因此分析SQL的执行频繁度是一个性能优化的重要手段,而大数据的开发中部分SQL开发由于SQL_Text带入参数不一样,日志收集的SQL_Text也不一样,需要对SQL_Text进行标准化的转换工作。
因此,在本发明的一种可选实施例中,分析Hive执行信息中的SQL脚本,得到SQL语句相同而参数不同的目标SQL脚本进一步包括:将SQL脚本转换成预设标准格式,分析格式转换后的SQL脚本,得到SQL语句相同而参数不同的待处理SQL脚本,并将待处理SQL脚本写入至SQL脚本统计表中;获取预先构建的包含有多个标准SQL脚本的标准SQL脚本数据表;针对SQL脚本统计表中的每个待处理SQL脚本,将待处理SQL脚本与标准SQL脚本数据表中的标准SQL脚本进行匹配,根据匹配结果确定目标SQL脚本。
具体地说,通过对每天执行SQL脚本进行归类,寻找出参数数据,建立SQL脚本统计表,针对Hive执行信息中SQL语句相同而参数不同的待处理SQL脚本,将待处理SQL脚本与标准SQL脚本数据表中的标准SQL脚本进行匹配,从而确定目标SQL脚本。
具体地,针对SQL语句相同而参数不同的两个待处理SQL脚本,例如:
待处理SQL脚本1:select count(*)from tab_a where day_id=’2020-03-15’;
待处理SQL脚本2:select count(*)from tab_a where day_id=’2020-03-16’。
可见,两条SQL脚本中的SQL语句的主题内容是一样的,但是带入的参数(即day_id)不一样,可以将该SQL脚本转换成预设标准格式,转换后的标准的SQL脚本可为:selectcount(*)from tab_a where day_id=’$1’。
以参数为日期参数为例,由于常用的SQL语句的字符串都比较短,可以采用轮询的方式从字符串中找出符合日期格式的子字符串,识别Hive执行信息中SQL脚本的日期字段,将该日期字段进行统一格式替换,得到待处理SQL脚本,并写入至SQL脚本统计表中,而后再将待处理SQL脚本与标准SQL脚本进行匹配。
进一步地,预先构建包含有多个标准SQL脚本的标准SQL脚本数据表。在一种可选的方式中,针对SQL脚本统计表中的每个待处理SQL脚本,将待处理SQL脚本与标准SQL脚本数据表中的标准SQL脚本进行匹配,根据匹配结果确定目标SQL脚本进一步包括:判断在标准SQL脚本数据表中是否能够查询到待处理SQL脚本;若是,则将待处理SQL脚本确定为目标SQL脚本;若否,则利用余弦相似度算法,计算待处理SQL脚本与标准SQL脚本数据表中的每个标准SQL脚本之间的欧式距离,将欧式距离小于预设距离阈值的待处理SQL脚本确定为目标SQL脚本。
具体地,针对每个待处理SQL脚本,判断在标准SQL脚本数据表中是否能够查询到待处理SQL脚本;若是,则将待处理SQL脚本确定为目标SQL脚本;若否,则计算待处理SQL脚本与标准SQL脚本数据表中的每个标准SQL脚本之间的欧式距离,比对待处理SQL脚本与每个标准SQL脚本的相似度,若距离小于预设距离阈值(例如预设距离阈值可设置为1),则可认为待处理SQL脚本与该标准SQL脚本非常相似,那么可确定该待处理SQL脚本确定为目标SQL脚本,并根据该目标SQL脚本更新标准SQL脚本数据表,作为统计常用的目标SQL脚本的基础数据。
待处理SQL脚本与标准SQL脚本数据表中的每个标准SQL脚本之间的欧式距离计算过程可包括如下步骤1-步骤3:
步骤1:对待处理SQL脚本进行分词处理,把完整的句子根据分词算法分为独立的字符集合,统计字符集合中每个字符出现的频率,并根据每个字符出现的频率生成该待处理SQL脚本的词频向量x(x1,x2,…,xn),其中,x表示待处理SQL脚本的词频向量,x1,x2,…,xn分别表示字符集合中的不同字符的频率。
步骤2:对于标准SQL脚本数据表中收集到的每个标准SQL脚本,对其进行分词处理,并统计每个字符的频率,得到该标准SQL脚本的词频向量y(y1,y2,…,yn),其中,y表示标准SQL脚本的词频向量,y1,y2,…,yn分别表示字符集合中的不同字符的频率。
步骤3:计算待处理SQL脚本与标准SQL脚本的欧式距离,公式如下:
S250:将监控表和SQL分析统计结果输出至前端页面进行展示。
具体地说,管理人员等人员可以按照账号的方式一览用户当前执行的所有SQL的状态、执行的进度等,对当前正在执行的SQL下钻查询,查询该SQL的任务标识、任务执行状态、任务读取数据量、Map任务数量和Reduce任务数量等,可以根据SQL查看已经完成任务的执行时长以及其他执行的关键数据,从而轻松发现SQL存在的问题,及时通知优化人员进行优化处理。在一种可选的方式中,该方法还包括:根据SQL分析统计结果,生成SQL优化方案,以便优化人员参考SQL优化方案制定最终的SQL优化策略,以对SQL进行优化。
进一步地,通过步骤S240分析得到同一SQL执行的次数,每次执行代码使用的资源数等,从而分析该SQL的执行频繁度,依据该SQL的执行频繁度和任务执行信息,对于执行频繁度超过预设阈值的,或执行时启动的任务数量过大(例如启动的Map任务数量和/或启动的Reduce任务数量超出预设阈值)的SQL进行重点监控和优化,从而提升系统的总体性能。
采用本实施例提供的方法,通过采集Hive日志和Yarn日志;解析Hive日志,得到Hive执行信息,并将Hive执行信息写入至监控表中;解析Yarn日志,得到任务执行信息,并将任务执行信息写入至监控表中;对Hive执行信息进行分析统计,得到SQL分析统计结果;将监控表和SQL分析统计结果输出至前端页面进行展示;该方法通过大数据平台进行运行数据采集和分析统计,从而输出到前端进行展示,辅助运维人员进行SQL检测和优化建议,实现了大数据平台的高效智能运维,从而提升了程序运行效率和Hadoop大数据平台的运行效率,解决了现有的运维监控软件和运维监控方法将无法支撑日常的优化,系统性能可能由于部分低效SQL而导致缓慢的技术问题。
图3示出了本发明一种大数据平台运维装置实施例的结构示意图。如图3所示,该装置包括:日志采集模块310、Hive日志解析模块320、Yarn日志解析模块330、分析模块340、输出模块350和优化模块360。
日志采集模块310,用于采集Hive日志和Yarn日志。
Hive日志解析模块320,用于解析Hive日志,得到Hive执行信息,并将Hive执行信息写入至监控表中。
其中,Hive执行信息包括:SQL指令、查询标识、SQL脚本和执行启动时间。
Yarn日志解析模块330,用于解析Yarn日志,得到任务执行信息,并将任务执行信息写入至监控表中。
在一种可选的方式中,任务执行信息包括:任务执行账号、任务执行状态、任务读取数据量、Map任务数量和Reduce任务数量。
分析模块340,用于对Hive执行信息进行分析统计,得到SQL分析统计结果。
在一种可选的方式中,分析模块340进一步用于,分析Hive执行信息中的SQL脚本,得到SQL语句相同而参数不同的目标SQL脚本;对目标SQL脚本的执行信息进行统计,得到SQL分析统计结果。
在一种可选的方式中,分析模块340进一步用于,将SQL脚本转换成预设标准格式,分析格式转换后的SQL脚本,得到SQL语句相同而参数不同的待处理SQL脚本,并将待处理SQL脚本写入至SQL脚本统计表中;获取预先构建的包含有多个标准SQL脚本的标准SQL脚本数据表;针对SQL脚本统计表中的每个待处理SQL脚本,将待处理SQL脚本与标准SQL脚本数据表中的标准SQL脚本进行匹配,根据匹配结果确定目标SQL脚本。
在一种可选的方式中,分析模块340进一步用于,判断在标准SQL脚本数据表中是否能够查询到待处理SQL脚本;若是,则将待处理SQL脚本确定为目标SQL脚本;若否,则利用余弦相似度算法,计算待处理SQL脚本与标准SQL脚本数据表中的每个标准SQL脚本之间的欧式距离,将欧式距离小于预设距离阈值的待处理SQL脚本确定为目标SQL脚本。
输出模块350,用于将监控表和SQL分析统计结果输出至前端页面进行展示。
在一种可选的方式中,该装置还包括:优化模块360,用于根据SQL分析统计结果,生成SQL优化方案。
采用本实施例提供的装置,通过采集Hive日志和Yarn日志;解析Hive日志,得到Hive执行信息,并将Hive执行信息写入至监控表中;解析Yarn日志,得到任务执行信息,并将任务执行信息写入至监控表中;对Hive执行信息进行分析统计,得到SQL分析统计结果;将监控表和SQL分析统计结果输出至前端页面进行展示;该装置通过大数据平台进行运行数据采集和分析统计,从而输出到前端进行展示,辅助运维人员进行SQL检测和优化建议,实现了大数据平台的高效智能运维,从而提升了程序运行效率和Hadoop大数据平台的运行效率,解决了现有的运维监控软件和运维监控方法将无法支撑日常的优化,系统性能可能由于部分低效SQL而导致缓慢的技术问题。
本发明实施例提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的大数据平台运维方法。
可执行指令具体可以用于使得处理器执行以下操作:
采集Hive日志和Yarn日志;
解析Hive日志,得到Hive执行信息,并将Hive执行信息写入至监控表中;
解析Yarn日志,得到任务执行信息,并将任务执行信息写入至监控表中;
对Hive执行信息进行分析统计,得到SQL分析统计结果;
将监控表和SQL分析统计结果输出至前端页面进行展示。
图4示出了本发明计算设备实施例的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图4所示,该计算设备可以包括:
处理器(processor)、通信接口(Communications Interface)、存储器(memory)、以及通信总线。
其中:处理器、通信接口、以及存储器通过通信总线完成相互间的通信。通信接口,用于与其它设备比如客户端或其它服务器等的网元通信。处理器,用于执行程序,具体可以执行上述大数据平台运维方法实施例中的相关步骤。
具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。
处理器可能是中央处理器CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。服务器包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器,用于存放程序。存储器可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序具体可以用于使得处理器执行以下操作:
采集Hive日志和Yarn日志;
解析Hive日志,得到Hive执行信息,并将Hive执行信息写入至监控表中;
解析Yarn日志,得到任务执行信息,并将任务执行信息写入至监控表中;
对Hive执行信息进行分析统计,得到SQL分析统计结果;
将监控表和SQL分析统计结果输出至前端页面进行展示。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (10)
1.一种大数据平台运维方法,其特征在于,包括:
采集Hive日志和Yarn日志;
解析Hive日志,得到Hive执行信息,并将所述Hive执行信息写入至监控表中;
解析Yarn日志,得到任务执行信息,并将所述任务执行信息写入至所述监控表中;
对所述Hive执行信息进行分析统计,得到SQL分析统计结果;
将所述监控表和所述SQL分析统计结果输出至前端页面进行展示。
2.根据权利要求1所述的方法,其特征在于,所述Hive执行信息包括:SQL指令、查询标识、SQL脚本和执行启动时间。
3.根据权利要求2所述的方法,其特征在于,所述对所述Hive执行信息进行分析统计,得到SQL分析统计结果进一步包括:
分析所述Hive执行信息中的SQL脚本,得到SQL语句相同而参数不同的目标SQL脚本;
对所述目标SQL脚本的执行信息进行统计,得到SQL分析统计结果。
4.根据权利要求3所述的方法,其特征在于,所述分析所述Hive执行信息中的SQL脚本,得到SQL语句相同而参数不同的目标SQL脚本进一步包括:
将所述SQL脚本转换成预设标准格式,分析格式转换后的SQL脚本,得到SQL语句相同而参数不同的待处理SQL脚本,并将所述待处理SQL脚本写入至SQL脚本统计表中;
获取预先构建的包含有多个标准SQL脚本的标准SQL脚本数据表;
针对所述SQL脚本统计表中的每个待处理SQL脚本,将所述待处理SQL脚本与所述标准SQL脚本数据表中的标准SQL脚本进行匹配,根据匹配结果确定目标SQL脚本。
5.根据权利要求4所述的方法,其特征在于,所述针对所述SQL脚本统计表中的每个待处理SQL脚本,将所述待处理SQL脚本与所述标准SQL脚本数据表中的标准SQL脚本进行匹配,根据匹配结果确定目标SQL脚本进一步包括:
判断在所述标准SQL脚本数据表中是否能够查询到所述待处理SQL脚本;
若是,则将所述待处理SQL脚本确定为目标SQL脚本;
若否,则利用余弦相似度算法,计算所述待处理SQL脚本与所述标准SQL脚本数据表中的每个标准SQL脚本之间的欧式距离,将所述欧式距离小于预设距离阈值的待处理SQL脚本确定为目标SQL脚本。
6.根据权利要求1-5任一项所述的方法,其特征在于,在所述对所述Hive执行信息进行分析统计,得到SQL分析统计结果之后,所述方法还包括:
根据所述SQL分析统计结果,生成SQL优化方案。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述任务执行信息包括:任务执行账号、任务执行状态、任务读取数据量、Map任务数量和Reduce任务数量。
8.一种大数据平台运维装置,其特征在于,包括:
日志采集模块,用于采集Hive日志和Yarn日志;
Hive日志解析模块,用于解析Hive日志,得到Hive执行信息,并将所述Hive执行信息写入至监控表中;
Yarn日志解析模块,用于解析Yarn日志,得到任务执行信息,并将所述任务执行信息写入至所述监控表中;
分析模块,用于对所述Hive执行信息进行分析统计,得到SQL分析统计结果;
输出模块,用于将所述监控表和所述SQL分析统计结果输出至前端页面进行展示。
9.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的大数据平台运维方法对应的操作。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的一种大数据平台运维方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010670318.6A CN113934609A (zh) | 2020-07-13 | 2020-07-13 | 大数据平台运维方法、装置、计算设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010670318.6A CN113934609A (zh) | 2020-07-13 | 2020-07-13 | 大数据平台运维方法、装置、计算设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113934609A true CN113934609A (zh) | 2022-01-14 |
Family
ID=79273699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010670318.6A Pending CN113934609A (zh) | 2020-07-13 | 2020-07-13 | 大数据平台运维方法、装置、计算设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113934609A (zh) |
-
2020
- 2020-07-13 CN CN202010670318.6A patent/CN113934609A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110020422B (zh) | 特征词的确定方法、装置和服务器 | |
CN108182215B (zh) | 一种结构化查询语言sql性能统计的方法及装置 | |
CN108984155B (zh) | 数据处理流程设定方法和装置 | |
EP3159798B1 (en) | Method and system for determining user interface usage | |
CN110929145B (zh) | 舆情分析方法、装置、计算机装置及存储介质 | |
CN113051362A (zh) | 数据的查询方法、装置和服务器 | |
US11836331B2 (en) | Mathematical models of graphical user interfaces | |
CN111460806A (zh) | 基于损失函数的意图识别方法、装置、设备及存储介质 | |
CN103077192A (zh) | 一种数据处理方法及其系统 | |
JP6191440B2 (ja) | スクリプト管理プログラム、スクリプト管理装置及びスクリプト管理方法 | |
CN111221698A (zh) | 任务数据采集方法与装置 | |
CN112632333A (zh) | 查询语句生成方法、装置、设备及计算机可读存储介质 | |
CN107368464B (zh) | 一种获取招标产品信息的方法及装置 | |
CN113934609A (zh) | 大数据平台运维方法、装置、计算设备和存储介质 | |
CN111368864A (zh) | 识别方法、可用性评估方法及装置、电子设备、存储介质 | |
CN114201376A (zh) | 基于人工智能的日志解析方法、装置、终端设备及介质 | |
CN111460137B (zh) | 一种基于主题模型的微服务关注点识别方法、设备及介质 | |
CN113407782A (zh) | 一种基于MapReduce的分布式XSLT处理方法及处理系统 | |
CN113467783A (zh) | 一种人工智能加速器的核函数编译方法和装置 | |
CN115481240A (zh) | 一种数据资产质量检测方法和检测装置 | |
CN111580856A (zh) | 针对mips架构的物联网设备组件版本信息提取方法 | |
CN112182058B (zh) | 结合rpa和ai的内容获取方法、装置、计算机设备及介质 | |
CN108052654A (zh) | 数据提取方法、装置、设备及存储介质 | |
CN113535594B (zh) | 业务场景测试用例的生成方法、装置、设备和存储介质 | |
WO2021056740A1 (zh) | 语言模型构建方法、系统、计算机设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |