应用MaxCompute实现变压器局部放电相位分析

简介: 应用MaxCompute实现变压器局部放电相位分析 1 引言 随着智能电网建设的不断推进,智能化电力一次设备和常规电力设备的在线监测都得到了较大发展并成为趋势,监测数据日益庞大,电力设备在线监测系统在数据存储和处理方面面临巨大的技术挑战。

应用MaxCompute实现变压器局部放电相位分析

1 引言

随着智能电网建设的不断推进,智能化电力一次设备和常规电力设备的在线监测都得到了较大发展并成为趋势,监测数据日益庞大,电力设备在线监测系统在数据存储和处理方面面临巨大的技术挑战。

局部放电是高压设备的重要监测内容。局部放电相位分析方法是目前成熟且应用广泛的宏观特征提取方法。随着传感器技术的进步,局部放电的检测方法呈现多样化,局部放电信号的频率高且频带较宽,这就要求信号采样率高,可以达到KHz甚至MHz(每秒采样百万次),加之需要监测的设备众多,因此监测数据量呈现海量化,传统的基于单机的存储和相位分析已经难以满足当前海量数据的计算需求,迫切需要大数据处理技术的支持。

笔者在前期的研究中,使用了实验室自建的Hadoop平台,遇到的问题主要包括:1)受资金限制,集群规模较小,存储和计算资源有限。2)集群维护困难;3)服务仅在单位内网可用;4)前期需要购买硬件资金投入高,设备的利用率又很低。5)并行程序框架限制:Hadoop的MapReduce在每一轮操作之后,数据必须存储到分布式文件系统上或者HBase,接下去的Map任务执行了冗余的IO操作,导致性能下降。

公有云计算平台以按需租用的方式,将用户从硬件采购、组网、平台搭建、系统软硬件维护中解脱出来,将存储资源、计算资源以Web Service的方式封装,并对外售卖,使用户可以专心于构建系统的业务逻辑。笔者尝试利用阿里云MaxCompute存储变压器局部放点数据,并加速相位分析过程。实验结果表明,该方法相比于Hadoop MapReduce在计算效率上明显提升,并在数据可靠性、服务可用性以及成本方面具有明显优势。

2 局部放电数据的MaxCompute表存储

局部放电相位分析将多个工频周期内监测所得的局部放电参数(放电次数N、视在放电量Q或放电幅值,及放电所在相位Φ)折算到一个工频周期内,计算其统计规律性,获取放电谱图,统计放电特征,用于模式识别。

MaxCompute以表(Table)为基本单元存储数据,与Hadoop的文件系统(HDFS)以文件为单位存储数据有明显差别,表的模式不能直接套用HDFS文件的格式,需要重新设计存储模式。局部放电信号采样数据(二进制dat文件)在上传至MaxCompute前,需要转换成文本文件格式(.csv文件),再使用Tunnel工具将本地数据上传至MaxCompute表。

如果使用HDFS文件存储,可以每行存储一个工频周期的采样数据(本文中,含80万个采样点),之后执行MapReduce分析任务时,可以将一行数据作为Map函数的输入。但是MaxCompute表的列数和表格单元的数据类型存在限制,列的数量不能超过1024列,表格单元的数据类型目前仅支持6种数据类型(Bigint,Double,String,Boolean,Datetime,Decimal),因此无法在一行内存储80万个采样值。这就需要重新设计表结构。本文中,设计了表MPD,用于存储原始采样数据,如图1所示。MPD采用2级分区,其中第1级分区名名称是DeviceID,表示设备ID。第2级分区是采集时间。


fef544c0344dfd3dbd8d4466b6f110afa2fa586e

图1 MPD表结构

Maxcompute支持分区,这里以分区键作为检索条件,可以大幅减少数据搜索范围,并能快速定位到所需数据,有效提升访问性能,并节省费用。

局部放电数据分析过程中,需要产生中间结果数据,因此又设计了基本参数NQF表和放电谱图PT表,表模式如下:

表1 NQF表

SampleID

Time

Phase

Max

样本ID

时间

相位

峰值(统计得到)

其中,SampleID表示用于完成一次特征计算的谱图数据的编号。

表2 PT表

SampleID

Wid

TotalQ

AverageQ

Nums

Max

样本ID

窗编号

放电总量

平均放电量

放电次数

峰值

相位分析最终产生的结果是放电波形数据的统计特征,包含:正负半周期谱图偏斜度Sk、陡峭度Ku、局部峰点数Pe、互相关系数Cc等,如表3所示。

表3 统计特征表

SampleID

SkN

SkQ

KuN

KuQ

PeN

PeQ

Cc

QF

MCC

这些特征的含义在此不做过多解释,请查阅相关文献。

3 使用MR2完成放电数据的相位分析

MR2是MaxCompute的扩展MapReduce模型,可以在Reduce后面直接执行下一次的Reduce操作,而不需要中间插入一个Map操作,这可以有效减少磁盘IO。可以支持Map后连接任意多个Reduce操作,比如Map-Reduce-Reduce…。

相位分析过程需要多个MapReduce任务串联完成,如图2所示。

0bbbeb7998571867e7bd05d40b184481f94391d1

图2 相位分析MapReduce任务关系

格式转换是为了将采样数据上传至ODPS表而做的数据预处理,主要任务是将二进制采样数据转换成Tunnel能够使用的文本格式。

子任务1用于提取基本统计参数n-q-φ,需要扫描MPD表指定分区,找到放电过程,并记录放电相位和幅值。Mapper函数对逐条输入的采样数据,根据预先设定的纵向阈值进行数据筛选,并将大于阈值的采样点输出至Combiner。Combiner是本地(与Mapper在相同的节点)执行的汇总,对Mapper的输出结果集合,寻找峰值点,并输出至Reducer进行汇总。Combiner有效的分担了Reducer的数据汇总工作,并且减少了Reducer所在节点传输的数据量,可以有效提升并行计算过程的速度。Reducer函数负责汇总由Combiner输出来的极值点,并使用预先设定的横向阈值进行极值点的筛选。如果两个极值点距离“很近”(相位差小于横向阈值),则认为是同一次放电。输出的结果存储于NQF表。

子任务2接收NQF表的数据作为输入,计算放电谱图和统计特征。为了加快计算速度,设计了Map-Reduce1-Reduce2模式的计算过程,使谱图数据作为中间结果缓存在Maxcompute分布式内存中,节约了磁盘读取的开销。Reduce1和Reduce2的连接使用了Maxcompute提供的Pipeline完成。子任务2最终的输出是统计特征表,可以用于后续的模式识别任务,模式识别可以写程序完成,或者使用阿里云机器学习平台去完成。

4 实验分析

在实验室完成了电晕放电、悬浮放电、气泡放电和油中放电实验。局部放电信号采集仪器采用TWPD-2F局部放电综合分析仪,最大采样频率为40MHz,采集信号的有效频带为40k~300kHz。

为验证所设计的分析算法性能和稳定性,选取了不同大小的数据集,如表4所示。数据集1x表示1倍数据,包含50个文件(50条局放数据),本文中选用50条局放数据进行1次统计特征的提取。

表4 实验用数据集

数据集ID

记录数(dat文件数)(条)

datGB

csv(GB)

MaxCompute

TableGB

Table记录数(万条)

压缩比

1x

50

0.305

0.898

0.203

4000

4.421

2x

100

0.61

1.75

0.425

8000

4.118

4x

200

1.22

3.5

0.852

16000

4.108

8x

400

2.44

7

1.523

32000

4.596

16x

800

4.88

14

3.447

64000

4.061

32x

1600

9.76

28

6.394

128000

4.379

64x

3200

19.52

56

12.688

256000

4.414

128x

6400

39.04

112

25.972

512000

4.312

256x

12800

78.08

224

51.952

1024000

4.427

分别在单机环境下、实验室自建的Hadoop平台(6个计算节点)下和Maxcompute平台下完成放电数据的相位分析,(分别命名为S-PRPD、Hadoop-PRPD、ODPS-PRPD),测量算法执行的时间、使用的硬件资源(CPU、内存)进行性能对比,如图3、图4、图5所示。

ad35135c7ee200a0af31c5c3e5619b937b46598f

图3 相位分析执行任务执行时间

在图3中,S-PRPD算法在单机环境下运行,执行时间随数据量增加急剧增长。只完成了4X数据集的分析任务(更大数据量耗时太长)。Hadoop-PRPD算法在自建Hadoop平台下执行。受存储容量和计算性能影响,实验只完成了16x数据集的分析任务,算法执行时间缓慢增长。ODPS-PRPD算法运行在Maxcompute平台下,完成了256X数据集的分析(还可以更大),运行时间平稳,在数据规模成倍增长情况下,整体运行时间增长很少或不增长,甚至,在分析8X数据集时出现负增长。主要归因于ODPS硬件的弹性伸缩,如图4和图5所示。

6d8dcf4ada1338b901b2074b72accbda006dba47

图4 CPU核心数的消耗

f620a2befbeea407f89038217e2039437486a049

图5 内存消耗

从图3和图4中可以看出,随着数据规模的增长,ODPS-PRPD使用的硬件资源总体呈现线性增长的趋势。数据规模越大,为其分配的硬件资源越多,但也不是严格的线性关系。Maxcompute为并行任务分配的硬件资源有一个复杂的算法实现,目前阿里云尚未公开,使用者暂不能控制资源的分配。虽然底层细节对用户透明,但是这种弹性伸缩的性质还是能够强有力的为大数据分析助力。当数据规模达到51GB256x)时,使用的CPU核心数达到了1093,内存达到了1639GB。这种硬件条件是目前很多数自建数据处理平台难以达到的。

      最后来说一下成本费用。Maxcompute采用租用的方式,无需自行购买硬件设备和软件,相对自建Hadoop或者其他大数据分析平台,前期投入成本极低。Maxcompute以项目(Project)为单位,对存储、计算和数据下载三个方面分别计费。数据上传目前暂不收取费用。存储价格目前是0.0008/GB/小时,计算费用是0.3/GB。计算费用中,目前仅开放了SQL的计费,执行MapReduce暂时是免费。因此,本文实验实际产生的费用只有存储费用,做几天的实验,只花了几元钱。


相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
14天前
|
存储 消息中间件 监控
【Flume】Flume在大数据分析领域的应用
【4月更文挑战第4天】【Flume】Flume在大数据分析领域的应用
|
27天前
|
Cloud Native 数据处理 云计算
探索云原生技术在大数据分析中的应用
随着云计算技术的不断发展,云原生架构作为一种全新的软件开发和部署模式,正逐渐引起企业的广泛关注。本文将探讨云原生技术在大数据分析领域的应用,介绍其优势与挑战,并探讨如何利用云原生技术提升大数据分析的效率和可靠性。
|
1月前
|
存储 消息中间件 大数据
Go语言在大数据处理中的实际应用与案例分析
【2月更文挑战第22天】本文深入探讨了Go语言在大数据处理中的实际应用,通过案例分析展示了Go语言在处理大数据时的优势和实践效果。文章首先介绍了大数据处理的挑战与需求,然后详细分析了Go语言在大数据处理中的适用性和核心技术,最后通过具体案例展示了Go语言在大数据处理中的实际应用。
|
24天前
|
数据采集 分布式计算 大数据
Java语言在大数据处理中的应用
传统的大数据处理往往依赖于庞大的数据中心和高性能的服务器,然而随着大数据时代的到来,Java作为一种强大的编程语言正在被广泛应用于大数据处理领域。本文将探讨Java语言在大数据处理中的优势和应用,以及其在分布式计算、数据处理和系统集成等方面的重要作用。
|
1月前
|
存储 大数据 数据挖掘
云计算与大数据:从基础设施到实际应用
云计算与大数据:从基础设施到实际应用
100 0
|
8天前
|
机器学习/深度学习 人工智能 安全
Azure Databricks实战:在云上轻松进行大数据分析与AI开发
【4月更文挑战第8天】Databricks在大数据分析和AI开发中表现出色,简化流程并提高效率。文中列举了三个应用场景:数据湖分析、实时流处理和AI机器学习,并阐述了Databricks的一体化平台、云原生弹性及企业级安全优势。博主认为,Databricks提升了研发效能,无缝集成Azure生态,并具有持续创新潜力,是应对大数据挑战和加速AI创新的理想工具。
32 0
|
16天前
|
NoSQL 大数据 数据挖掘
现代数据库技术与大数据应用
随着信息时代的到来,数据量呈指数级增长,对数据库技术提出了前所未有的挑战。本文将介绍现代数据库技术在处理大数据应用中的重要性,并探讨了一些流行的数据库解决方案及其在实际应用中的优势。
|
21天前
|
机器学习/深度学习 人工智能 数据可视化
基于Python的数据可视化技术在大数据分析中的应用
传统的大数据分析往往注重数据处理和计算,然而数据可视化作为一种重要的技术手段,在大数据分析中扮演着至关重要的角色。本文将介绍如何利用Python语言中丰富的数据可视化工具,结合大数据分析,实现更直观、高效的数据展示与分析。
|
28天前
|
存储 NoSQL 大数据
新型数据库技术在大数据分析中的应用与优势探究
随着大数据时代的到来,传统数据库技术已经无法满足海量数据处理的需求。本文将探讨新型数据库技术在大数据分析中的应用情况及其所带来的优势,为读者解析数据库领域的最新发展趋势。
|
2月前
|
分布式计算 DataWorks IDE
MaxCompute数据问题之忽略脏数据如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
47 0