Skip to main content
 首页 » 操作系统 » linux系统

Storm 和 Spark大数据处理方案有什么区别?

最近公司做流式实时处理的业务比较多,对这两个流式处理的大数据组件做了不少研究,非常荣幸一起来交流这个问题

首先说一下什么是流式计算特点

数据实时产生

数据实时传输(实时收集)

数据实时计算

实时展示

尽可能快的得到结果

典型案列

1. 一淘-实时分析系统:实时分析用户的属性,并反馈给搜索引擎

2. 携程-网站性能监控:实时分析系统监控携程网的网站性能

3. 阿里妈妈-用户画像:实时计算用户的兴趣数据

再分别来说一下storm和Spark

storm

Storm 和 Spark大数据处理方案有什么区别?  Clojure 第1张

1. 用来实时处理数据

2. 特点:低延迟、高可用、分布式、可扩展、数据不丢失

3. 提供简单容易理解的接口,便于开发

Spark

Storm 和 Spark大数据处理方案有什么区别?  Clojure 第2张

1. 在2009年诞生于加州大学,在2014年2月成为Apache顶级项目

2. 是一种快速、通用、可扩展的大数据分析引擎,并行计算框架

3. 是MapReduce的替代方案,兼容HDFS、Hive,可融入Hadoop的生态系统

4. 基于内存计算,具有数据处理的高实时性、高容错性、高可伸缩性,形成集群

5. Spark生态系统包含SparkSQL、Spark Streaming、GraphX、MLlib等子项目

两者的区别1. storm只能做流式计算,spark则可以既可以做离线也可以做实时计算

2. storm处理的数据单元是tuple,也就是每一条数据,也就是真正的流式

spark的数据单元的RDD,是在定义的某时间段内,获取 到的数据集,也就是说并不是逐条处理,而是一部分数据同时处理,也就是伪实时

3. Spark支持窗口处理,storm原生是不支持的

4. Spark支持SQL,storm的sql功能仍处于实验阶段

上述就是对两者 的一些简单介绍,由于篇幅有限,讲解的不太细致。

如果有任何疑问欢迎大家在评论区留言。

学习使人充实!!!最后祝大家都可以在大数据的海洋里随心遨游!

评论列表暂无评论
发表评论
微信