storm 和 spark 的区别

对于 storm 来说:

o 建议在那种需要纯实时,不能忍受 1 秒以上延迟的场景下

使用,比如实时金融系统,要求纯实时进行金融交易和分析

o 此外,如果对于实时计算的功能中,要求可靠的事务机制

和可靠性机制,即数据的处理完全精准,一条也不能多,一条也

不能少,也可以考虑使用 Storm

o 如果还需要针对高峰低峰时间段,动态调整实时计算程序

的并行度,以最大限度利用集群资源(通常是在小型公司,集群

资源紧张的情况),也可以考虑用 Storm

o 如果一个大数据应用系统,它就是纯粹的实时计算,不需

要在中间执行 SQL 交互式查询、复杂的 transformation 算子等,

那么用 Storm 是比较好的选择

对于 sparkStreaming 来说:

o 如果对上述适用于 Storm 的三点,一条都不满足的实时场

景,即,不要求纯实时,不要求强大可靠的事务机制,不要求动

态调整并行度,那么可以考虑使用 Spark Streamingo 考虑使用 Spark Streaming 最主要的一个因素,应该是针

对整个项目进行宏观的考虑,即,如果一个项目除了实时计算之

外,还包括了离线批处理、交互式查询等业务功能,而且实时计

算中,可能还会牵扯到高延迟批处理、交互式查询等功能,那么

就应该首选 Spark 生态,用 Spark Core 开发离线批处理,用

Spark SQL 开发交互式查询(sparksql转化成rdd,比mapreduce快很多,并且rdd算子有缓存机制,适合实时向hdfs等数据库写入数据),用 Spark Streaming 开发实时计

算,三者可以无缝整合,给系统提供非常高的可扩展性

Spark Streaming 与 Storm 的优劣分析

o 事实上,Spark Streaming 绝对谈不上比 Storm 优秀。这两

个框架在实时计算领域中,都很优秀,只是擅长的细分场景并不

相同。

o Spark Streaming 仅仅在吞吐量上比 Storm 要优秀,而吞吐

量这一点,也是历来挺 Spark Streaming,贬 Storm 的人着重强

调的。但是问题是,是不是在所有的实时计算场景下,都那么注

重吞吐量?不尽然。因此,通过吞吐量说 Spark Streaming 强于

Storm,不靠谱。

o 事实上,Storm 在实时延迟度上,比 Spark Streaming 就好

多了,前者是纯实时,后者是准实时。而且,Storm 的事务机

制、健壮性 / 容错性、动态调整并行度等特性,都要比 Spark

Streaming 更加优秀。

o Spark Streaming,有一点是 Storm 绝对比不上的,就是:

它位于 Spark 生态技术栈中,因此 Spark Streaming 可以和

Spark Core、Spark SQL 无缝整合,也就意味着,我们可以对实

时处理出来的中间数据,立即在程序中无缝进行延迟批处理、交

互式查询等操作。这个特点大大增强了 Spark Streaming 的优势

和功能。

storm动态调整并行度的方法:

在java api中设置task数是为了 给rebalance 命令使用,如果使用默认的excutor和task1:1的 无法动态调整 storm rebalance topolopyname -w 10 -n 5 -e BLUE-BOLT=30 -e RED-BOLT=60 注意:acker运行期数目无法动态调整 -w rebalance 等待执行时间 -n 调整worker数量 -e 调整组件并行度 -n和-e 可以单独或者组合使用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值