为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 Storm 比 Hadoop 快?是由哪几个方面决定的?

为什么 Storm 比 Hadoop 快?是由哪几个方面决定的?

红颜莎娜 2018-10-17 11:07:59

为什么 Storm 比 Hadoop 快?是由哪几个方面决定的


查看完整描述

1 回答

?
狐的传说

TA贡献1216条经验 获得超3个赞

“快”这个词是不明确的,专业属于点有两个层面:
  1. 延时 , 指数据从产生到运算产生结果的时间,题主的“快”应该主要指这个。
  2. 吞吐, 指系统单位时间处理的数据量。
  首先明确一点,在消耗资源相同的情况下,一般来说storm的延时低于mapreduce。但是吞吐也低于mapreduce。 我再补充一下。storm是典型的流计算系统,mapreduce是典型的批处理系统。下面对流计算和批处理系统流程
  真个数据处理流程来说大致可以分三个阶段:
  1. 数据采集与准备
  2. 数据计算(涉及计算中的中间存储), 题主中的“那些方面决定”应该主要是指这个阶段处理方式。
  3. 数据结果展现(反馈)
  1)数据采集阶段,目前典型的处理处理策略:数据的产生系统一般出自页面打点和解析DB的log,流计算将数据采集中消息队列(比如kafaka,metaQ,timetunle)等。批处理系统一般将数据采集进分布式文件系统(比如HDFS),当然也有使用消息队列的。我们暂且把消息队列和文件系统称为预处理存储。二者在延时和吞吐上没太大区别,接下来从这个预处理存储进入到数据计算阶段有很大的区别,流计算一般在实时的读取消息队列进入流计算系统(storm)的数据进行运算,批处理一系统一般会攒一大批后批量导入到计算系统(hadoop),这里就有了延时的区别。
  2)数据计算阶段,流计算系统(storm)的延时低主要有一下几个方面(针对题主的问题)
  A: storm 进程是常驻的,有数据就可以进行实时的处理
转载,仅供参考。.

查看完整回答
反对 回复 2018-10-22
  • 1 回答
  • 0 关注
  • 757 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信