千家信息网

Storm和Hadoop哪个快

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,本篇内容主要讲解"Storm和Hadoop哪个快",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Storm和Hadoop哪个快"吧!"快"这个词是不明确的,
千家信息网最后更新 2024年11月11日Storm和Hadoop哪个快

本篇内容主要讲解"Storm和Hadoop哪个快",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Storm和Hadoop哪个快"吧!

"快"这个词是不明确的,专业属于点有两个层面:

1.时延 , 指数据从产生到运算产生结果的时间,题主的"快"应该主要指这个。

2. 吞吐, 指系统单位时间处理的数据量。

首先明确一点,在消耗资源相同的情况下,一般来说storm的延时低于mapreduce。但是吞吐也低于mapreduce。

storm的网络直传、内存计算,其时延必然比hadoop的通过hdfs传输低得多;当计算模型比较适合流式时,storm的流式处理,省去了批处理的收集数据的时间;因为storm是服务型的作业,也省去了作业调度的时延。所以从时延上来看,storm要快于hadoop。

说一个典型的场景,几千个日志生产方产生日志文件,需要进行一些ETL操作存入一个数据库。

假设利用hadoop,则需要先存入hdfs,按每一分钟切一个文件的粒度来算(这个粒度已经极端的细了,再小的话hdfs上会一堆小文件),hadoop开始计算时,1分钟已经过去了,然后再开始调度任务又花了一分钟,然后作业运行起来,假设机器特别多,几钞钟就算完了,然后写数据库假设也花了很少的时间,这样,从数据产生到***可以使用已经过去了至少两分多钟。

而流式计算则是数据产生时,则有一个程序去一直监控日志的产生,产生一行就通过一个传输系统发给流式计算系统,然后流式计算系统直接处理,处理完之后直接写入数据库,每条数据从产生到写入数据库,在资源充足时可以在毫秒级别完成。

当然,跑一个大文件的wordcount,本来就是一个批处理计算的模型,你非要把它放到storm上进行流式的处理,然后又非要让等所有已有数据处理完才让storm输出结果,这时候,你再把它和hadoop比较快慢,这时,其实比较的不是时延,而是比较的吞吐了。

storm是典型的流计算系统,mapreduce是典型的批处理系统。下面对流计算和批处理系统流程。

整个数据处理流程来说大致可以分三个阶段:

1. 数据采集与准备

2. 数据计算(涉及计算中的中间存储), 题主中的"那些方面决定"应该主要是指这个阶段处理方式。

3. 数据结果展现(反馈)

1)数据采集阶段,目前典型的处理处理策略:数据的产生系统一般出自页面打点和解析DB的log,流计算将数据采集中消息队列(比如kafaka,metaQ,timetunle)等。批处理系统一般将数据采集进分布式文件系统(比如HDFS),当然也有使用消息队列的。我们暂且把消息队列和文件系统称为预处理存储。二者在延时和吞吐上没太大区别,接下来从这个预处理存储进入到数据计算阶段有很大的区别,流计算一般在实时的读取消息队列进入流计算系统(storm)的数据进行运算,批处理一系统一般会攒一大批后批量导入到计算系统(hadoop),这里就有了时延的区别。

2)数据计算阶段,流计算系统(storm)的时延低主要有一下几个方面

A: storm 进程是常驻的,有数据就可以进行实时的处理

mapreduce 数据攒一批后由作业管理系统启动任务,Jobtracker计算任务分配,tasktacker启动相关的运算进程

B: stom每个计算单元之间数据之间通过网络(zeromq)直接传输。

mapreduce map任务运算的结果要写入到HDFS,在于reduce任务通过网络拖过去运算。相对来说多了磁盘读写,比较慢

C: 对于复杂运算

storm的运算模型直接支持DAG(有向无环图)

mapreduce 需要肯多个MR过程组成,有些map操作没有意义的

3)数据结果展现

流计算一般运算结果直接反馈到最终结果集中(展示页面,数据库,搜索引擎的索引)。而mapreduce一般需要整个运算结束后将结果批量导入到结果集中。

实际流计算和批处理系统没有本质的区别,像storm的trident也有批概念,而mapreduce可以将每次运算的数据集缩小(比如几分钟启动一次),facebook的puma就是基于hadoop做的流计算系统。

到此,相信大家对"Storm和Hadoop哪个快"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

数据 系统 处理 运算 结果 文件 任务 数据库 阶段 典型 数据采集 时间 消息 队列 作业 吞吐 日志 模型 网络 传输 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全专业实习周报内容填啥 软件开发企业的统计局报表 中国工业网网络安全 大专生可以考数据库工程师吗 网络安全保研夏令营 淮阴区横丰网络技术中心 服务台软件开发 rp文件 创建云服务器时 搭建网络安全工程师怎么样 奖状设计软件开发 四川什么是网络技术分类基础 通嘉互联网科技有限公司 浙江上合互联网科技 广东昱昊互联网科技有限公司 4 什么是软件开发计划 互联网信息科技创新 太原的计算机网络技术学校 2021四川高考博雅数据库 数据库的控制文件内容一样吗 数据结构中数据库的作用 威纶通配方数据库建不了 附加数据库错误5120 重庆恒津彬网络技术有限公司 1000人游戏要多大的服务器 信网智能网络技术有限公司 软件开发面试介绍缺点怎么说 ubuntu搭建邮件服务器 以网络安全为议题 新沂明谷软件开发 2012服务器系统关闭屏保
0