一种基于正则表达式的电力大数据采集、存储及分析方法
【技术领域】
[0001] 本发明属于电力信息大数据信息挖掘与分析领域。设及一种多级存储的电力信息 大数据的分析方法,解决电力信息大数据分析的问题。
【背景技术】
[0002] 随着数据库应用的规模、范围不断地扩大,电力管理部口及相关企业利用计算机 管理事务能力的增强,产生了庞大的大规模数据集,将如此庞大的数据集采集并存储到服 务器上是非常复杂的。原本很多数据采集算法在数据集规模较小时尚能取得不错的采集效 果,但是针对大规模数据集,计算量太大W至于不能在可接受的时间内获得很好的结果。
[0003] 在W往的工业生产、商业服务领域,传统的数据挖掘分析算法可W处理小规模的 数据集,也能取得较好的执行效率,获得较高的挖掘质量。但在当前的大数据时代,处理大 规模数据的过程遇到了难题。随着一体化电网规划设计平台的建设推进,业务应用数据正 W前所未有的速度增长,大数据时代正式到来。电力大数据分析技术在最近两年开始成为 研究热点,但主要集中在电力生产领域,如电力调度、电力负荷预巧U、电网资源配置、电网信 息监测等。当前,大数据分析技术依然停留在传统的数据分析方法层面,比如,数据挖掘技 术在市场交易行为的分析,研究大多集中在交易行为的模型和方法改进方面。而对基于分 布式数据仓库化ive)的电力市场大数据挖掘(分布式电力数据挖掘)方法和技术(电力 数据分布式挖掘算法)的研究,在国内属于空白领域,即将成为热点研究方向,有待深入开 展此领域的研究。
[0004] 由于电力信息的激增,数据库的应用规模和范围不断扩大,产生了庞大的大规模 数据集。通过对大数据内涵和外延的深入理解,需要结合电力市场交易的数据现状和业务 需求,为了更好的分析大数据集,研究并提出了基于电力信息大数据采集及多级存储的挖 掘方法及技术。本研究W正则表达式方法采集文本数据集,应用多级存储方法,W文件形式 将数据集存储在分布式文件系统皿FS中。基于主成分分析的多元回归方法建立售电量事 务信息模型,能够有效分析电力市场大数据的禪合关系。为了实现电力交易业务的数据增 值服务,研究挖掘电力市场大数据价值的方法和技术,提取电力交易中屯、的交易业务大数 据,分析典型应用场景,利用数据集成管理、数据存储、数据计算、分析挖掘等方面核屯、关键 技术,实现面向典型业务场景的模式创新及应用提升。电力市场大数据的分析应用将推动 电网的业务发展和管理水平提升,有效支撑电网有限公司的=集五大两中屯、深入建设。
【发明内容】
[0005] 为了实现电力交易和数据增值服务,需要多种挖掘电力市场大数据价值的方法和 技术。面对数据量的激增,很多W往处理非大数据的算法遇到了瓶颈,该些算法的运行时间 不能与大数据量的规模呈线性关系,很多情况下,该些算法在挖掘大规模数据集时不能在 多项式时间内获得高质量的挖掘结果,甚至受制于计算机的内存空间,算法不能正常的运 行,必须借助于云计算的大数据挖掘技术。对此庞大的数据集进行分析,可W提高电力负荷 预测的准确性,能够指导电力营销的方向,促进区域电力消费的经济发展。
[0006] 本发明的技术方案如下;
[0007] 1、基于正则表达式的信息采集技术
[000引电力数据的采集主要针对结构化数据和非结构化数据两种情况,目前电力市场统 一交易平台上的数据属于结构化数据,底层的DB数据库一般为化acle、DB2、SQLServer、 MyS化等,通过SqoopAPI工具自定义数据表中的字段和属性,把结构化的数据表抽取到基 于化doop架构的分布式数据仓库化ve中;电力非结构化的数据一般为互联网的客户端采 集的网页信息,包括文本、图片、音频、视频、JSP动态数据等,通过Nutch工具定义正则表达 式,把电力市场交易相关的经济指标、环境气象、社会统计、电力政策等方面的网页爬取到 本地服务器,从网络客户端爬取的信息数据一般为数值、符号、文本等形式,都W文档的形 式存储到基于化doop架构的分布式数据库皿ase中。非结构化数据应用爬虫技术,采用 JAVA设计,多线程处理。爬取规则可W按照广度优先、深度优先的策略进行,最优的策略暂 不考虑。目标W域名为基准,不考虑IP。系统统一维护一份U化列表,所有捜索过的U化方 在此处。
[0009] 2、多级存储技术
[0010] 皿ase作为电力市场大数据的存储层,皿ase分布式数据库的表定义为华中电力 市场大数据采集、抽取、清洗、转换巧TL)的统一表格式,即W列族存储方式定义数据属性 格式。化doop皿FS(分布式文件系统)为皿ase提供了高可靠性的底层存储支持。化doop MapRe化ce为皿ase提供了高性能的计算能力,Zooke巧er为皿ase提供了稳定服务和 化ilover机制。皿ase、华中电力市场大数据转换器巧化)、皿FS、Zooke巧er与MapRe化ce 构成分布式存储层。
[0011] 3、电力市场大数据主成分分析方法
[0012] 电力市场交易数据库的售电事务信息包括交易价格、区域经济指标、天气气候、机 组出力、环保指标、燃料价格等,其中电力交易价格、经济指标、天气气候等信息因素构成了 =维空间,它们之间存在非正交关系。电力市场大数据主成分分析方法主要是解决售电事 务多维空间中各个轴之间的禪合关系,采用基于主成分分析的多元回归方法建立售电量事 务信息模型,能够有效分析电力市场大数据的禪合关系。多维关系主成分分析在代数上的 表示是n个随机变量X。X,,…,X。的线性组合,其几何意义是对原空间进行线性变换,用新 的坐标系重新表示原空间,新坐标系是由原坐标系旋转后得到的,新坐标系的坐标轴相互 正交并代表数据变异性最大的方向,提供一个对协方差结构的较为简单但更为精炼的刻 画。
[0013] 基于上述,本发明的模型建立如下:
[0014] 1、基于正则表达式的数据采集方式
[0015] 电力信息采集的大数据主要格式分为;结构化、半结构化和非结构化数据。(1) 结构化:指在网页上发布的表格,内涵标准的数据库数据,可直接读取存储进关系数据库 中。(2)半结构化;指虽然用表格显示在网页中,但是内容行或者列之间的数据不一致,需 要逐行或者逐列处理;或者将结构化的数据W文本行的形式显示,中间用分隔符分割等情 况。(3)非结构化;纯文本数据,需要从文本中按照一定的规则查找匹配需要的数据。
[0016] 采集的数据按照数据类型可分类;文本、图像(视频、音频)、表格等。爬虫将网页 下载之后,根据HTML的语法规则,从中找出标题、主体中的文本内容,找出多媒体链接、W及内嵌的表格,分别对文本、多媒体、表格进行处理。
[0017] 在所采集的信息中,W文本类型为主。本研究中,文本采集模式采用正则表达式进 行匹配,JAVA内置的正则表达式基本满足要求,也可将匹配规则写成PE化脚本,其对文本 的处理更加全面。模式数据库中存储的是正则表达式的模板,其中的关键词可W成组进行, 使用正则表达式中的□进行多选匹配,也可逐一进行。但是该些具体的匹配表达式中的关 键词需要程序根据数据库中指定的关键词进行动态修改后再进行匹配。匹配时要考虑到数 字的大写(一二S四),年份的简写,比如匹配"2010年",有可能网页中写成"10年",但是 如果是"10年来"也可能被匹配,因此需要考虑很多的特殊情况。因此匹配模式是需要经 常修改的,尤其在前期的测试维护中,先大范围的捜索,再去除不符合的特殊情况。要考虑 到书面用语中的同义词,比如"年均"、"年平均"、"年均值"等词语的匹配。要考虑到关键词 位置的变换,该需要通过实际阅读网络文章,捜集可能出现的情况进行整理,才能匹配到最 全的数据。
[0018] 图像采集方式。有些数据是W图片的是发布的,也可能有些照片是需要捜集的,因 此图像的采集只是按照指定的格式、尺寸、文件大小等进行抓取即可。由于不同的网站可能 对图像添加了水印或者重新进行了编码压缩,导致检测图像的重复会很困难。因此只能检 测绝对重复的图像,而不检测相似图像。每张图片保存其MD5值即可,重复的一律删除。
[0019] 表格的采集最为复杂,先要在网页源文件中获取内置表格,并对表格的名称或者 其中的文字进行快速检索,发现关键词才进行采集。
[0020] 数据采集完毕后,需要对采集的数据再次进行过滤,主要过滤掉重复、错误的数 据,将数据进行分类,W便存入数据库中。不同的网页显示的数据值可能有出入,该就需要 制定规则,如何处理不同的数据,比如采取平均值、或者去掉最高和最低在平均抑或取相同 值出现频率最高的一组等,具体的情况要视情而定。有些值是整数值,不能取平均数,那么 取最大出现次数则比较可靠。有些是汇总的值,进行了四舍五入,那么将按照最大的单位进 行四舍五入。比如电量可W是千瓦,也可W是百万千瓦,那么采集的数据按照哪一种需要根 据实际情况处理。将所有的过滤及融合的模式设定好,程序会自动进行。如果出现特殊情 况,则需要人工判断处理。
[0021] 2、多级存储技术
[0022] 电力交易的结构化和非结构化的大数据经过抽取后,都W文件形式存储在分布 式文件系统皿FS中。其中,化acle、DB2、S化Server、MyS化等结构化的大数据存储在分布 式数据仓库化ve中,从网络客户端得到的非结构化数据存储在分布式数据库皿ase中,W 列族为组织形式,一个列族里的所有列成员都将最终存储在同一个皿FS文件中,而不同的 列族有着各自对应的皿FS文件。存储在皿FS上的文档支持超大文件,它通常为数百GB、甚 至数百TB大小的文件。
[0023] 皿FS是一个高容错性的分布式文件系统,适合部署在廉价的机器上,能够提供高 吞吐量的数据访问,适合大规模数据集上的应用。电力市场大量的非结构化数据可W存储 在分布式文件系统皿FS上,供分析使用。
[0024] 图 4 所示的皿FS系统由Client、NameNode、DataNode构成。
[0025] (l)Client通过与NameNode和化taNode交互访问HDFS中的文件。提供了一个类 似POSIX文件系统的接口供用户调用。
[0026] (2)NameNode是整个文件系统管理者,负载管理皿FS的目录树和相关的文件元数 据信息,负责监控各个化taNode的健康状态,一旦发现化taNode挂掉,则将该化taNode移 出皿FS并重新备份上面的数据,保证系统的高容错性。
[0027] (3)DataNode负责实际的数据存储,并将数据信息定期汇报给NameNode。 DataNodeW固定大小的block块为基本单位组织文件内容,默认情况下block大小为64M。 当客户端上传一个大的文件到皿FS上时,文件会被分
割成若干个block,分别存储在不同 的化taNode。同时为了数据局的可靠性会将每个block写到若干个不同的DataNode上, 该种文件切割后存储的过程对用户是透明的。
[0028] 皿ase介于nosql和畑BMS之间,仅能通过主键(rowkey)和主键的range来检索 数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。主要用来存储非 结构化和半结构化的松散数据。与hadoop-样,皿ase目标主要依靠横向扩展,通过不断 增加廉价的商用服务器,来增加计算和存储能力。
[0029] 皿ase系统架构由皿aseClient、Hmaste;r和皿egionServer组成,底层为Hadoop 分布式系统。
[0030] 3、电力市场大数据主成分分析方法
[0031] 对从电力交易中屯、获取及基于正则表达式采集的电力信息数据进行分析,W得到 不同相关数据之间的关系。电力市场交易数据库的售电事务信息包括交易价格、区域经济 指标、天气气候、机组出力、环保指标、燃料价格等,其中电力交易价格、经济指标、天气气候 等信息因素构成了S维空间,它们之间存在非正交关系。如图4所示。电力市场大数据主 成分分析方法主要是解决售电事务多维空间中各个轴之间的禪合关系,采用基于主成分分 析的多元回归方法建立售电量事务信息模型,能够有效分析电力市场大数据的禪合关系。
[0032] 多维空间主成分分析方法
[0033] 多维关系主成分分析在代数上的表示是n个随机变量XI,X2,…,Xn的线性组合, 其几何意义是对原空间进行线性变换,用新的坐标系重新表示原空间,新坐标系是由原坐 标系旋转后得到的,新坐标系的坐标轴相互正交并代表数据变异性最大的方向,提供一个 对协方差结构的较为简单但更为精炼的刻画。
[0034]主成分,设X=狂1,X2,…,Xn)T为一n维随机向量,其主成分为Yi(i= 1,2,…,k,k《n),则Yi满足W下条件:
[003引(1) F ="fX,afo,'=1
[0036] (2)Y1,Y2,…,化互不相关
[0037] (3)ai的取值使得Var(Yi)最大
[003引图5所示是在原售电事务空间中原有的信息,如气象,经济,电价等因素,内部由 于自相关,相互不正交,经过主成分分析后,将变换成相互正交的轴,该样可W在新的坐标 系中先建立售电量的分布函数,再将原始的轴在新坐标方程回代,就可W得到反映各因素 之间禪合的售电量分布函数。
[0039] 主成分法分析的基本步骤如下:
[0040] 设R是随机向量X=狂1,X2,…,Xp)T的协方差矩阵。它有特征值和特征向量对 (入l,el),(入2,e2),…,(Ap,巧),其中A1 > Ap>0。则第i主成分是:
[0044] 其中,由于经过标准化W后的样本r=(yi/)胃中的每个因素的观测值八_]',都服 从正态分布,所W协方差矩阵为
[0045] 特征值的大小反映了与之相关的主成分所包含新信息的比重大小,即样本在该 一方向上变异程度的大小。所W当特征值接近零时与之相关的主成分已经不包含新的信 息,引入其将会增大空间的自相关性。
[0046] 累计贡献率,第i主成分的累计贡献率定义为:
[0047] (3)
[0048] 若Vae(0, 1)当0S>a,Y1,Y2,…,Ys称为样本X1,X2,…,Xp的显著性水 平为a的主成分,WY1,Y2,…,Ys来代替XI,X2,…,Xp,对原空间在给定显著性水平下进行 重新表示。0S是表征前S个主成分所含信息的比重。图6说明了求解一个样本的主成分 算法的流程。
[0049] 本发明的有益效果如下;
[0化0] 本研究基于电力市场应用,提供了应用正则表达式的信息采集技术及多级存储的 方法。电力交易的结构化和非结构化的大数据经过抽取后,都W文件形式存储在分布式文 件系统皿FS中,可W将超大规模的数据都存储到服务器中,皿ase将数据存储在分布式文 件系统皿FS的索引上,可W进行web文本的分类和聚类,执行语义分析,W便高速查询。利 用主成分分析的多元回归方法建立售电量事务信息模型,有效分析电力市场大数据的禪合 关系。为了实现电力交易业务的数据增值服务,研究挖掘电力市场大数据价值的方法和技 术,提取电力交易中屯、的交易业务大数据,分析典型应用场景,利用数据集成管理、数据存 储、数据计算、分析挖掘等技术,实现面向典型业务场景的模式创新及应用提升。
【附图说明】
[0化1] 图1是本发明的基于正则表达式的电力大数据采集方案。
[0化2] 图2本发明的基于正则表达式的电力大数据存储方案图。
[0化3] 图3是本发明的电力大数据处理的整体流程图。
[0化4] 图4是本发明的皿FS的系统架构图。
[0化5] 图5是本发明的电力市场售电事务多维空间主成分分析示意图。
[0化6] 图6是本发明的主成分法的分析步骤流程图。
[0化7] 图7是本发明的基于MapRe化ce的主成分回归模型流程图。
【具体实施方式】
[005引本实例W华中电力市场为研究对象,通过正则解析采集华中电力市场的相关数 据,将相关大数据W多级存储的方式存储在服务器中,应用主成分分析法分析数据关联,及 电力市场大数据的禪合关系。
[0059] 1.华中电力市场信息采集
[0060] 针对华中电力市场的相关结构化、半结构化和非结构化数据,采用JAVA设计,多 线程处理。爬取规则可W按照广度优先、深度优先的策略进行,最优的策略暂不考虑。目标 W域名为基准,不考虑IP。系统统一维护一份U化列表,所有捜索过的U化方在此处。爬虫 将网页下载之后,根据HTML的语法规则,从中找出标题、主体中的文本内容,找出多媒体 链接、W及内嵌的表格。分别对文本、多媒体、表格进行处理。
[0061] 2.华中电力爬取数据的分布式存储化ive)
[0062] (1)从本地文件系统中导入数据到化ve表
[0063] 从本地文件系统中将数据导入到化ve表的过程中,其实是先将数据临时复制到 皿FS的一个目录下,然后再将数据从那个临时目录下移动(是移动,不是复制)到对应 的Hive表的数据目录里面。(例如;hive〉LOADDATALOCALINPATH7home/work/test. txt'INTOTABLETest;)
[0064] (2)从皿FS上导入数据到化ve表
[00(55]第一步,将文件复制到皿FS某个文件夹中化adoopfs-puttest,txt/data/test:);
[0066] 第二步,将文件导入到Hive已建好的表中化ive〉L0ADDATAINPATH'/data/test/ test,txt'INTOTABLETest;)。
[0067] 化ve默认可W直接加载文本文件(TextFile),该种方式通用性较好。
[0068] (3)程序导入数据到Hive
[0069] 网页数据抓取的数据可W直接导入到化ve,需要调用化doop化va包的TextFile 类,W数据流形式导入,需要分析数据间隔方式。程序实现的方式通用性不强,但针对特定 网页进行爬取数据后,直接存储到Hive的专用性较好。
[0070] (4)分布式系统与传统数据库的数据互导
[007U (a)Mysql与皿FS互导数据
[0072] 环境;宿主机器操作系统为Win7,Mysql安装在宿主机上,宿主机地址为 192. 168. 10. 10
[0073]S台虚拟机操作系统为化un化-12. 04. 1-32位
[0074]S台虚拟机已成功安装化doop,并实现免密钥互访,配hosts为;
[007引 192.168.10.llmasternode
[0076] 192. 168. 10. 12slavenodel
[0077] 192. 168. 10. 13slavenode2
[007引 /etc/profile已配置好必备环境变量HADOOPJTOME,JAVAJTOME
[0079] 实验在masternode上进行,已成功连接mysql
[0080] 步骤一,下载安装包:
[oow] 安装的Hadoop版本是原生hadoop-0. 20. 203. 0,SQ00P不支持此版本,可使用CD册 版本hadoop,也可臥通过拷贝相应的包到sqoop-1. 2.0-CDH3B4/l;Lb下,依然可臥使用。
[0082] 下载相关文件:
[0083] http://archive, cloudera. com/cdh/3/hadoop-O. 20. 2-CDH3B4. tar. gz
[0084] http ://archive, cloudera. com/cdh/3/sqoop-l.2. 0-CDH3B4. tar. gzsqoop-L 2. 0-CDH3B4依赖hadoop-core-〇. 20. 2-CDH3B4. jar,所臥你需要 下载hadoop-0. 20. 2-CDH3B4. tar. gz,解压缩后将hadoop-0. 20. 2-CDH3B4/ hadoop-core-〇. 20. 2-CDH3B4. jar复制到sqoop-L 2.〇-CDH3B4/l;Lb中。
[0085] 另外,sqoop导入mysql数据运行过程中依赖mysql-connector-java-*.jar,所臥 需要下载mysql-connector-java-*.jar并复制到sqoop-L2. 〇-CDH3B4/l;Lb中。
[0086] 步骤二,相关配置:
[0087] 修改SQ00P的文件configure-sqoop,注释掉libase和zooke邱er检查(除非你准 备使用HABA沈等HAD00P上的组件)#if[ ! -cT${HBASE_HOMEr];化en
[008引 #echo "Error:$HBASE_HOME does not exist !"
[0089] #echo 'Please set$HBASE_HOME to化e root of your皿ase installation.,
[0090] #exit 1
[0091] 冉fi
[0092] #if[ !-cT${Z00KEEPER_H0MEr];化en
[009引 #echo"Er
ror:$Z00KEEPER_H0MEdoesnotexist! ''
[0094] #echo^Pleaseset$Z00KEEPER_H0MEtotherootofyourZooKeeper installation. '
[0095] #exit 1
[0096] 冉fi
[0097] 修改/etc/profile环境变量文件(suroot么后,sudogedit/etc/profile);
[009引添加 6邱0別SQ00P_H0ME二 /home/grid/sqoop
[0099] 在原有PATH后添加:$SQ00P_H0ME/bin
[0100] 步骤S,在mysql中建立测试用户,测试表和数据,并测试sqoop连接mysql;
[0101] 创建用户sqoop并授权;
[0102] grant all privileges o打本.本to'sqoop'%' ide打tif ied by'sqoop'with grant option;
[0103] 创建表空间(schema)sqoop,并创建测试表;
[0104] create table s化dents (
[010己] id int not null primary key,
[0106] name varchar (20),
[0107] ageint)
[0108] 插入测试数据:
[0109] insei^t into s化dents values ('10001','liyang',29);
[0110] inse:rt into s化dents values (,10002,,,lion,,28);
[0111] insei^t into s化dents values ('10003','leon',26);
[0112] 在masternode测试sqoop能否成功连接宿主机器上的mysql ;sqoop list-tab les--connectjdbc:mysql://192. 168. 66.96:3306/sqoop-usernamesqoop-password sqoop
[0113] 如果能正确显示出sqoop表空间中的students表,就说明sqoop已经可臥成功连 接mysql!
[0114] 步骤四,将mysql中sqoop表空间的students表的S行数据导入皿FS:
[0115]启动hadoop;
[0116] start-all.sh
[0117] 用jps验证启动是否成功
[0118] 显示正在运行臥下进程即为启动成功:
[0119] 2820SecondaryNameNode
[0120] 4539 Jps
[0121] 2887 JoWracker
[0122] 2595 NameNode
[0123] 从mysql导入数据,运行如下命令:
[0124]sqoopimport-connectjdbc:mysql://192. 168. 66. 96:3306/sqoop-username sqoop-passwordsqoop-tablestudents-m1
[01巧]验证导入数据是否成功:
[0126] 若导入成功,运行hadoop dfs-ls将能看到根目录/user/grid/下有臥表名命名 的文件夹students
[0127] 运行hadoopdfs-ls/user/grid/s化dents能看到该文件夹中包含文件;/user/ grid/stude打ts/part-m-OOOOO
[0128]运行hadoop dfs-cat/user/grid/s化dents/part-m-00000就能看到该文件已经 包含mysql中students表的S行数据;
[0129] 10001,liyang,29
[0130] 10002, lion, 28
[0131] 10003,leon,26
[0132] 步骤五,将皿FS中的数据导入Mysql的students表中:
[0133] 首先将mysql的students表数据清空;
[0134]deletefromS化dents;
[01巧]然后在masternode上执行导出数据命令;
[01%]sqoope邱OTt-connectjdbc:mysql://192. 168. 66. 96:3306/sqoop-username sqoop-passwordsqoop-tablestudents-export-dir
[0137] hdfs://masternode:9000/user/grid/s化dents/part-m-00000
[013引若成功,在mysql中会看到students表中的数据恢复了。
[0139] 注意;过程中可能会因为slavenode的50010端口没打开而报错,需用root用户 通过sudoufwallow50010命令打开端口。
[0140] (b)Mysql与Hbase互导数据
[0141] 将mysql的数据导入化ase的命令格式为:
[0142]sqoopimport-connectjdbc:mysql://mysqlserver_IP/databaseName-use rname-passwordpassword-tabledatatable-hbase-create-table-hbase-table hbase_tablename-column-familycol_fam_name-hbase-row-keykey_col_name
[0143]其中,databaseName和datatable是mysql的数据库和表名,hbase_tablename 是要导成Wmse的表名,key_col_name可臥指定datatable中哪一列作为libase新表的 rowkey,col_fam_name是除rowkey么外的所有列的列族名。
[0144] 例如:可通过如下命令将Mysql中的students表导入到Hbase中;
[014己] /home / grid / sqoop/bin / sqoop import - connect jdbc:mysql://192. 168. 66. 96/sqoop-username sqoop-password liyangl6-table students--hbase-create-table--hbase-table students--column-family stuinfo-hbase-row-key id
[0146] 成功执行后,可在化ase中用臥下命令查看结果:
[0147]hbase(main) : 011:0〉scan'S化dents'
[0148] ROWCOLUMN+CE化
[0149]lOOOlcolumn二stuinfo:age,timestamp二1356759994058,value二 2910001column=stuinfo:name,timestamp= 1356759994058,value=liyang
[0150] 10002column二stuinfo:age,timestamp二1356760044478,value二 2810002column=stuinfo:name,timestamp= 1356760044478,value=lion
[0151] 10003column二stuinfo:age,timestamp二1356760044478,value二 2610003column=stuinfo:name,timestamp= 1356760044478,value=leon
[0152] 3row(s)in0? 0900seconds
[0153] (c)Oracle与Hbase互导数据
[0154] 将Oracle中的d邱t表(列为id,name,addr)导出至libase中的d邱t表(行键 为id,列族为d邱tinfo)
[01 己己]sqoopimport――append――connectjdbc:oracle:thin:@192. 168. 66. 90:1521:or cl--usernametest-passwordtest-ml-tabledept-columnsid,name,addr-hbase -create-table-hbase-tabledept-hbase-row-keyid-column-familydeptinfo
[0156] 电力数据的主成分分析法
[0157] 通过臥上的采集、存储步骤,可臥将与华中电力市场相关的数据臥多级存储的方 法存在服务器中。通过信息挖掘存储在服务器端的大数据,发现隐藏在大型数据集中潜在 的数据模式和数据规律,将数据转换成有用的信息和知识,帮助电力交易的决策者分析历 史数据及当前数据,并从中发现隐藏的关系和模式,预测未来可能发生的电力交易行为和 市场导向。下面臥一个华中电力市场交易例子,应用主成分分析法分析电量与气候及时间 的关系。
[0158] 华中电力市场交易的主要因素包括电量、月份(时间)、电价、最高气温、最低气 温、平巧气温、降水量等,其他因素可臥依据此分析展开应用。
[0159] 表1.华中某电力市场交易的历史数据
[0160]
[0162] 表1所示的内容是华中某电力市场交易数据库中抽取的部分历史数据样本。当数 据量累积到百万条W上时,数据的查询与分析工作必须移植到化doop云平台皿ase进行海 量存储,通过化doop生态系统的Sqoop工具,把数据迁移到化ve数据仓库中,使用S化语 言抽取组成表1的大数据表(数据文件达到TB级)进行分析。采用基于MapRe化ce框架, 对电力市场交易大数据进行分布式主成分回归分析与预测,其分析流程如图5所示。
[0163] 图7中,华中电力市场大数据分析经过了Map和Re化ce两个阶段,其中Map阶段 大数据被分割为大量的小样本数据文件,对每个小样本数据基于主成分分析的回归分析, 最后经过Re化ce阶段输出最优回归模型进行交易量预测。具体的步骤如下:
[0164] (1)华中电力市场交易大数据通过SQL语言,
组成需要分析的视图表。基于化doop 平台的MapRe化ce编写数据样本分块程序,使待分析的数据样本分割为固定大小的数据 块,数据分别存储在网络中的计算机中,启动Map阶段。
[0165] (2)Map阶段对各个数据块使用主成分法。首先对各个相关因素(电量、月份,电 价,最高气温,最低气温,平均温度,降水量等)进行标准化,计算各数据样本的协方差矩阵R,计算协方差矩阵的特征值和特征向量,计算各数据样本的累计贡献率,迭代排序,取前n 个正交向量特征作为主成分。对主成分特征变量建立六种回归模型,进行F检验,获得最满 意的回归模型,使用样本历史数据计算预测的电量交易。启动Re化ce阶段。
[0166] 华中电力大数据的分析最常用的方法是根据W往各因素的历史数据,通过线性回 归的方法,拟合并预测交易信息。多元线性回归模型如下式所示:
[0167] Y = a〇+aiXi+a2X2+...+3。又。+e (4)
[0168] 式中的线性表达式能较好的反映Y与因素XI,x2,…xn之间的线性关系。华中电 力市场各因素与预测量之间很少呈现简单的线性关系,为了拓广回归模型的适用范围,采 用了W下几种因素函数变换方法。函数表达式及函数说明如表2所示。
[0169] 表2回归函数及函数描述
[0170]
[0172] 将Y与Xi,i= 1,2,…,n分别建立上述六种回归模型,然后分别进行F检验,选择 最大F值对应的回归模型作为Xi对应的函数变换形式,记为下式;
[0173]Yi=fi(xj),i=1, 2,???,n (5)
[0174] 将Y对yl,y2,…,yn进行逐步回归,将上式回代,即得Y对xl,x2,…,xn的非线性 多元回归模型。
[01巧](3)Re化ce阶段;每样本数据获得的电量交易提交到Namenode服务器,建立六种 回归模型,进行Re化ce阶段的F检验,获得全样本大数据的最优回归模型,计算预测电量交 易。
[0176] 对于每一个X值,在Y~N(A+Bx, 0 2)的假定下,有;
[0177]
报从F(l,n-2)分布(6)
[017引从上式得出,对于给定显著性水平a,由P{F〉Fi_,(l,n-2)}=a得到,册的拒绝 域为F〉Fi_g(l,n-2)并且F值越大表明所得回归模型越准确。F值的大小标志着所建立模型 的准确和实用程度。
[0179] 通过对上述复合函数建立电量y与各种因素XI,x2,…x6之间的综合表达式,按照 前面利用F检验对上面模型进行评估,所得的模型为95%的置信度。通过基于化doop系统MapRe化ce框架的综合表达式及其梯度函数,可W对华中电力市场的不同因素进行预测和 灵敏度分析。
【主权项】
1. 一种基于正则表达式的电力大数据采集、存储及分析方法,其特征在于,所述方法包 括: (1) 电力信息大数据采集 电力信息采集的大数据主要格式分为:结构化、半结构化和非结构化数据;结构化:指 在网页上发布的表格,内涵标准的数据库数据,可直接读取存储进关系数据库中;半结构 化:指虽然用表格显示在网页中,但是内容行或者列之间的数据不一致,需要逐行或者逐列 处理;或者将结构化的数据以文本行的形式显示,中间用分隔符分割的情况;非结构化:纯 文本数据,需要从文本中按照一定的规则查找匹配需要的数据; 采集的数据按照数据类型可分类:文本、多媒体、表格;爬虫将网页下载之后,根据 HTML的语法规则,从中找出标题、主体中的文本内容,找出多媒体链接、以及内嵌的表格,分 别对文本、多媒体、表格进行处理; 其中,文本采集模式:采用正则表达式进行匹配,JAVA内置的正则表达式基本满足要 求,也可将匹配规则写成PERL脚本,其对文本的处理更加全面;模式数据库中存储的是正 则表达式的模板,其中的关键词可以成组进行,使用正则表达式中的□进行多选匹配,也 可逐一进行;但是这些具体的匹配表达式中的关键词需要程序根据数据库中指定的关键词 进行动态修改后再进行匹配;匹配时要考虑到数字的大写,年份的简写及诸多的特殊情况, 因此匹配模式是需要经常修改的,尤其在前期的测试维护中,先大范围的搜索,再去除不符 合的特殊情况;要考虑到书面用语中的的匹配;要考虑到关键词位置的变换,需要通过实 际阅读网络文章,搜集可能出现的情况进行整理,匹配到最全的数据; 图像采集模式:有些数据是以图片的是发布的,也可能有些照片是需要搜集的,因此图 像的采集只是按照指定的格式、尺寸、文件大小等进行抓取即可;由于不同的网站可能对图 像添加了水印或者重新进行了编码压缩,导致检测图像的重复会很困难,因此只能检测绝 对重复的图像,而不检测相似图像;每张图片保存其MD5值即可,重复的一律删除; 表格采集模式:先要在网页源文件中获取内置表格,并对表格的名称或者其中的文字 进行快速检索,发现关键词才进行采集; 数据采集完毕后,对采集的数据再次进行过滤,主要过滤掉重复、错误的数据,将数据 进行分类,以便存入数据库中;不同的网页显示的数据值可能有出入,这就需要制定规则, 如何处理不同的数据,具体的情况要视情而定;将所有的过滤及融合的模式设定好,程序自 动进行;如果出现特殊情况,则需要人工判断处理; (2) 多级存储技术 电力交易的结构化和非结构化的大数据经过抽取后,都以文件形式存储在分布式文件 系统HDFS中;其中,Oracle、DB2、SQL Server、MySQL结构化的大数据存储在分布式数据仓 库Hive中,从网络客户端得到的非结构化数据存储在分布式数据库HBase中,以列族为组 织形式,一个列族里的所有列成员都将最终存储在同一个HDFS文件中,而不同的列族有着 各自对应的HDFS文件;存储在HDFS上的文档支持超大文件,它通常为数百GB、甚至数百TB 大小的文件; HDFS是一个高容错性的分布式文件系统,适合部署在廉价的机器上,能够提供高吞吐 量的数据访问,适合大规模数据集上的应用;电力市场大量的非结构化数据可以存储在分 布式文件系统HDFS上,供分析使用; HDFS 系统由 Client、NameNode、DataNode 构成: (a) Client通过与NameNode和DataNode交互访问HDFS中的文件;提供了一个类似 POSIX文件系统的接口供用户调用; (b) NameN〇de是整个文件系统管理者,负载管理HDFS的目录树和相关的文件元数据信 息,负责监控各个DataNode的健康状态,一旦发现DataNode挂掉,则将该DataNode移出 HDFS并重新备份上面的数据,保证系统的高容错性; (C)DataNode负责实际的数据存储,并将数据信息定期汇报给NameNode ;DataNode以 固定大小的block块为基本单位组织文件内容,默认情况下block大小为64M ;当客户端上 传一个大的文件到HDFS上时,文件会被分割成若干个block,分别存储在不同的DataNode ; 同时为了数据局的可靠性会将每个block写到若干个不同的DataNode上,这种文件切割后 存储的过程对用户是透明的; HBase介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数 据,仅支持单行事务,可通过hive支持来实现多表join等复杂操作;主要用来存储非结构 化和半结构化的松散数据;与hadoop-样,HBase目标主要依靠横向扩展,通过不断增加廉 价的商用服务器,来增加计算和存储能力; (3)电力市场大数据主成分分析方法 电力市场交易数据库的售电事务信息包括交易价格、区域经济指标、天气气候、机组出 力、环保指标、燃料价格,其中电力交易价格、经济指标、天气气候的信息因素构成了三维空 间,它们之间存在非正交关系;电力市场大数据主成分分析方法采用基于主成分分析的多 元回归方法建立售电量事务信息模型; 多维空间主成分分析方法具体如下: 多维关系主成分分析在代数上的表示是η个随机变量XI,X2,…,Xn的线性组合,其几 何意义是对原空间进行线性变换,用新的坐标系重新表示原空间,新坐标系是由原坐标系 旋转后得到的,新坐标系的坐标轴相互正交并代表数据变异性最大的方向,提供一个对协 方差结构的较为简单但更为精炼的刻画; 主成分,设X = (XI,Χ2,…,Χη)Τ为一 η维随机向量,其主成分为Yi (i = 1,2,…,k,k彡η),则Yi满足以下条件: (1) Yi=OfX^afai=I (2) Y1,Y2, ...,Yk 互不相关 (3) ai的取值使得Var (Yi)最大 主成分法分析的基本步骤如下: 设R是随机向量X = (XI,X2,…,乂口"的协方差矩阵;它有特征值和特征向量对 (λ 1,el),( λ 2, e2),…,(λ P,ep),其中λ?彡λ2彡…彡λρ彡〇 ;贝丨J第i主成分是:其中,由于经过标准化以后的样本疒=(y t/)N?#的每个因素的观测值ytj,都服从正 态分布,所以协方差矩阵为特征值的大小反映了与之相关的主成分所包含新信息的比重大小,即样本在这一方向 上变异程度的大小;所以当特征值接近零时与之相关的主成分已经不包含新的信息,引入 其将会增大空间的自相关性; 累计贡献率,第i主成分的累计贡献率定义为:若V α £(〇,1)当08彡(!八1,¥2,一,¥8称为样本乂1,乂2,一,乂?的显著性水平为 a的主成分,以Yl,Υ2,…,Ys来代替XI,Χ2,…,Χρ,对原空间在给定显著性水平下进行重新 表示;β s是表征前s个主成分所含信息的比重。
【专利摘要】一种基于正则表达式的电力大数据采集、存储及分析方法,其特征在于,所述方法包括:(1)电力信息大数据采集;(2)多级存储技术;(3)电力市场大数据主成分分析方法;电力市场大数据主成分分析方法采用基于主成分分析的多元回归方法建立售电量事务信息模型。为了实现电力交易业务的数据增值服务,研究挖掘电力市场大数据价值的方法和技术,提取电力交易中心的交易业务大数据,分析典型应用场景,利用数据集成管理、数据存储、数据计算、分析挖掘等技术,实现面向典型业务场景的模式创新及应用提升。
【IPC分类】G06Q50/06, G06F17/30
【公开号】CN104881424
【申请号】CN201510109943
【发明人】杨建华, 白顺明, 肖达强, 魏庆海, 代勇, 刘定宜, 高春成, 樊爱军, 方印, 陶力, 史述红, 王蕾, 李守保, 王清波, 丁鹏, 袁明珠, 任东明, 刘杰, 赵显 , 谭翔, 汪涛, 袁晓鹏, 张雪
【申请人】国家电网公司, 北京科东电力控制系统有限责任公司, 华中电网有限公司
【公开日】2015年9月2日
【申请日】2015年3月13日
转载请注明原文地址:https://www.famiwei.com/read-8138651.html