一种向Hbase中批量写入海量电力量测数据的方法技术

技术编号:29584305 阅读:235 留言:0更新日期:2021-08-06 19:42
本发明专利技术涉及一种向Hbase中批量写入海量电力量测数据的方法,包括:获取采集量测数据,将获取的数据按哈希表HashMap存储,再转存为txt文件格式作为数据源存储至Hadoop分布式文件系统HDFS;结合采集量测数据在分布式列式存储数据库Hbase中建立相对应的存储模型,用于存储各个测点在监测时间点的量测数据;读取数据源进行封装行键格式,然后将封装后的数据再回写到HDFS上,以HFile的文件形式存储到HDFS指定的目录中;使用HBaseBulkLoad将生成的Hfile文件导入到分布式列式存储Hbase,实现电力数据的写入。本方法完全可以保证数据的准确性、全面性及可靠性,运行效率大大提高。

【技术实现步骤摘要】
一种向Hbase中批量写入海量电力量测数据的方法
本专利技术涉及电力系统数据采集处理领域,具体的说是一种向Hbase中批量写入海量电力量测数据的方法。
技术介绍
随着电网生态系统的不断发展与扩大,电力系统设备的数量也不断上涨,所产生的量测数据也非常庞大,仅数据监控及采集系统(SCADA)每月就会产生1TB的数据量,在进行大数据平台(Hadoop)建设数据传输中,通常批量加载数据到HBase集群有多种方式,比如通过HBaseAPI进行批量写入数据、使用Sqoop工具批量导数到HBase集群、使用MapReduce批量导入等。这些方式,在导入数据的过程中,如果数据量过大,可能耗时会比较严重或者占用HBase集群资源较多(如磁盘IO、HBaseHandler数等)。
技术实现思路
针对现有技术的不足,本专利技术提供一种向Hbase中批量写入海量电力量测数据的方法,解决了通过原有电力量测数据导入HBase集群耗时长,占用集群资源较多的问题。本专利技术为实现上述目的所采用的技术方案是:一种向Hbase中批量写入海量电力量测数据的方法,使用了JAVA编程对数据进行处理及HBaseBulkLoad的方式来进行海量数据批量写入到HBase集群,方法包括以下步骤:步骤1:获取采集量测数据,将获取的数据按哈希表HashMap存储,再转存为txt文件格式作为数据源存储至分布式文件系统HDFS;步骤2:结合采集量测数据在分布式平台Hadoop的分布式列式存储数据库Hbase中建立相对应的存储模型,用于存储各个测点在监测时间点的量测数据;步骤3:读取Hadoop分布式文件系统HDFS的数据源,进行封装行键格式RowKey,然后将封装后的数据再回写到HDFS上,以HFile的文件形式存储到HDFS指定的目录中;步骤4:使用HBaseBulkLoad将生成的Hfile文件导入到分布式列式存储数据库Hbase,实现电力数据的写入。所述采集量测数据是对电力系统的电力设备或仪表进行量测并存储至达梦数据库,是通过JDBC的方式连接达梦数据库的。所述哈希表HashMap格式为数组,数组元素存储有映射键值对Key-value,表示从Key到value的映射关系,按照量测数据的字段属性能查找到其实际值,Key为量测数据的字段属性;value为量测数据实际值。所述再转存为txt文件格式作为数据源存储至Hadoop分布式文件系统HDFS为:通过toString方法将哈希表数据以字符串形式生成txt文件,通过JAVA-API接口写入Hadoop分布式文件系统HDFS,所述Hadoop分布式文件系统HDFS分别运行在多个硬件终端上。所述存储模型的格式包括:行键属性、测点ID;行键格式RowKey为“采集时间.量测类型”;量测数据的类型为按照实际数据进行设定的;Hbase建表时可通过按采集时间将各数据表进行划分,即按年分表、按月在当前表中分区。所述组装RowKey包括:将取出的数据按照存储模型的行键格式组装RowKey,分配测点ID在对应行键格式RowKey的量测数据实际值value。所述HFile文件的生成使用JAVA编写MapReduce程序来实现。本专利技术具有以下有益效果及优点:1.本专利技术传输的海量电力系统量测数据是完全与原有的电力系统量测数据相同,完全可以保证数据的准确性、全面性及可靠性;2.需要使用的JAVA程序语法简单,代码可维护性高,运行效率高;3.MapReduce生成的HFile文件为Hbase存储的底层文件,通过HBaseBulkLoad直接转移进入Hbase存储,处理效率高,与HBaseAPI进行批量写入数据相比较,大大的减少同等数据量下传输所需时间成本及资源成本,经实践:数据监控及采集系统(SCADA)中D5000实时数据一个月平均为541G,通过HBaseAPI进行批量写入数据需要30小时,而采用本方法写入数据只需要半个小时,数度提升了60倍。4.传输过程简单,HBaseBulkLoad通过命令行就可以操作。附图说明图1是本专利技术的方法流程图;图2是Hadoop平台中数据文件传输的流程图;图3是Hbase模型设计说明。具体实施方式下面结合实施例对本专利技术做进一步的详细说明。为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术。但本专利技术能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背专利技术内涵的情况下做类似改进,因此本专利技术不受下面公开的具体实施的限制。除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中在专利技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本专利技术。如图1所示为本专利技术的方法流程图,如图2所示,为是Hadoop平台中数据文件传输的流程图。首先将需要的电力系统电力设备或仪表的量测数据通过JAVA程序按HashMap格式转存为txt文件作为数据源存储在HDFS指定目录,结合数据结构在分布式列式存储(HBase)中建立相对应的存储模型。使用JAVA编写MapReduce程序来实现,在程序中读取第一步HDFS上准备好的数据源,进行自定义封装,组装RowKey,然后将封装后的数据再回写到HDFS上,以HFile的形式存储到HDFS指定的目录中。最后使用HBaseBulkLoad将生成的Hfile文件导入到HBase。步骤1:获取需要的电力系统电力设备或仪表的采集量测数据,将获取数据通过JAVA程序按HashMap格式转存为txt文件作为数据源存储在HDFS指定目录;根据国家电网采用的软件国产化的原则,电力量测数据大多存储在国产达梦数据库中。具体过程为:1、通过JAVAAPI连接HDFS(Hadoop分布式文件系统),在HDFS指定目录新建一个txt文件用以存储取出的海量数据。2、通过JDBC连接达梦数据库,将数据取出并存入一个哈希表(HashMap)中,再通过toString方法将哈希表以字符串形式追加写入上一步新建的文件中。(HashMap的主干是一个Entry数组。Entry是HashMap的基本组成单元,每一个Entry包含一个key-value键值对。所谓Map其实就是保存了两个对象之间的映射关系的一种集合)步骤2:结合采集量测数据的结构,在分布式列式存储(Hbase)中建立相对应的存储模型,如图3所示;电力量测数据是一种具有明显时序性的数据,主要由仪表产生,采集周期为分钟级。例如电量系统中的电量表按天分表,每张表15分钟存储一次采集数据,共存储了全天96个时间点的数据,每一个时间点存储的量测类型包含电量有功值,电量无功值。量测数据为:一种具有明显时序特性的数据,主要本文档来自技高网
...

【技术保护点】
1.一种向Hbase中批量写入海量电力量测数据的方法,其特征在于,包括如下步骤:/n步骤1:获取采集量测数据,将获取的数据按哈希表HashMap存储,再转存为txt文件格式作为数据源存储至分布式文件系统HDFS;/n步骤2:结合采集量测数据在分布式平台Hadoop的分布式列式存储数据库Hbase中建立相对应的存储模型,用于存储各个测点在监测时间点的量测数据;/n步骤3:读取Hadoop分布式文件系统HDFS的数据源,进行封装行键格式RowKey,然后将封装后的数据再回写到HDFS上,以HFile的文件形式存储到HDFS指定的目录中;/n步骤4:使用HBaseBulkLoad将生成的Hfile文件导入到分布式列式存储数据库Hbase,实现电力数据的写入。/n

【技术特征摘要】
1.一种向Hbase中批量写入海量电力量测数据的方法,其特征在于,包括如下步骤:
步骤1:获取采集量测数据,将获取的数据按哈希表HashMap存储,再转存为txt文件格式作为数据源存储至分布式文件系统HDFS;
步骤2:结合采集量测数据在分布式平台Hadoop的分布式列式存储数据库Hbase中建立相对应的存储模型,用于存储各个测点在监测时间点的量测数据;
步骤3:读取Hadoop分布式文件系统HDFS的数据源,进行封装行键格式RowKey,然后将封装后的数据再回写到HDFS上,以HFile的文件形式存储到HDFS指定的目录中;
步骤4:使用HBaseBulkLoad将生成的Hfile文件导入到分布式列式存储数据库Hbase,实现电力数据的写入。


2.根据权利要求1所述的一种向Hbase中批量写入海量电力量测数据的方法,其特征在于,所述采集量测数据是对电力系统的电力设备或仪表进行量测并存储至达梦数据库,是通过JDBC的方式连接达梦数据库的。


3.根据权利要求1所述的一种向Hbase中批量写入海量电力量测数据的方法,其特征在于,所述哈希表HashMap格式为数组,数组元素存储有映射键值对Key-value,表示从Key到value的映射关系,按照量测数据的字段属性能查找到其实际值,Key为量测数据的字段属性;valu...

【专利技术属性】
技术研发人员:彭飞张晓华安天瑜李丹邵广惠高德宾王汉军向勇马煜孟庆东罗锋吴奕田长翼安丰强王欣刘红叶
申请(专利权)人:国家电网公司东北分部中国科学院沈阳计算技术研究所有限公司
类型:发明
国别省市:辽宁;21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1