基于大数据的秒级查询实现

摘 要:传统的关系型数据库,在单表中数据量达到上千万时,不论怎么优化,查询速度都难令人满意,用分布式并行处理的大数据环境来处理数据读写速度问题,用分布式存储数据库提高表中数据检索速度,在性能上会有比较显著的提升。

毕业论文网 /2/view—12008541.htm  关键词:大数据分布式;Hadoop;并行运算   一、背景和目的   随着社会逐步步入信息时代,各行各业的信息化建设都进行跨越性的发展,各类型数据呈现爆炸式增长。

国际数据公司IDC2011年发布的Digital Universe Study,全球信息总量每两年就会增长一倍,在2011年,全球被创建和被复制的数据总量为1.8ZB(1.8万亿GB),预计到2020年这一数值将增长到35ZB。

数据量每上升一个数量级,就会要求IT具备相应的高效率处理能力(包括存储、运算、查询、展现及成本等),大数据Hadoop系统为提升IT的数据处理能力在效率及性能方面提供了较好的支持。

Hadoop系统基础的组件包括了HDFS、MapReduce和HBase,HDFS为海量的数据提供了存储,而MapReduce为海量的数据提供了计算,HBase则提供高可靠性、高性能、面向列、可伸缩的分布式大规模结构化存储集群

HDFS采用分布式技术和低成本存储设备解决了对全类型数据(结构化、半结构化、非结构化)的存储查询,MapReduce是并行处理大数据集的软件框架,使大数据集能在分布式环境下进行并行运算,HBase是一个分布式、面向列的适合于非结构化数据存储数据库,可通过HBase中数据表的rowkey实现快速检索查询

二、实例系统环境搭建   运行环境需搭建一个最基础的Hadoop系统运行环境,实验环境安装步骤:(1)软件系统环境准备,安装操作系统、网络配置能相互ping通,按照Hostname定义服务器名称,并在   /etc/hosts中增加集群中3台服务器的名称和ip;(2)安装jdk,配置jdk运行环境,需要在集群中的三台服务器上都安装;(3)创建Hadoop运行账户;(4)在3台服务器之间配置SSH无密码登录;(5) 安装配置Hadoop;1) 用Hadoop运行账户解压安装文件;2)用root用户在/etc/profile中配置Hadoop运行环境变量,需要在集群中的三台服务器上都配置修改;3)修改Hadoop运行配置文件core—site.xml、hdfs—site.xml、yarn—site.xml和slaves文件;4) 同步/etc/hosts、/etc/profile和Hadoop运行配置文件core—site.xml、hdfs—site.xml、yarn—site.xml;5) 启动   Hadoop并检查Master和Slave的进程,并验证集群是否可用。

(6)安装配置HBase。

三、设计及实现   本次实现中利用交通运营车辆的GPS定位信息数据数据文件大小约300G,记录总条数约20亿条,数据中包括车辆基本信息(车牌号、车牌颜色、车辆归属行业、车辆归属省市等)和车辆定位信息(定位时间、经度、纬度、车辆状态等)。

1、HBase数据表设计原则:1) 建表时按照车辆归属省市划分region(提升数据读写性能);2) 数据表中rowkey定义为:车牌号_车牌颜色_定位时间;3) 车辆基本信息和车辆定位信息都放在一个family(列簇),字段信息可自动扩展。

参考建表脚本:create ‘gpsinfo‘, {NAME => ‘vehicle‘, COMPRESSION =>   ‘SNAPPY‘},   {SPLITS => [‘京‘,‘吉‘,‘辽‘,‘蒙‘,‘晋‘,‘冀‘,‘津‘,‘新‘,‘宁‘,‘青‘,‘甘‘,‘陕‘,‘藏‘,‘云‘,‘贵‘,‘川‘,‘渝‘,‘琼‘,‘桂‘,‘粤‘,‘湘‘,‘鄂‘,‘皖‘,‘鲁‘,‘赣‘,‘闽‘,‘豫‘,‘浙‘,‘苏‘,‘沪‘,‘黑‘]}。

2、本实现中数据处理流程如下描述:1) 从数据源(离线文件)中读取数据,并进行初步清洗写入HDFS中(生成rowkey);   2)编写MapReduce程序将清洗后HDFS文件生成HBase的   HFile文件;3) 通过BulkLoad方式将MapReduce生成的HFile加载到HBase中;4)HBase中表数据保存在HDFS上;5) 通过   HBase的api提供对外的快速查询接口。

四、实例运行结果   在通过发布出去的接口调用后,数据查询反馈速度达到了秒级(内网在2秒内),利用传统的设计实现模式会远远大于这个时间,所以大数据查询必将是未来发展的趋势。

参考文献:   [1] 董西成,蔡斌,陈湘萍(著)《hadoop技术内幕》机械工业出版社2013—05—01   [2] 作者:(英)Garry Turkington译者:张治起《Hadoop基础教程》人民邮电出版社2014—01—01。

4 次访问