基于Hadoop大数据分析在电力信息系统的应用

时间:2022-10-04 01:43:46

基于Hadoop大数据分析在电力信息系统的应用

【摘要】随着电力信息化的不断发展以及信息化可靠性要求的不断提升,系统运行维护压力越来越大,加之信息化数据分析对电力系统发展的指导意义越发重要,对信息数据的分析亟待提高。针对电力SG-186系统运维现状,提出一套基于Hadoop架构的大数据分析解决方案,旨在实现对系统运行日志进行多元化分析,一方面发现后台潜在系统运行风险,一方面给企业提供各类实时可视的数据,给企业发展提供强有力的数据支撑。

【关键词】SG-186;Hadoop;大数据分析

引言

在电网智能化、信息化飞速发展的今天,以SG-186为核心的数百个各类系统已经渗入电力生产、经营、管理等各个角落。系统运行的可靠性直接影响电力可靠性及公司的社会形象,系统的各类数据也都直接反映了公司经营业绩及发展现状。信息系统后台日志数据规模急速增大,传统的单机式数据库模式在各类系统复杂的数据分析诊断中已经越显乏力,本文运用Hadoop平台及相关技术,提供了一款基于Hadoop的大数据分析解决方案。通过在服务器上的运作,可以对大规模日志进行分析,并自动生成图表进行展示,从而可以非常直观的观察各项用户数据。

1.技术背景

Hadoop是一个高效的、非常可靠的并且可扩展性很强的的分布式软件开发框架,它的优势在于能在相对较短的时间内接受并且完成大量的数据处理任务。运用Hadoop框架进行开发,开发者可以通过自己开发编写的Map/Reduce来进行大数据分析处理。通过更改相应的配置文件,数个甚至更多的副本数据可以通过Hadoop保存下来,这样的设计可以使得Hadoop更加的可靠。因为即使某一个集群中的Hadoop节点出错,其也可以通过HDFS,即数据块副本来完成数据处理任务。因为Hadoop框架可以在非常宽泛的范围内进行扩展,所以其可以处理海量的数据,其数据规模普遍可以达到TB的数量级,在某些情况下还可以突破PB的数量级。Hadoop进行数据处理的时候,其运行速度是非常迅速的,并且在处理过程中,开发者可以不用了解或研究其系统底层的实现过程就可以完成发任务。

Hadoop的相关系统:Hadoop分布式系统(HDFS)包含了许多元素,文件系统存储在群集节点上的文件。HDFS上层的Map/Reduce程序框架引擎,包含了工作跟踪和任务的跟踪。

2.大数据分析解决方案

2.1 系统日志数据预处理

确定了系统对数据的需求之后,就可以对日志进行预处理了。通过对用户日志的UID访问,获取每个日志的基本数据。然后逐个读取各项数据,分别确认是否属于系统所需的日志数据类型。如果是,则保留在系统平台内;如果不是,则删除其数据。为了获取用户的各种信息,我们需要对用户访问系统所遗留下来的日志进行严格的分析。其中,非常关键的问题在于,在运用本文所设计的基于Hadoop的海量数据分析系统对日志进行分析之前,尽可能的对日志进行简化,即去除一些无关紧要的数据部分,是对整个系统的运行效率有着重大提升的意义的。

因此,在将日志导入系统进行分析之前,我们需要对日志进行预处理。预处理有两个目的:一是去掉日志中部分系统不关心的数据;二是统一日志格式,在用户访问的过程中,其生成的格式有可能会因为其来源渠道等因素的不同导致日志整体架构不一致,如果不统一日志的格式,直接导入系统进行处理,那么将会有大量的系统资源被浪费在无用的处理过程中。

2.2 生成最小粒度数据的实现

根据从日志的预处理之后得到的新日志文件数据,系统将对海量的数据进行逐个肢解的过程,并将其按维度划分最细分粒度及流转最细粒度,生成最细分粒度数据。此步骤的难度在于,日志数据极为庞大,单个日志要划分成十数个乃至数十个的小数据,其数量就更为庞大。如何存储这些最细分粒度数据,以便系统后用成了最重要也是最难的问题。

在这个步骤中,系统将用Hadoop平台的Apache Pig来实现这一过程。Apache Pig是一个用于分析大型数据集的平台,包括一个高层次的语言表达数据分析程序来评估这些方案以及基础数据处理。Pig的突出特性是它们的结构是适合进行大量的并行轮流处理,使他们能够处理非常大的数据集。目前,Pig的基础设施层由编译器产生的Map-Reduce计划,大规模并行实现已经存在于序列中。

首先,将后台用户日志导入系统。系统将对海量数据进行逐个肢解的过程,并将其按维度划分最细分粒度及流转最细粒度,形成最细分粒度数据,然后存放在Hive中。

在这个过程中,难点在于日志的数量大,通常是数百GB。因此,在此部分,系统将运用Apache Pig来实现对系统原始日志及特征表的肢解,使其生成最细分粒度数据,并将其导入Hive中存放。

首先系统将注册各种UDF,以便 展整个系统流程。然后导入系统后台所存储的用户访问电商网站服务器所留下来的日志数据,主要是访问日志,其次是访问特征码,特征码对于页面流转的统计分析是非常重要的。

然后系统将要逐个地清理原始日志,主要是排除垃圾信息和不完整信息,因为在曰志存储的过程中,不可避免的会收到一些或有意或无意的垃圾信息的攻击,这一部分需要提前剔除,以免工作量太大。

2.3 数据分析及报表的实现

在得到各个数据类型的Hive表之后,系统需要通过Apache Hive来汇总所需细分粒度数据。汇总的方式可以由用户自行设定,可以将任意两种乃至数种上文中所提到的Hive表进行组合汇总,形成新的Hive表。在此步骤中,被划分成最细分粒度的数据己经存放于Hive中。所以,系统将运用Apache Hive来将所有最细分粒度数据汇总,使其成为各个项目单独的汇总表文件。从最细粒度的数据统计,现在就有了两个乃至多个Hive表均包含其数据内容。当系统收到上一个步骤所分析统计得出的Hive表时,其将通过调用Apache Hive的各个接口,使其接收到Hive表中的内容,并且通过用户事先设定好的数据类型汇总方式,将各个Hive表中的数据先逐个读取,再将其输入存放到新的Hive表中。

系统在此部分将通过Hadoop平台所提供的接口建立到数据库的链接,然后在对上一节中所生成的各项Hive表实施遍历,逐行逐词的读出数据表中的每一项数据,将其存入Mysql中,然后提供一个前端可用的接口,以方便各种前端客户连接至Mysql,将数据资料读出并做成可直观阅读和分析的系统报表。

在数据存入Mysql之后,系统可以根据衔接的前端程序的不同,生成各类不同样式的图表,可以包括系统到目前为止,储存在数据库中的全部或者部分数据,供网站分析人员观察与分析。

3.结论

目前电力行业信息发展所面临的问题是本论文的重点。首先介绍了选题的背景和意义,然后逐步引入Hadoop技术,特别是在HDFS文件系统方面的,Map/Reduce框架,Hive数据仓库框架介绍的原理和使用,以及作为如何使用Hadoop数据处理,来解决这个问题的。然后,本文介绍了如何充分利用Hadoop的配置设备,以及内置的数据仓库框架,以实现统计的需求,并生成直观的图表显示。

因为Hadoop运作过程并非自动化的工作形式,可以研究关于这个项目的代码固化下来的可能性,以达到完成自动化功能的目的,仅需要用户简单地输入特定需求的参数,后台任务运行这些数据使用Hadoop来进行数据处理,所以面对数据的处理需求,并不需要手动启动脚本来运行任务。

参考文献

[1]MapReduce计算任务调度资源配置优化研究.

作者简介:

肖靖峰(1987―), 男,国网新疆电力公司ERP系统运维专责,主要从事新疆电力信息化运维及系统管控工作。

李雅洁(1987―),女,国网新疆电力公司财务系统运维专责,主要从事新疆电力信息化运维及系统管控工作。

上一篇:COD在线监测仪器的应用及发展 下一篇:体检见到“结节”该如何对待