公司对客户开放多个系统,运营人员想要了解客户使用各个系统的情况,在此之前,数据平台团队已经建设好了统一的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实战:基于storm,kafka,mysql的实时统计系统的更多相关文章

  1. 六、Kafka 用户日志上报实时统计之分析与设计

    一.项目整体概述 简述项目的背景 背景:用户行迹企业运营 分析项目的目的 通过对项目的分析,可以初步得到以下目的: •实时掌握用户动态 •根据实时统计结果,适度推广 •统计分析效果,快速合理的调整 二 ...

  2. 七、Kafka 用户日志上报实时统计之编码实践

    一.数据生产实现 1.配置数据生产模块 项目基础配置所包含的内容,如下所示: •项目工程的文件配置 •集群连接信息配置 •开发演示 2.实现 Flume 到 Kafka 模块 实现 Flume 到 K ...

  3. 五、Kafka 用户日志上报实时统计之 应用概述

    一.kafka 回顾 1.简介 Kafka 的业务 业务场景: 解除耦合 增加冗余 提高可扩展性 Buffering 异步通信 2.介绍 Kafka 的应用场景 Push Message Websit ...

  4. Storm实战:在云上搭建大规模实时数据流处理系统(Storm+Kafka)

    在大数据时代,数据规模变得越来越大.由于数据的增长速度和非结构化的特性,常用的软硬件工具已无法在用户可容忍的时间内对数据进行采集.管理和处理.本文主要介绍如何在阿里云上使用Kafka和Storm搭建大 ...

  5. [转]基于Storm的实时数据处理方案

    1 文档说明 该文档描述的是以storm为主体的实时处理架构,该架构包括了数据收集部分,实时处理部分,及数据落地部分. 关于不同部分的技术选型与业务需求及个人对相关技术的熟悉度有关,会一一进行分析. ...

  6. 《storm实战-构建大数据实时计算读书笔记》

    自己的思考: 1.接收任务到任务的分发和协调   nimbus.supervisor.zookeeper 2.高容错性                            各个组件都是无状态的,状态 ...

  7. Storm 实战:构建大数据实时计算

    Storm 实战:构建大数据实时计算(阿里巴巴集团技术丛书,大数据丛书.大型互联网公司大数据实时处理干货分享!来自淘宝一线技术团队的丰富实践,快速掌握Storm技术精髓!) 阿里巴巴集团数据平台事业部 ...

  8. Kafka实战-Storm Cluster

    1.概述 在<Kafka实战-实时日志统计流程>一文中,谈到了Storm的相关问题,在完成实时日志统计时,我们需要用到Storm去消费Kafka Cluster中的数据,所以,这里我单独给 ...

  9. 基于Flume+Kafka+ Elasticsearch+Storm的海量日志实时分析平台(转)

    0背景介绍 随着机器个数的增加.各种服务.各种组件的扩容.开发人员的递增,日志的运维问题是日渐尖锐.通常,日志都是存储在服务运行的本地机器上,使用脚本来管理,一般非压缩日志保留最近三天,压缩保留最近1 ...

随机推荐

  1. 【Java每日一题】20161118

    package Nov2016; public class Ques1118 { public static final int NUM = 10000000; public static void ...

  2. 【Java每日一题】20161107

    package Nov2016; import java.util.List; public class Ques1107 { public static void main(String[] arg ...

  3. How to Access MySQL with Python Version 3.4

    http://askubuntu.com/questions/630728/how-to-access-mysql-with-python-version-3-4 How to Access MySQ ...

  4. Elasticsearch5.0.1索引压测结果

    说明 以下的所有指标均指的是某台机器的峰值 机器配置 cpu:12 core,32G,ES 分配JVM内存18G3台虚拟机,master.data共用shard:5,replica:1 试验时间:20 ...

  5. textview滑动效果

    网上很多在xml中改的我经过试验没用,可能是版本不兼容的原因,但在java代码中改有用head_tv1.setEllipsize(TextUtils.TruncateAt.MARQUEE);head_ ...

  6. eventProxy

    1.功能 解决javascript回调地狱 fs.readFile('./file1.txt', 'utf8', function(err, content1){ fs.readFile('./fil ...

  7. Spring4学习笔记2-配置集合属性

    1 可使用<list> <map> <set>等来配置集合属性 2 List <!-- 配置List属性 --> <bean id="p ...

  8. js从外部获取图片

    图片ping:图片可以从任何URL中加载,所以将img的src设置成其它域的URL,即可以实现简单的跨域,可以使用onload和onerror事件来确定是否接受到了响应 var img=new Ima ...

  9. Oracle EBS Form 发布到Server端的注意事项

    前段时间在本地XP系统上测试了一些整合javabean的Form例子,想着发布到服务器段去看看能否运行正常,一开始以为会和本地XP系统一样,部署到相关的目录下进行一些配置就可以了,但实际过程却和想象的 ...

  10. Grid – 入门必备!简单易懂的响应式设计指南

    如今,人们使用各种各样的移动设备访问网页,设计师们需要去适配不同的屏幕,让用户在都能有最佳的浏览体验.Grid 是一个简单的响应式设计指南,按照这些简单的步骤,你的就能够掌握基础的响应网页设计技巧. ...