码迷,mamicode.com
首页 > 数据库 > 详细

基于storm,kafka,mysql的实时统计系统

时间:2016-12-02 01:09:35      阅读:308      评论:0      收藏:0      [点我收藏+]

标签:上传   sql   nbsp   caller   估算   timestamp   com   sql语句   统计   

技术分享

公司对客户开放多个系统,运营人员想要了解客户使用各个系统的情况,在此之前,数据平台团队已经建设好了统一的Kafka消息通道。

为了保证架构能够满足业务可能的扩张后的性能要求,选用storm来处理各个应用系统上传到kafka中的埋点数据并在Mysql中汇聚。

埋点数据上报的格式为json,会上报类似如下的数据 

{
    "account": "001",
    "accountName": "旺财宝",
    "subaccount": "001",
    "subaccountName": "caller001",
    "timestamp": 1474625187000,
    "eventType": "phone",
    "eventTags": [
        {
            "name": "incoming",
            "value": 1
        },
        {
            "name": "missed",
            "value": 1
        },
        {
            "name": "edited",
            "value": 1
        }
    ]
}

最终通过Storm,在Mysql中汇聚成如下格式 

account account_name subaccount subaccount_name event_type event_tag start_time end_time count
001 旺财宝     phone incoming 2016/9/23 18:00:00 2016/9/23 18:59:59 53
001 旺财宝     phone missed 2016/9/23 18:00:00 2016/9/23 18:59:59 53

 

 

 

 

通过web包装sql语句来作各个业务场景的查询:如某账号一段时间内某事件发生的次数,所有账号一段时间的各个事件发生的次数,或者某事件高发的时间段等等。

之前考虑了最终结果存到哪里:有这样几个待选,Redis,HBase,MongoDB,Mysql。经过估算发现一年的数据量可能不到一千万,在这个数量级,Mysql可以横着走了。

基于storm,kafka,mysql的实时统计系统

标签:上传   sql   nbsp   caller   估算   timestamp   com   sql语句   统计   

原文地址:http://www.cnblogs.com/arli/p/6123539.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!