大数据所在的业务领域,可谓是炙手可热,在实时数据处理领域,近年来,流式处理成为学界和工业界的新热点,并在讨论中逐渐达成共识,数据需求十万火急,不愿等也不能等。我接受邀请在线上直播和大家分享了关于Storm的相关知识。
主要从入门、原理、实战三个方面对Storm进行详细讲述,以下是具体内容。
一. 入门
作为一门主流的技术,Storm拥有非常高的关注度,流式处理与大数据是承接与扩展的关系,大数据是包含流式处理的更大领域。
1.批处理的劣势:时效性太差
以下是两条优化路径:
综合前面两条优化路径和论文实践,我们得出结论,基于Hadoop的批处理框架,要进行时效性地改造,事实上很难达到理想效果。
2.流式处理的优势
在“现在就要”的这种秒即时效性场景里,Storm是一枝独秀。
从上面的两种场景中,我们可以看到,使用流式处理获得的实时数据,能够大幅度地提高推荐的精准度以及用户的满意度。
提炼一下,这就是流式处理的异步场景,当然除此之外,也有同步模式。
综上所述,流式处理给大数据开拓了新的方向,因此不少技术社区有志于推动该方向的发展,这就使得流式处理迎来百花齐放、多种技术一起发展的局面。
3.Storm继往开来
流式处理系统早有渊源。
在时效性要求较高的场景,Storm的地位无可取代。Storm是一个分布式的实时的流式的计算平台,这是它独特的优势,使得Storm完全有别于其它同类的和类似的技术。
二.原理
Storm的由来了解之后,我对数据流组件、架构、编程接口这些原理进行了独家讲授。
1.数据流组件很完备
数据流组件相当于Storm的肢体,我用机场的行李转盘来作类比。
以上六种就是Storm的肢体,除此之外,它也有自己的骨架。
2.Storm架构健壮、高效
它的架构主要分为以下几个层次。
和Hadoop1.0相比较,它们之间很类似,特别是在健壮性上,但这两套技术分别面对的是实时和批量不同的场景,所以是区分度很大,各有优势的两种技术。
除了健壮之外,这套架构也非常高效,让我们来看一看高效的地方。
3.Storm编程接口很清晰
最主要的编程接口有三种:Spout、Bolt、Topology。
三.实战
我们通过入门的环节了解Storm的由来和原理的章节打好基础之后,我进行了实战讲解。同样模拟机场行李转盘,运用前面的知识做实际的编程,进行Hello Airport环境搭建,首先是介绍一个简单的设计。
然后进入编码环节
那这些编码运行起来会是什么样子呢?我们来看一下运行日志。
通过运行日志,我们得出这个设计和实现达到了我们的预期,很好很强大。
大家跃跃欲试想要找一个Storm环境试手的话,下面这一部分能够帮助大家以最快速度配置好环境,Storm需要Java6以上版本,以及Passion、Zookeeper3.4.5版本。
以上就是这次线上直播的主要内容,有任何问题欢迎大家关注公众号并留言.
领取专属 10元无门槛券
私享最新 技术干货