在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
随着数据体积的越来越大,实时处理成为了许多机构需要面对的首要挑战,而Storm让大数据分析变得轻松加愉快。今天,小编和大家分享大数据面试题之Storm实时看板案例。
1、需求分析
平台在活动促销日(例如双 11)要求实时展示当日的一些销售信息我们从三个维度去统计计算:
平台运维角度统计指标: 平台总销售额、平台下单人数、平台商品销售数量。
商品销售角度统计指标: 每个商品总销售额、每个商品购买人数、每个商品销售数量。
店铺销售角度统计指标: 每个店铺总销售额、每个店铺购买人数、每个店铺销售数量。
2、确定数据源
数据源:订单系统与支付系统产生的数据。
3、确定采集方案
订单系统和支付系统产生的数据 通过 ActiveMQ 到 kafka 中,Storm 集成kafka 获取数据。(注:为什么用 ActiveMQ?一方面,电商业务系统当中需要用到事务支持,只能用比较严谨的 jms 系统来实现,所以考虑到用 ActiveMQ。另一方面,kafka 直接读取数据库,会影响数据库速度。所以订单系统的数据通过 ActiveMQ 这个中间件来落地到数据库,kafka从ActiveMQ 中间件中取数据,就可以避免直接读数据库的问题。)
4、确定存储
我们将 Storm 处理后的数据,通过 Redis 来累加计数并存储在 Redis 中。
5、数据计算
编写 Storm 代码:Storm 与 kafka 整合来获取到数据,将每一条数据信息,利用 Redis 中 incrBy 这个命令来累加计数并存储在 Redis 中。
6、展现
可以写一个定时器,定时的去 Redis 中获取结果数据,展示到 web 界面上。
7、storm 日志监控告警系统
8、需求分析
实现项目中日志监控的功能,需要做到日志监控实时告警,例如系统中出现任何异常,触发任何的告警规则,都可以实时通过短信或者邮件告知相关系统负责人。
9、确定数据源
每个业务系统(如: 订单系统,商品管理系统,用户系统)产生的日志信息。
10、确定采集方案
将日志数据 通过 flume 采集到 kafka 中,Storm 集成 kafka 获取数据。
11、确定存储
将触发告警规则的数据,存储在 MySQL 数据库中。
12、数据计算
·通过自定义flume 拦截器,给不同系统产生的日志数据前加上一个appId 来做唯一标识(不同系统对应的告警规则和负责人不同,所以这里要加一个唯一标识方便我们查找对应的规则和负责人)。
·Storm 代码编写步骤:
(1)、获取 kafka 中的数据。
(2)、设置定时器,定时读取在 MySQL 数据库中的告警规则(数据库中的告警规则我们可以随时去修改,所以要采用定时器去读取,保证拿到是最新的规则)。
(3)、将获取到的数据,与告警规则进行匹配,得到匹配成功的告警数据信息。
(4)、将告警信息 以邮件,或者短信 方式发送给对应的负责人(对应人的信息,从 MySQL 数据库中获取)。
(5)、最后将警告信息存储到我们的 MySQL 数据库中(方便以后查询异常记录)。
以上就是小编整理的大数据面试题之Storm实时看板案例,大家都弄明白了吗?
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
大数据应用技术的发展方向分析
如今,大数据的应用对企业公司以及个人都产生了深远影响,本文就来预测一下大数据应用技术的发展方向。可以预见的是,数据资产管理、数据资产管理、AI驱动的数据基础设施、面向AI的分布式计算框架和数据安全这些都将成为大数据应用技术的发展方向。对大数据应用技术感兴趣的小伙伴,可以接着往下看小编的的详细分析。
5837
2019-10-29 17:24:18
大数据笔记之分布式文件存储系统
现在是大数据的时代,也是数据爆炸的时代,如何处理大数据的存储成为了摆在人们面前的难题,因此分布式文件存储系统应用而生。同时分布式文件存储系统在大数据面试中,也是一个常常可以见到的考点之一。本文为大家梳理了相关的大数据知识点,感兴趣的小伙伴可以看一看。
5623
2019-11-05 16:26:09
Kylin开发教程为什么要学习Kylin?
大数据时代为互联网创造了更多的可能与机会。面对更多的就业岗位、更高的就业薪资、更具有创造性的工作内容,很多在职人群选择进一步学习,把握好数据时代为我们带来的重大机遇。然而优质课程资源稀缺,想要学习却找到好的途径成为大家面临的难题。今天博学谷小编就针对Kylin操作系统的技能提升为大家介绍一门《基于Kylin搞定千亿级电信数据分析》课程。
5062
2019-11-07 15:52:50
Kylin开发教程 从原理讲解到实践演练
众所周知,Kylin是一个可扩展的超快OLAP引擎,它能够提供Hadoop ANSI SQL借口和交互式查询,还可以和BI工具无缝整合,为百亿用户构建立方体。既然学习Kylin这么有必要,那么我们该如何学习它呢?这里为大家介绍博学谷的Kylin开发教程,本教程将会对Kylin进行系统化梳理,包括了Kylin的技术架构、运维不熟、增量构建、实时构建、性能优化等内容,带领大家从原理讲解到实战演练。
4575
2019-11-25 12:22:09
学大数据一定要会Java开发吗?
学大数据必学Java,当前大数据领域的岗位主要集中在开发、分析、运维三大领域,其中大数据开发对于Java语言的依赖程度比较高,如果从事大数据开发岗学习Java语言很有必要。
3767
2021-03-29 18:15:02