基于 Hadoop的校车调度研究
上海应用技术大学信息化技术中心,上海 201418
【摘要】论文提出基于Hadoop云设计适用于交通海量数据场景的大数据平台,设计基于HDFS和HBase分布式存储交通大数据,设计基于结构化数据和数据库接口API的数据接入标准,设计基于NHbase的预处理数据采集模块,设计基于MapReduce和Hive的分布式计算模型分析交通数据。论文最后应用本校校车数据对本平台的可靠性和有效性进行实验与分析,验证本平台不仅能够很好的处理本校校车调度问题,并且能够通过扩展适应更高更大的交通数据要求。
In this paper, a big data platform based on Hadoop cloud is proposed, which is suitable for traffic massive data scenarios. The distributed storage of traffic big data is designed based on HDFS and HBase. The data access standard based on structured data and database interface API is designed. The preprocessing data collection module based on nhbase is designed. The distributed computing model based on MapReduce and hive is designed to analyze traffic data. In the end of the paper, the reliability and effectiveness of the platform are tested and analyzed by using the school bus data, which proves that the platform can not only deal with the school bus scheduling problem well, but also adapt to the higher and larger traffic data requirements through expansion.
【关键词】HDFS;Hadoop;MapReduce;交通大数据;校车调度
HDFS; Hadoop; MapReduce; transportation big data; school bus scheduling
1 引言
公安部2014年报告称全国机动车辆已经超过了2.5亿辆[1]。全国有31个城市已经超过了100万辆机动车保有量,其中8个大城市中机动车保有量超过200万辆。《中长期铁路网规划》[2]。2015年8月18号,上海政府首次公开交通大数据,只是公开了一小部分的清洗后的数据,数据量已经达到几千GB,提供给社会高校和研究机构对交通大数据进行研究,解决现在的交通拥堵现状。
2 Hadoop的发展现状及基于大数据的智能交通研究现状
Hadoop相对于传统服务器存储和传统型数据库分析有很多优点[3]。第一,Hadoop是apache旗下的顶级开源项目,面向用户完全免费,而且,Hadoop对于硬件的要求并不高,只要能够运行linux系统的设备都可以安装Hadoop框架,对于公司的使用成本大大降低[4]。第二,Hadoop使用非常灵活,不仅能够处理结构化数据,对于非结构化数据支持也非常好,并且能够很容易的处理GB、TB、PB以上的数据[5]。以前只能使用单机处理相同数据需要花费几小时或者几天,现在使用Hadoop集群分布式计算只需要几小时或者几十分钟即可完成,而且开发者可以根据自己的需求编写MapReduce程序,并且设置启用更多的map节点和reduce节点,以达到更快速处理数据的要求,通过调用多个节点或几十个节点的cpu和内存进行计算,理论上说,通过增加节点数量,可以处理任意大的数据。
现在高校每年招生超过700万人,国内本科高校超过500所,加上专科职业技术院校,超过了1000所,而且,学校的选址大部分都建设在偏远郊区,给高校师生的出行带来了很大的不便,各个院校都开设了几条至几十条的线路校车进行运送师生。然而,每条路线的载客率和路径选择都会带来很大的挑战,普遍存在这空载和绕路的现状,所以近十年,对于高校校车的调度也是学者研究的一个方向。
3 Hadoop云的校车数据分析研究与实现
本文基于Hadoop研究校车数据并提出适用于交通海量数据场景的大数据平台。此平台主要分为三个模块,校车数据采集模块、校车数据预处理模块、校车数据分析模块。其中数据采集模块分为接入(包括元数据定义)、认证、验证、存储四个过程来完成校车数据采集;数据预处理模块分为数据清洗、数据格式化(增加字段和消除无效字符);数据分析模块分为简单视图分析、复杂视图分析、自定义视图分析及MapReduce自定义算法分析四种方式。校车分析调度平台整体架构设计如图1所示。
图1 基于Hadoop的校车分析调度平台整体架构图
校车数据采集模块,采集存储与校车管理系统后台数据库中关于用户刷卡时间,用户名,用户卡号,刷卡机编号,车次编号等信息。校车数据采集的方式采用DataCrawlers.WinService的方式定时抓取数据库中的数据到Hadoop集群中,数据从数据库中抓取过来的是原始数据,不进行数据清洗、数据过滤和数据处理。
校车数据预处理模块,设计数据清洗算法,对于存放在Hadoop中的数据进行过滤和处理,按照Hive需要的格式,拆分校车元数据,拆分为日期(年月日),时间(时分秒),刷卡人姓名,刷卡人编号,刷卡机编号,开学第几周,星期几。将最后分析出来的数据重新写入到Hive表中。
校车数据分析,将预处理后的数据进行统计分析,分析每天的数据乘客总数,设计编写时间检测函数分析工作日的每个时间段的乘客数量,设计编写日期函数自动识别日期周几,从而分析出周一到周五的乘坐结果。
校车调度研究,调用美国气象局的天气查询API,取出每天的数据进行解析出每天的温度,下雨参数,雾的参数,雪的参数,雷的参数,龙卷风参数等,研究这些参数和每天乘车总人数的相关性,建立预测模型,预测每天的乘客数量进而对校车进行调度。
4 结语
论文提出基于Hadoop云设计适用于交通海量数据场景的大数据系统,设计基于HDFS和HBase分布式存储交通大数据,设计基于结构化数据和数据库接口API的数据接入标准,设计基于NHbase的预处理数据采集模块,设计基于MapReduce和Hive的分布式计算模型分析交通数据。论文最后应用本校校车数据对本平台的可靠性和有效性进行实验与分析,验证本平台不仅能够很好的处理本校校车调度问题,并且能够通过扩展适应更高更大的交通数据要求。
参考文献
[1]廖飞.基于Hadoop的城市道路交通流量数据分布式存储与挖掘分析研究[J].公路与汽运.2014(5):82-86.
[2]余超,王坚,凌卫青.基于Hadoop的海量交通数据混合存储查询系统设计与实现[J].计算机应用技术.2016,01(2):20.
[3]崔林山,卢梦奇.基于Hadoop集群的公安交通信息云共享技术应用研究[J].智能交通.2016,01(15).
[4]吴淑跃. Hadoop下MapReduce参数配置与连接查询算法研究与设计[D].江苏大学,2014.
[5]刘永增.基于Hadoop/Hive的海量web日志处理系统的设计与实现[D].大连理工大 学,2011.