基于Hadoop的数值预报产品服务平台设计与实现

2015-07-07 13:10李永生曾徐美红石小英
应用气象学报 2015年1期
关键词:数据表分布式气象

李永生曾 沁 徐美红 石小英

(广东省气象信息中心,广州510080)

基于Hadoop的数值预报产品服务平台设计与实现

李永生*曾 沁 徐美红 石小英

(广东省气象信息中心,广州510080)

数值预报产品数据与日俱增,采用传统的关系型数据库对其进行存储和管理存在效率低和存储能力不足的问题。另外,基于文件的存储方式在数据存储处理、数据读取和算法计算等方面存在性能瓶颈。针对这一问题,基于Hadoop技术体系设计了分布式的数据存储模型,实现了数值预报产品数据的分布式存储和处理,开发了数值预报产品数据接入处理模块;并实现了基于Rest Web Service的获取数值预报产品要素场数据访问接口、时间序列数据访问接口、数据下载接口等业务应用接口。多业务用户的实际业务测试表明,该平台在诸如数值预报产品气象数据处理和业务应用方面较传统技术架构具有一定优势。

Hadoop技术体系;气象数据;Web Service接口

引 言

气象数据是气象业务和科研工作的基础,数据蕴含巨大的价值。近年来,我国气象事业有了长足进步,也建设了大量的常规、特种自动气象探测设备,其传输、处理和服务应用的信息量呈指数形式增长。这些数据包括结构化的数据,如自动气象站观测数据、人工观测数据等,也包括精细化数值预报产品、风云系列气象卫星产品和气象雷达产品等数据,对于结构化的数据可以通过关系型数据库进行分析、处理和计算,并取得了良好的业务应用效果,对于数值预报产品等数据大多基于文件方式(如grib格式文件)存储和处理,再通过专业的软件绘图后应用于实际业务中。因此,探讨新的针对数值预报产品数据进行分析处理的方式是目前气象业务应用的迫切需求,以实现这类气象数据资源的高效利用和共享。

如何做好气象数据服务一直是气象信息技术发展的重要方向之一,李集明等[1]从数据资源管理和共享发布两个方面分别介绍了元数据技术、数据网格技术、海量数据存储管理技术、数据挖掘技术等构建气象信息共享平台的关键技术;王伯民等[2]对气象科学数据发布策略进行了研究,本文以气象数值预报产品这类典型的气象数据为数据源,基于Hadoop技术体系实现气象数据文件的分布式存储和管理。按照资源即服务的理念,对数据服务进行基于SOA架构的封装,使之Web服务化,实际业务测试表明,基于Hadoop的数值预报产品服务平台与气象业务发展现状和需求结合紧密。

1 平台基础架构设计与实现

从数值预报产品数据的入库方式和性能、特定条件查询搜索、获取要素场数据接口设计等方面综合考虑,以 Hadoop基础上集成 Hive,Hadoop与HBase技术组合以及Hadoop基础上整合Sci Hadoop 3种技术方案为备选方案,制定了入库方式、入库记录查询方式、数据存储组织方式等考核指标,经初步分析判断,尝试选用后选取Hadoop与HBase技术组合作为系统的技术实现方案,并在此基础上设计了三层结构的总体框架,具体如图1所示。实际测试结果表明,该技术方案能够满足业务实际需求。

图1 系统总体框架Fig.1 The diagram of the system overall frame

平台的系统架构由分布式资源集成层、分布式数据集成层和应用服务层3个部分组成。

分布式资源集成层充分利用Hadoop适合在廉价机器上对各种资源数据进行分布式存储和分布式管理,以及具有可伸缩性和高容错性等特点,基于Hadoop技术构建了分布式资源集成层[3],该层的主要功能是实现对基础设施的集成,即利用Hadoop技术将物理上分散的存储和计算资源整合为逻辑上统一的存储和计算资源。

分布式数据集成层包括数据接入模块、分布式数据存储和管理以及分布式计算引擎3个组成部分,其中数据接入模块对原始格式的数值预报产品进行解码和格式转换,并开发实现了将数据实时接入平台的功能;分布式数据存储和管理模块基于HDFS和HBase,实现了数据的分布式存储和管理;在分布式计算引擎模块中,Map Reduce通过将对数据集的大规模操作分发给Hadoop集群中的每个节点进行处理,每个节点会周期性地将完成的工作和状态同步更新到管理节点上[4]。该层的主要功能是实现数值预报产品数据的实时接入,并实现数据的分布式存储和管理。

应用服务层包括分布式数据获取接口和分布式算法服务接口[5],为了更好地与其他业务系统实现对接,对外提供了基于Rest(Representational State Transfer)Web Service的标准化数据查询和访问接口,该层的功能主要是部署基于Rest Web Servic数据服务程序,从而在逻辑上对接业务应用系统。

系统功能如图2所示。

图2 系统功能结构图Fig.2 The system function structure diagram

2 数据存储管理模型设计

平台将数值预报产品数据解析后存储在HBase中,每种数值预报产品的元数据信息和实体数据分别存储在两个表中,即元数据表和实体数据表,不同的数值预报产品分开存储在不同的一组元数据表和实体数据表中,目前试验平台中实际存储了8类数值预报产品,包括ECMWF(欧洲中期数值预报中心)发布的0.25°×0.25°水平分辨率和2.5°×2.5°水平分辨率的数值预报产品,JMA(日本气象厅)发布的0.5°×0.5°水平分辨率和1.25°×1.25°水平分辨率的数值预报产品,中国华南区域气象中心发布的12 km和36 km分辨率GRAPES产品,逐时同化预报产品(CHAF)以及中国国家气象中心发布的T639产品等。其中元数据表中存储产品的所有要素名称列表、时次列表、高度列表、经纬度列表、起报时间列表等元信息,实体数据表以行键、列族、数据的方式存储数值预报产品的实体数据。

2.1 元数据存储格式

元数据表中存储数值预报产品的所有要素名称列表、时次列表、高度列表、经纬度列表、起报时间列表等元数据,具体存储的信息如表1所示。

表1 元数据表存储内容说明Table 1 The description of metadata table content

2.2 实体数据存储模型设计

气象数值预报产品属于格点场数据,即以二维阵列的格式记载高空要素场的分布,它的每一数据点称为格点,其中要素场包括高度场、风场(南北向和东西向)和温度场等。根据数值预报产品的实际特点,在进行实体数据存储模型设计时引入了命名格式为AAAATTT变量,AAAA为4个字母长度的英文缩写,代表数值预报产品的预报要素名称;TTT为预报时效,如temp006表示某一预报时刻起点算起未来6 h的温度预报。变量AAAATTT在逻辑上是4个维度的变量,表示为AAAATTT(lon,lat,level,time),4 个维 度 均 为 离 散 值,其中lon是经向维度,lat是纬向维度,level是预报层次(如850 h Pa,925 hPa等),time是数值预报开始预报的时刻,如2013062700,表示2013年6月27号00:00(世界时,下同)。每种数值预报产品在元数据表中的存储格式如表2所示。

表2 实体数据模型示意表Table 2 The schematics table of entity data model

行键(Rowkey):数据表的主键。Rowkey的值由变量AAAATTT和起报时间共同确定。如对于产品CHAF的温度要素(temp),在2012年9月1日00:00起报,预报时效为未来6 h的预报场,其Rowkey为temp006:2012090100。

时间戳(Timestamp):每条数据更新的历史记录,同一行键数据再次入库会记录不同的时间戳。

列族(Column Family):每种数值预报产品不同预报层次的预报值存储在不同的列中。每个元数据表中的列族的列数根据具体预报产品决定。

数据(Values):记录该产品的每个行键实际对应的数据,如对于产品CHAF的temp要素,temp006:2012090100的预报数据存储的数据(Values)如下:

2.3 入库记录存储格式

入库记录存储在Rowkey Tab表中,以Rowkey:temp000:2012080100形式存储。其中,Rowkey为temp000:2012080100的数据的入库信息,temp000:2012080100为要素temp在2012年8月1日00:00起报时间的000时次的预报值。

3 数据服务接口

3.1 服务接口

平台采用Rest Web Service提供对外数据服务接口,针对目前的气象业务需求[6],开发了数据查询接口、获取要素场数据接口、获取时间序列数据接口、数值预报单产品多要素数据服务接口、数值预报多产品单要素数据服务接口、三维雷达数据服务接口、Json和Surfer格式文件下载接口等多个数据访问接口。

3.2 接口调用方法

接口调用可以通过调用http请求方式[7-9]嵌入应用程序,实际的调用过程与此类似,程序调用的过程如下:

其中,InterfaceURL iu=new InterfaceURL("ip:端口号",InterfaceURL.DATA_LIST);用于指定开启了Web Service服务的机器,以及所需调用的接口,接口可参照Interface URL类中的定义。InterfaceURL.addParameter()方法用于添加请求URL的参数[10]。通过Interface URL.toString()方法可以获取完整的请求URL。

4 平台业务应用

4.1 平台实现

基于Hadoop技术在多台X86架构服务器[11]上构建了系统试验应用平台,系统实现时在现有多个HDFS Name Node HA的解决方案选取了能自动双向失效切换的HA方案,针对气象业务的实际特点[12]设计实现了主节点(NameNode)的自动双向失效切换,系统通过Zookeeper技术实现故障切换,从而解决了Hadoop技术体系中主节点单点故障问题,实现了平台的可靠性、动态可扩展以及安全一体化等特点,实际模拟试验时,将主节点的进程终止,系统能够正常切换,测试时切换时间未超过2 min。经过近1年的业务试运行结果表明平台稳定可靠;基于Rest Web Service实现了数据服务接口的可靠访问,接口的各方面性能指标基本满足气象业务实际需求。

4.2 平台业务应用测试

4.2.1 测试硬件环境说明

试验测试环境由型号为X3650的X86架构的服务器组成,服务器的具体配置:CPU为Xeon E5-2603 1.8 GHz,内存容量为4 GB,每台服务器配4块硬盘,硬盘参数为1 TB 7.2 K 6 Gbps NL SATA 3.5"G2HS HDD,网络环境为千兆局域网。

4.2.2 测试对象和方法

业务试验测试以华南区域逐时循环同化分析与精细模式预报系统(CHAF)为测试对象,CHAF产品基本信息lon Num为309,lat Num为267,level为1。每层的网格点位309×267=82503。每个网格点4字节存储,每层数据量约为330 KB。通过Rest Web Service获取数据。

4.2.3 数据接入性能测试

以CHAF产品为测试对象,每轮进行3次测试,然后取平均值,分别测试数据接入处理模块处理100,200,…,1000个要素场数据所花费的平均时间,测试结果如图3所示,写入1000个具有82503个格点的数值预报产品数据仅耗时12 s,完全满足业务实际需求。

4.2.4 数据接口读取测试

以CHAF产品为测试对象,每轮进行3次测试,然后取平均值,分别测试通过接口读取100,200,…,1000个要素场数据所花费的平均时间[13],测试结果如图4所示。数据读取性能随着数据量的增加缓慢上升,读取1000个具有82503个格点的数值预报产品数据仅耗时4 s。

4.2.5 平台扩展性能测试

平台扩展性能测试以华南区域逐时循环同化分析与精细模式预报系统(CHAF)为测试对象。分别测试节点数不同情况下读取200个要素场数据的读取性能,其中每个要素场的数据为330 KB。测试每次为集群静态增加2个节点,每个节点的物理存储空间为4 TB,修改集群主节点的配置文件后重新启动集群,待整个平台数据自动再平衡[13]后进行读取测试。测试结果表明:随着平台节点数量的增加,数据读取性能总体平稳略优。测试结果如图5所示。

图3 数据接入性能测试结果Fig.3 Results of access performance of data

图4 数据接口读取性能测试结果Fig.4 Results of reading performance of data interface

图5 平台扩展性能测试结果Fig.5 Results of performance of platform extension

5 小 结

本文对基于Hadoop技术体系的数值预报产品服务平台的总体功能、关键技术及其在实际业务中的实例应用进行了详细阐述,该平台能够快速收集各数值预报中心分发的数值预报产品并实现快速的数据解码和数据接入,同时对诸如数值预报产品等非结构化气象数据实现分布式的存储和处理,基于Rest Web Service开发的业务应用接口能够高效对接气象业务系统。实际业务测试表明:

1)基于Hadoop技术体系搭建的平台具有较好的系统稳定性和扩展性,可根据实际业务需求对系统进行动态在线扩展。

2)平台能够高效处理诸如数值预报产品等非结构化气象数据,Hadoop与HBase技术组合是非结构化气象数据分析和处理技术的重要发展方向。

随着平台在气象业务中的推广应用,该平台将在气象业务现代化和一体化建设中发挥重要作用。当然,目前平台仍需要在实际应用中逐步优化,包括平台的可视化管理开发、可接入资料种类的扩展并进一步简化数据服务接口等[14-16]。另外,实时计算概念和技术的引入也是未来重要的研究方向。

[1] 李集明,沈文海,王国复.气象信息共享平台及其关键技术研究.应用气象学报,2006,17(5):621-622.

[2] 王伯民,李集明,吴增祥.我国气象科学数据发布策略初步研究.应用气象学报,2004,15(增刊I):153-154.

[3] 宋连春,肖风劲,李威.我国现代化气候业务现状及未来发展趋势.应用气象学报,2013,24(5):513-520.

[4] Randriamampianina R.Radiance-bias correction for a limited area model.Quarterly Journal of the Hungarian Meteorological Service,2005(3):636.

[5] 王萍,刘颖,王汉芝,等.基于格点场数据的沙尘暴双预报模型.天津大学学报,2006,3(25):329-330.

[6] 吴焕萍,张永强,孙家民,等.气候信息交互显示与分析平台(CIPAS)设计与实现.应用气象学报,2013,24(5):631-640.

[7] 王涵,李玲,孙学庆,等.CMACast内蒙古气象信息 Web平台的设计与实现.气象科技,2014,42(2):283-286.

[8] Aguilera M K,Merchant A,Shah M,et al.Sinfonia:A New Paradigm for Building Scalable Distributed Systems.Proc of the 21st ACM Symp on Operating Systems Princi-ples,2007:159-174.

[9] 杨锋,吴华瑞,朱华瑞,等.基于Hadoop的海量农业数据资源管理平台.计算机工程,2011,37(12):243-244.

[10] 林春泽,智协飞,韩艳,等.基于TIGGE资料的地面气温多模式超级集合预报.应用气象学报,2009,20(6):706-712.

[11] 王彬,肖文名,李永生,等.华南区域中心计算资源管理系统的建立与应用.气象,2011,37(6):764-770.

[12] 王彬,常飚,朱江,等.气象计算网格平台资源监视模块的设计与实现.应用气象学报,2009,20(5):642-648.

[13] 于重重,商利利,谭励,等.半监督学习在不平衡样本集分类中的应用研究.计算机应用研究,2013,30(4):1085-1089.

[14] Ma T,Hempel M,Peng D M,et al.A survey of energy-efficient compression and communication techniques for multimedia in resource constrained systems.IEEE Communications Surveys&Tutorials,2012,14:1-10.

[15] 应毅,任凯,曹阳.基于改进的Map Reduce模型的 Web挖掘.科学技术与工程,2013,5:78-80.

[16] 任结,周余,于耀,等.基于ORB自然特征的AR实时系统实现.计算机应用研究,2012,29(9):3594-3596.

Design and Implementation of NWP Data Service Platform Based on Hadoop Framework

Li Yongsheng Zeng Qin Xu Meihong Shi Xiaoying
(Guangdong Provincial Meteorological Information Center,Guangzhou510080)

As the numerical weather prediction(NWP)products increase in huge amounts every day,traditional relational database has the problem of low efficiency in archiving capacity and management,while file based storage faces performance challenges in long-time-series data accessing and massive computation of spatial-temporal data.Therefore,a three-tier software framework is designed,which implements distributed data storage model,parallel data access service and distributed computation for frequently used statistical algorithms based on Hadoop framework.

Meteorological big data such as NWP products,radar 3D mosaic and satellite remote sensing are designed to be composed of metadata and data entity,which both are stored in Hbase data tables,and managed with HDFS file system.Metadata are defined by variable name,dimension,latitude,longitude,altitude and lead time etc.,and data entity consists of row key,time stamp and column family to store the value at each grid point.A Rest(representational state transfer)Web Service is setup for direct NWP data acquisition,field data clipping and location based time-series accessing.File download services in“MICAPS”,“surfer”and“json”format are also ready for the third-party meteorological software.System testing for data access of CHAF model shows that it costs only 12 seconds to write in 1000 NWP data fields each with 82503 grid points,and less than 4 seconds to read out the same amount of data from the distributed databases.

Map-reduce scheme are implemented for computation of meteorological algorithms,e.g.,Kalman filter and successive regression.Most of meteorological statistical algorithms are time independent,which make it possible that a task is divided into small sub-tasks according to data slicing on time series,and assigned to different computational nodes in map programs.Reduce programs are to gather and summarize the result of sub-task computation.With data amount and users increasing,Hadoop framework deployed on several X86 PC servers demonstrates performance advantage over single IBM power system.And flexible hardware architecture from 3 computational nodes to 9 nodes show steady and better data access efficiency with good speed-up ratio,which brings more confidence for practical use in weather forecast.

Operational trial in multi-user environment further shows advantages of this cloud-like computing service over the traditional client-server model in meteorological data mining,such as NWP interpretation and model evaluation.

Hadoop framework;meteorological data;Web Service interface

李永生,曾沁,徐美红,等.基于Hadoop的数值预报产品服务平台设计与实现.应用气象学报,2015,26(1):122-128.

10.11898/1001-7313.20150113

2014-05-19收到,2014-09-28收到再改稿。

广州市科技计划项目(2012Y2-00031,2013Y2-00053,2013Y2-00074),公益性行业(气象)科研专项(GYHY201106009),广东省气象局重点项目(2012A01)

*email:lynne5101@163.com

猜你喜欢
数据表分布式气象
气象树
《内蒙古气象》征稿简则
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
基于列控工程数据表建立线路拓扑关系的研究
大国气象
美丽的气象奇观
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
基于DDS的分布式三维协同仿真研究