周一至周五
9:00—22:00
    
      联系电话:400-037-0800

基于Hadoop平台的交通数据处理系统设计与实现

杂志之家论文发表、写作服务和杂志订阅支持对公帐户付款!安全又可靠!


申明:本网站内容仅用于学术交流,如有侵犯您的权益,请及时告知我们,本站将立即删除有关内容。

 

  摘要:随着城市的发展,传统方式存储与处理不断增多的交通数据暴露出诸多问题。为此,设计并实现了一套基于Hadoop的交通数据存储和处理平台。该平台采用HBase数据库存储数据,Mapreduce实现数据并行处理,Web端展示数据。实验结果证实,该平台在数据存取和数据处理性能方面都优于传统处理方式。
中国论文网 /8/view-11300007.htm
  关键词关键词:交通数据;Hadoop;HBase;MapReduce;并行处理
  中图分类号:TP319 文献标识码:A 文章编号:1672-7800(2016)004-0124-02
  0引言
  随着智能交通城市建设的发展,各种无线设备、导航定位设备产生了海量的交通数据,这些数据具有复杂、多样、动态变化的特性,存在采集和存储标准缺乏以及规范问题[1-2]。如何存储和分析海量的交通数据,使这些数据得到高效利用,为城市交通管理提供数据支持,是智能交通城市建设的重要组成部分。
  传统的大规模数据处理大多采用高性能计算,需要投入较大的资金和时间成本,Hadoop技术的发展在大数据存储和处理上提供了很好的解决方案[3]。HDFS分布式文件系统、MapReduce编程模型、Hive和HBase数据库是Hadoop的关键技术,采用Hadoop技术能够在廉价的硬件设备上以更低的运行成本完成大规模的数据处理[4-5]。本文利用Hadoop集群技术,对龙口市的城市公交车交通数据进行了高效处理并存储到HBase分布式数据中,设计并实现了一个高效实用的城市交通数据存储处理平台。
  1Hadoop
  ApacheHadoop是一款支持数据密集型分布式应用的开源软件框架,支持在大型集群上运行的应用程序,为应用提供可靠性和数据移动,提供稳定的共享存储和分析系统,其核心功能包括文件系统HDFS(HadoopDistributedFilesystem)和MapReduce软件架构。HDFS提供高吞吐量的数据访问,非常适合在大规模数据集上应用,MapReduce用于大规模数据集的并行运算;HDFS提供存储支持,MapReduce提供数据分析支持。
  ApacheHive是基于Hadoop提供数据概要、查询和分析的数据仓库基础架构。Hive定义了简单的类SQL查询语言,简称HQL,它允许用户通过HQL进行数据查询,可以直接使用存储在Hadoop文件系统中的数据。将HQL语句通过解释器转换为MapReduce作业提交到Hadoop集群上,Hadoop监控作业执行过程,然后返回作业执行结果给用户。Hive的最佳使用场合是大数据集的批处理作业。
  HBase是Apache组织开发的基于Hadoop的数据查询系统,目标是存储并处理大型数据,能够对大型数据提供实时的读写访问,是Google的bigtable开源实现,是一个高可靠性、高性能、可伸缩的分布式存储系统,具有较好的负载均衡控制及容错性能。
  2系统结构及功能
  城市交通数据存储处理平台可收集多个来源的交通数据并进行处理,完成数据展示。平台由数据存储、数据处理、数据展示3层组成,其架构如图1所示。
  2.1数据存储层
  数据存储层主要用来存储公交浮动车定位器发送的实时定位数据,以及公交卡的刷卡信息及其它有效数据。该层分数据预处理、数据缓存区、数据写入和存储3部分。
  数据预处理模块。实现对各种不同来源的交通数据进行规范化处理,以保证数据的有效性。GPS实时定位数据是进行分析的关键数据。由于数据的发送端设备和载体差异,数据格式会存在一定的差异,需要对接收的数据统一格式。数据格式包括经纬度、瞬时速度、方向、时间戳等主要信息。公交卡数据格式包括卡号、刷卡时间、车次名称、区间站号等数据信息。预处理模块对不符合规范的数据直接排除。
  数据缓存区。GPS客户端由于通信成本以及实际需求,一般以30s-60s为周期发送一次实时数据。为了提高海量数据的批量写入速度,考虑磁盘读写吞吐率的限制,该层主要用来缓存数据,以时间戳为标记,满1h进行一次数据缓冲,即根据时间戳的标记将1h内的数据写入到下一层,并重新开始新的缓冲。
  数据写入和存储。该模块接受缓冲区发送来的数据,以时间戳为标准,自动生成HBase插入数据脚本,以脚本命令执行,写入分布式数据库HBase中,数据库根据时间戳以天为单位建表。当天写入的数据直接追加到当天的表中。
  2.2数据处理层
  由于公交车GPS设备发送的位置信息存在偏移误差,而且与本地路网的坐标体系不一致,所以需要对这些信息进行坐标转换,然后匹配地图。数据处理层主要负责HBase中数据的处理,然后将结果存储到HBase中。
  对大规模定位数据进行道路匹配计算。首先设置MapReduce作业的输入输出路径,通过主函数启动该作业,作业启动成功后执行Map任务。在Map任务准备阶段,从mysql数据库中读取路段数据保存在内存中。Map通过接收键值对,对值中数据按时间、经度、纬度、速度、方向的格式解析,通过调用这些值,采用逐级网格索引匹配法进行匹配,得到匹配结果。处理方法及步骤如下:
  (1)Map:读取公交车位置信息数据。解析位置信息数据,获取公交车ID、经度、纬度、速度值、方向和时间属性值,对应格式输出。
  (2)Reduce:获取Map输出信息。采用路网坐标体系的转换公式,完成坐标体系转换;
  利用地图匹配技术进行坐标匹配,得到精确的匹配信息即匹配后的经纬度坐标;
  输出公交车ID、经纬度、速度、方向、时间和匹配后的经纬度坐标值。
  2.3数据展示层
  数据展示层主要负责将后台处理的数据进行可视化展示,主要技术采用Echarts开源框架。数据可视化技术将数据转换成便于理解和吸收的图表结构,增加了信息印象,Echarts基于Canvas元素,使用Javascript脚本语言编写可视化图表库,拥有动态的数据接口。通过Echarts提供的数据接口,对系统数据进行可视化操作。通过HBase提供的javaapi访问数据库,使用Echarts提供的数据接口进行定制化展示。
  3实验验证
  本系统实验环境为hadoop2.7.1,centos7,java1.8,系统由一个master节点和2个slave节点构成,所有的节点硬件为8G内存和100G硬盘构成。本实验采用龙口市30辆公交车1年的信息数据,接近2亿条。
  在相同的环境配置上,对比本系统和在SQLserver2008R2数据库系统查询时间。实验结果表明,在数据量不大时,平台的查询效率小于SQLserver数据库,但在数据量变大时,本平台的读取优势就显现出来。对比数据如图2所示。
  实验中采取2011年1月2号一天的数据,共453577条记录,将这些数据作为平台并行处理的实验数据,依次执行坐标系转换和地图匹配运算,统计在不同计算单元数下的计算时间,反映平台采用Mapreduce处理方式的并行性能,实验结果如表1所示。
  4结语
  本文针对大规模公交车数据在存储和处理性能方面的要求,提出了一种基于Hadoop技术的公交车数据存储和处理方案,并在数据读取性能和处理效率上与传统方式作了对比,实验结果证明该方案可行,优势明显。

转载请注明来源。原文地址:https://www.xzbu.com/8/view-11300007.htm


 
中国论文网—— 论文代发/ 行业知名品牌 电话:400-675-1600
中国互联网违法和不良信息举报中心| 网络110上海网警在线|关于我们|闽ICP备13016544号-6
【xzbu】郑重声明:本网站资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们删除已转载的信息。
xzbu发布此信息目的在于传播更多信息,与本网站立场无关。xzbu不保证该信息(包括但不限于文字、数据及图表)准确性、真实性、完整性等。