摘要

气象数值预报产品数据日益增长,传统的关系型数据库对其存储和管理能力不足,查询规模较大的历史数据时效率较低。针对上述问题,设计了分布式的数值预报产品处理与存储系统。通过Quartz任务调度定时采集数值预报产品文件;运用Kafka分布式消息队列解耦数值预报产品解码与入库程序;将解码日志文件、原始产品文件和解码得到的要素GRIB文件写入HDFS分布式文件系统,应用MapReduce分布式程序将解码日志记录存入HBase。因HBase对Rowkey的一级索引支持较好,而对多条件查询支持不足,需辅助Solr索引加以优化。HBase接收数据时自动触发协处理器同步记录到Solr索引库,实现了HBase的二级索引。测试结果表明,产品文件写入Hadoop文件系统平均速度为82.54 MB/s,而HBase最快入库速度可达每秒13 677条,数据检索结果返回时效达到毫秒级,能够满足业务应用中对数值预报产品存储和检索时效的要求。