sparkstorm和hadoop的区别 (hadoop spark storm区别)

昨天,我们技术部开了一个小型会议讨论Hadoop相关的问题,有人问道Hadoop和Storm有什么区别。

今天整理成文章,给有同样疑惑的同学科普一下。

sparkstorm和hadoop的区别,hadoopsparkstorm区别

1) Storm与Hadoop的定义与架构有什么不同?

  • Hadoop是一个可以对海量数据进行分布式处理的软件框架,是Apache的一个项目。

  • Storm是一个能够实时处理流式的分布式计算系统,是Apache基金会的孵化的一个项目。

2) 应用场景有什么不同?

  • Hadoop是分布式批处理计算,主要是进行批处理,较多用其进行数据挖掘和分析。2) 应用场景有什么不同?

  • Storm是分布式实时计算,主要特点是实时性,较多用与对实时性要求较高的场景。

(java类,java类,java类,java类,java类,java类,java类,java类,java类)

3) 它们是如何对数据进行处理计算的?

  • Hadoop是磁盘级计算,计算时需要在磁盘中读取数据;其采用的是MapReduce的逻辑,把数据进行切片计算用这种方式来处理大量的离线数据;Hadoop只能处理已经存储在HDFS或者类似HBase数据库中的数据,Hadoop是通过移动计算到这些存放数据的机器上来提高效率。

  • Storm是内存级计算,需要进行计算的数据直接通过网络导入内存。Storm处理的是实时消息队列中的数据,需要写好一个Topology逻辑,然后对接受的数据进行处理,所以Storm是通过移动数据平均分配到机器资源来获得高效率的。

sparkstorm和hadoop的区别,hadoopsparkstorm区别

4) 在数据处理方面有什么不同?

数据来源:

  • Hadoop使用的是HDFS中的数据,数据量非常大(以TB计);

  • 而Storm的数据是实时增加的。

处理过程:

  • Hadoop是Map阶段到Reduce阶段;

  • Storm是由用户定义处理流程,允许具有多个步骤,每步允许是数据源(SPOUT),也允许是处理逻辑(BOLT)。

是否结束:

  • Hadoop计算到最后一定要结束;

  • 而Storm没有结束状态,当数据计算完就停在那里,直到有新数据输入时再重新开始。

处理速度:

  • Hadoop是为了处理大量数据,速度慢;

  • Storm只处理实时新增的数据,速度很快。

适用场景:

  • Hadoop主要是处理一批数据,对时效性要求不高,需要处理就提交一个JOB;

  • 而Storm主要是处理某一新增数据,故此时效性要求高。

(java类,java类,java类,java类,java类,java类,java类,java类,java类)

总结:

Hadoop和Storm并没有真的优劣之分,它们有着不同的数据处理方式。当然在实际生产过程中,根据需求搭配使用,让Hadoop和Storm优势互补从而来完成我们所需的数据处理工作。

我是如何用4个月学会Hadoop开发的?

作为过来人,我知道学一门技术很难,所以希望能给大提供有用的知识。

我开始学Hadoop的时候是自己看书,效率很低,找不到方向和重点。后来在论坛认识了某渡的哥们,给了我一套视频。

sparkstorm和hadoop的区别,hadoopsparkstorm区别

从0基础入门Hadoop,到Hadoop生态圈中各个组件的讲解,最重要的还是一些真实的商业案例,让我见识到了真实的生产环境,不然都不知道该学什么才适合工作。我也是跟着视频学会的Hadoop。

如果你准备学Hadoop的话 可以按照上图右下角的方式,去要最新版视频。

最好说明去意:学习Hadoop

最后我想说,看过文章不思考、不行动知识永远不会变成自己的。