欢迎来到天天文库
浏览记录
ID:21693588
大小:37.50 KB
页数:13页
时间:2018-10-23
《基于hbase的数值预报产品存储检索应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于HBase的数值预报产品存储检索应用 数值预报产品数据快速增长,传统的关系型数据库对其存储和管理能力不足,查询规模较大的历史数据时效率较低。鉴于此,基于HBase设计了分布式的数据存储模型,应用MapReduce将数值预报产品解码信息存入HBase,并将解码得到的要素GRIB文件写入HDFS。因HBase对Rowkey的一级索引支持较好,而对多条件查询支持不足,需辅助Solr索引加以优化。HBase接收数据时自动触发协处理器同步记录到Solr,实现了HBase的二级索引。测试结果表明,最快入库速度可达每秒16145条,数据检索
2、结果返回时效达到毫秒级,能够满足业务应用中对数值预报产品存储和检索时效的要求。 【关键词】HBaseMapReduce要素GRIB文件解码日志文件SolrCloud 气象数据是气象业务和科研工作的基础。近年来气象现代化业务发展迅速,气象探观测数据、各种气象产品数据都呈快速增长之势,数据种类不断增加的同时,数据规模也随着覆盖范围和精度的扩展、数据密度频次的提高而越来越大,这些数据包括结构化的数据,如自动气象站观测数据等,也包括气象卫星产品和气象雷达产品等半结构化和非结构化数据。对于结构化的数据可以通过关系型数据库进行分析、处理和计
3、算,但对于海量的历史数据,关系型数据库存储和检索效率较低;对于数值预报产品等非结构化数据大多基于文件方式(如GRIB格式文件)存储和处理。不断增长的数据量使得关系型数据库系统负载过于饱和,影响了系统服务的时效性和稳定性。中国气象局CIMISS(全国综合气象信息共享平台)[1-2]数据库中存储多种数值预报产品信息,每行记录包含起报时间、预报时效、层次、预报要素代码、区域代码、单要素GRIB文件路径等字段,而具体的GRIB文件存储在GPFS集群文件系统中。为确保Oracle数据库稳定运行,数值预报产品记录保存3-6个月,并定时清除表空间
4、。在业务和科研工作中,往往需要长时间序列的数值预报产品数据,并且要求实时检索,因此考虑利用分布式架构来解决海量气象数据存储检索所面临的问题。 在分布式存储和计算技术中,Hadoop平台具有高吞吐量、高并发、高容错性、高可靠性、低成本、能扩展到云环境的优势。目前基于Hadoop生态系统的气象数据存储检索方案成为国内外研究热点。李永生等[3]选用Hadoop与HBase相结合的方式设计数值预报产品服务平台;陈东辉等[4]详细介绍了基于HBase的气象地面分钟数据分布式存储系统。本文选取HBase数据库实现气象数据文件的分布式存储管理,
5、并实现前端GRIB解码入库性能优化和后端数据检索性能优化。实验测试验证了基于HBase的数值预报产品存储与检索方案的可行性,为海量气象数据的存储和检索服务提供一?N优化思路。 1数据存储模型设计 1.1HBase简介 ApacheHadoop是一个分布式系统基础架构,包括两大核心:Hadoop分布式文件系统HDFS和MapReduce分布式编程模型[5]。HBase(HadoopDataBase)作为Hadoop中的一个子项目,使用Zookeeper管理集群,运行在HDFS分布式文件系统之上,提供高可靠性、高性能、列存储、可伸
6、缩、实时读写的分布式数据库,主要用来存储非结构化和半结构化的松散数据。 Zookeeper分布式服务框架是ApacheHadoop的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。 1.2数据存储模型设计 研究方案将数值预报产品通过GRIBAPI解码[6-7]后存储在HBase中,不同的数值预报产品分开存储在不同的实体数据表中,目前实际存储了3大类数值预报产品,包括ECMWF(欧洲中期数值预报中心)发布的细网格(0.25?×0.25?水平分
7、辨率)的数值预报产品,JMA(日本气象厅)发布的0.5?×0.5?水平分辨率数值预报产品,高分辨率东北半球T639数值产品。数据表以行键、列族、数据的方式存储数值产品的实体数据。数据表存储内容说明如表1所示。 data:gribpath是解码所得要素GRIB文件的在HDFS文件系统中的存储路径,GRIB包含的格点数据在RestWebService接口调用时作为二维数组返回。 选取表1中data:date、data:validtime和data:centre三列做数据模型展示,见表2。 行键的设计: HBase中的行键(Row
8、key)可以唯一标识一行记录。根据HBase的优化原则[8],Rowkey的长度易固定且不超过200Bytes,设计如下:AAAAATTT:yyyyMMdd:nnnmmmm:IIIIXJJJJ,AAAAA为5字母长度的英文缩写,不足5
此文档下载收益归作者所有