Spark Streaming和Storm都是将流数据分成一个个小块的批数据(batch)。
处理模型、延迟 Strom:处理的是每次传入的事件。秒内延迟。(最小100ms) Spark Streaming:处理的是某个时间段窗口内的事件流。秒级延迟。(0.5~2s)
容错、数据保证 Strom:每个单独的记录都会被跟踪。恢复时,意味着状态可能被错误滴更新两次。 Spark Streaming:只是在批处理级别进行跟踪。
适用场景 Strom:实时性要求高,毫秒级延迟,不需要有状态计算。 Spark Streaming:秒级延迟,比Strom吞吐量大,需要有状态计算
SparkStreaming的吞吐量非常高,秒级准实时处理,Storm是容错性非常高,毫秒级实时处理 具体来说:sparkStreaming是一次处理某个间隔的数据,比如5秒内的数据,批量处理,所以吞吐量高。Storm是来一条处理一条,所以速度快,不存在丢失数据。
应用场景:对于数据非常重要不能丢失数据的,不能有延迟的,比如股票,金融之类场景的使用Storm。对于没那么高精度,但是要处理大量的数据,可以用sparkSremaing。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。