Storm与SparkStreaming的区别?(storm与sparkstreaming如何选择)

Storm与SparkStreaming如何选择

     目前流式处理框架主要有Strom和SparkStreaming,那么在实际应用中我们该如何选择适合自己的框架呢?来看一下它们的主要区别:

一、Strom是一个纯实时的流式处理框架,即来一条数据就处理一条数据,这样势必集群内有频繁的网络通讯,吞吐量低。

二、SparkStreaming是微批处理框架,吞吐量高。

三、Strom的事务处理机制要比SparkStreaming的好,SparkStreaming中存在丢数据或者重复计算的问题,Storm中接受或拉取的每条数据可以准确的只处理一次。

四、Strom适合做简单的汇总型计算,SparkStreaming可以做复杂的计算,因为SparkStreaming是基于Dstream来开发的,Dstream可以抽出RDD(即Spark的核心),支持更多的复杂计算。

五、Strom支持动态资源的调整,而SparkStreaming是粗粒度的资源调度(新版本中即使有也是通过kill excutor的形式)。

        基于以上的区别,我们的选择就变得简单多了,如金融类的肯定选择Strom,对精确度要求的高,如实时预测类的肯定是SparkStreaming,还可以根据公司的实际资源选择,如果现有Spark集群,那么肯定选择SparkStreaming更合适,我公司的日志处理是基于SparkStreaming开发的。

猜你喜欢

转载自blog.csdn.net/mr2zhang/article/details/80354313
今日推荐