大数据的实时处理和离线处理

秀友科技目前基于引擎和接口,为各种用户提供导航和定位服务。通过GPS、传感器获取用户的一些日志,从而实时获取用户的接口调用和访问情况。

跑批量,每隔一小时执行一次的数据处理方式,在一定程度上已不能满足用户需求。现在常用的数据处理方式,可分为实时处理和离线处理。

《大数据的实时处理和离线处理》
《大数据的实时处理和离线处理》

                 数据的分类

一.实时处理:Flume+Kafka+Storm+Mongo

通过Flume进行数据的的采集,将数据推送给Kafka作为数据的缓存层,Storm作为kafka的消费者,从而进行实时的处理。最终,通过Web展示给前端,能够实时统计和分析车辆的在线总数,轨迹点总数,对此可以做一些相关的应用。

《大数据的实时处理和离线处理》
《大数据的实时处理和离线处理》

数据来源:主要是Nginx 服务器获取的GPS数据和MSp数据格式都是JSON。

数据采集:通过Flume的拦截器对日志进行预处理,将数据存储在缓存层kafka。

数据统计:通过Storm实时拉取数据做计算,将临时结果数据存储在Redis。

数据落地:最终的数据存储在Mongo中,定时获取Redis中的数据,存储在Mongo。

Web展示:查询数据库定时更新前端页面,可以查看车辆的一些情况。

二.离线处理:hadoop +hive

Hadoop分布式存储+分布式运算的框架,可以对海量数据进行统计分析,解决单节点极限性。

通过编写MapReduce可以批量统计某个地域的车辆里程情况、道路等级,通过速度判断车型、车辆驾驶情况等,使用Hive做数据仓库,可以统计最近一年或者两年的数据,进行数据的建模和历史数据的统计和分析。

来源:我秀中国

    原文作者:莫非是你
    原文地址: https://zhuanlan.zhihu.com/p/31570118
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞