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

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 应用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暂时是免费。因此,本文实验实际产生的费用只有存储费用,做几天的实验,只花了几元钱。


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
20天前
|
机器学习/深度学习 分布式计算 算法
Spark快速大数据分析PDF下载读书分享推荐
《Spark快速大数据分析》适合初学者,聚焦Spark实用技巧,同时深入核心概念。作者团队来自Databricks,书中详述Spark 3.0新特性,结合机器学习展示大数据分析。Spark是大数据分析的首选工具,本书助你驾驭这一利器。[PDF下载链接][1]。 ![Spark Book Cover][2] [1]: https://zhangfeidezhu.com/?p=345 [2]: https://i-blog.csdnimg.cn/direct/6b851489ad1944548602766ea9d62136.png#pic_center
53 1
Spark快速大数据分析PDF下载读书分享推荐
|
22天前
|
分布式计算 大数据 Spark
Spark大数据处理:技术、应用与性能优化(全)PDF书籍推荐分享
《Spark大数据处理:技术、应用与性能优化》深入浅出介绍Spark核心,涵盖部署、实战与性能调优,适合初学者。作者基于微软和IBM经验,解析Spark工作机制,探讨BDAS生态,提供实践案例,助力快速掌握。书中亦讨论性能优化策略。[PDF下载链接](https://zhangfeidezhu.com/?p=347)。![Spark Web UI](https://img-blog.csdnimg.cn/direct/16aaadbb4e13410f8cb2727c3786cc9e.png#pic_center)
62 1
Spark大数据处理:技术、应用与性能优化(全)PDF书籍推荐分享
|
4天前
|
机器学习/深度学习 算法 搜索推荐
从理论到实践,Python算法复杂度分析一站式教程,助你轻松驾驭大数据挑战!
【7月更文挑战第22天】在大数据领域,Python算法效率至关重要。本文深入解析时间与空间复杂度,用大O表示法衡量执行时间和存储需求。通过冒泡排序(O(n^2)时间,O(1)空间)与快速排序(平均O(n log n)时间,O(log n)空间)实例,展示Python代码实现与复杂度分析。策略包括算法适配、分治法应用及空间换取时间优化。掌握这些,可提升大数据处理能力,持续学习实践是关键。
17 1
|
18天前
|
数据采集 自然语言处理 大数据
​「Python大数据」LDA主题分析模型
使用Python进行文本聚类,流程包括读取VOC数据、jieba分词、去除停用词,应用LDA模型(n_components=5)进行主题分析,并通过pyLDAvis生成可视化HTML。关键代码涉及数据预处理、CountVectorizer、LatentDirichletAllocation以及HTML文件的本地化处理。停用词和业务术语列表用于优化分词效果。
17 0
​「Python大数据」LDA主题分析模型
|
23天前
|
人工智能 自然语言处理 小程序
政务VR导航:跨界融合AI人工智能与大数据分析,打造全方位智能政务服务
政务大厅引入智能导航系统,解决寻路难、指引不足及咨询台压力大的问题。VR导视与AI助手提供在线预览、VR路线指引、智能客服和小程序服务,提高办事效率,减轻咨询台工作,优化群众体验,塑造智慧政务形象。通过线上线下结合,实现政务服务的高效便民。
69 0
政务VR导航:跨界融合AI人工智能与大数据分析,打造全方位智能政务服务
|
1月前
|
搜索推荐 安全 大数据
大数据在医疗领域的应用与前景
【6月更文挑战第26天】大数据在医疗领域提升服务效率,助力疾病预防与精准治疗。电子病历优化数据管理,疾病预测预防个性化医疗成为可能。未来,智能医疗系统普及,远程医疗兴起,数据共享促进行业发展,同时隐私保护与安全备受关注。大数据正重塑医疗,开启健康新篇章。
|
1月前
|
存储 数据采集 分布式计算
Java中的大数据处理与分析架构
Java中的大数据处理与分析架构
|
19天前
|
存储 分布式计算 并行计算
使用Hadoop构建Java大数据分析平台
使用Hadoop构建Java大数据分析平台
|
25天前
|
分布式计算 Java 大数据
实战:基于Java的大数据处理与分析平台
实战:基于Java的大数据处理与分析平台
|
25天前
|
运维 监控 Java
在大数据场景下,Elasticsearch作为分布式搜索与分析引擎,因其扩展性和易用性成为全文检索首选。
【7月更文挑战第1天】在大数据场景下,Elasticsearch作为分布式搜索与分析引擎,因其扩展性和易用性成为全文检索首选。本文讲解如何在Java中集成Elasticsearch,包括安装配置、使用RestHighLevelClient连接、创建索引和文档操作,以及全文检索查询。此外,还涉及高级查询、性能优化和故障排查,帮助开发者高效处理非结构化数据。
31 0