`
kevin.wang
  • 浏览: 252384 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

大数据

 
阅读更多
hadoop、Storm
http://www.aboutyun.com/thread-6858-1-1.html
可以带着下面问题来阅读本文章:
1.hadoop、Storm各是什么运算
2.Storm为什么被称之为流式计算系统
3.hadoop适合什么场景,什么情况下使用hadoop
4.什么是吞吐量




首先整体认识:Hadoop是磁盘级计算,进行计算时,数据在磁盘上,需要读写磁盘;Storm是内存级计算,数据直接通过网络导入内存。读写内存比读写磁盘速度快n个数量级。根据Harvard CS61课件,磁盘访问延迟约为内存访问延迟的75000倍。所以Storm更快。


注释:
1. 延时 , 指数据从产生到运算产生结果的时间,“快”应该主要指这个。
2. 吞吐, 指系统单位时间处理的数据量。


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


从原理角度来讲:
Hadoop M/R基于HDFS,需要切分输入数据、产生中间数据文件、排序、数据压缩、多份复制等,效率较低。
Storm 基于ZeroMQ这个高性能的消息通讯库,不持久化数据。


为什么storm比hadoop快,下面举一个应用场景
说一个典型的场景,几千个日志生产方产生日志文件,需要进行一些ETL操作存入一个数据库。

假设利用hadoop,则需要先存入hdfs,按每一分钟切一个文件的粒度来算(这个粒度已经极端的细了,再小的话hdfs上会一堆小文件),hadoop开始计算时,1分钟已经过去了,然后再开始调度任务又花了一分钟,然后作业运行起来,假设机器特别多,几钞钟就算完了,然后写数据库假设也花了很少的时间,这样,从数据产生到最后可以使用已经过去了至少两分多钟。
而流式计算则是数据产生时,则有一个程序去一直监控日志的产生,产生一行就通过一个传输系统发给流式计算系统,然后流式计算系统直接处理,处理完之后直接写入数据库,每条数据从产生到写入数据库,在资源充足时可以在毫秒级别完成。


同时说一下另外一个场景:
如果一个大文件的wordcount,把它放到storm上进行流式的处理,等所有已有数据处理完才让storm输出结果,这时候,你再把它和hadoop比较快慢,这时,其实比较的不是时延,而是比较的吞吐了。


--------------------------------------------------------------------------------------------------------------------------------------------------

最主要的方面:Hadoop使用磁盘作为中间交换的介质,而storm的数据是一直在内存中流转的。
两者面向的领域也不完全相同,一个是批量处理,基于任务调度的;另外一个是实时处理,基于流。
以水为例,Hadoop可以看作是纯净水,一桶桶地搬;而Storm是用水管,预先接好(Topology),然后打开水龙头,水就源源不断地流出来了。



---------------------------------------------------------------------------------------------------------------------------------------------------

Storm的主工程师Nathan Marz表示: Storm可以方便地在一个计算机集群中编写与扩展复杂的实时计算,Storm之于实时处理,就好比Hadoop之于批处理。Storm保证每个消息都会得到处理,而且它很快——在一个小集群中,每秒可以处理数以百万计的消息。更棒的是你可以使用任意编程语言来做开发。
Storm的主要特点如下:
1.简单的编程模型。类似于MapReduce降低了并行批处理复杂性,Storm降低了进行实时处理的复杂性。
2.可以使用各种编程语言。你可以在Storm之上使用各种编程语言。默认支持Clojure、Java、Ruby和Python。要增加对其他语言的支持,只需实现一个简单的Storm通信协议即可。
3.容错性。Storm会管理工作进程和节点的故障。
4.水平扩展。计算是在多个线程、进程和服务器之间并行进行的。
5.可靠的消息处理。Storm保证每个消息至少能得到一次完整处理。任务失败时,它会负责从消息源重试消息。
6.快速。系统的设计保证了消息能得到快速的处理,使用ØMQ作为其底层消息队列。
7.本地模式。Storm有一个“本地模式”,可以在处理过程中完全模拟Storm集群。这让你可以快速进行开发和单元测试。




---------------------------------------------------------------------------------------------------------------------------------------------------------------

在消耗资源相同的情况下,一般来说storm的延时低于mapreduce。但是吞吐也低于mapreduce。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做的流计算系统。
分享到:
评论

相关推荐

    大数据可视化PPT 大数据可视化PPT

    大数据可视化PPT大数据可视化PPT大数据可视化PPT大数据可视化PPT大数据可视化PPT大数据可视化PPT大数据可视化PPT大数据可视化PPT大数据可视化PPT大数据可视化PPT大数据可视化PPT大数据可视化PPT大数据可视化PPT...

    清华大学精品大数据课程PPT课件 大数据导论 全套PPT 共7个章节.rar

    清华大学精品大数据课程PPT课件(35页) 第1章 大数据概念与应用.pptx 清华大学精品大数据课程PPT课件(40页) 第2章 大数据的架构.pptx 清华大学精品大数据课程PPT课件(48页) 第3章 大数据采集及预处理.pptx 清华...

    【大数据可视化大屏源码】通用大数据可视化展示平台模板.zip

    大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据...

    大数据技术与应用.pdf

    大数据技术与应用.大数据技术与应用.大数据技术与应用.大数据技术与应用.大数据技术与应用.大数据技术与应用.大数据技术与应用.大数据技术与应用.大数据技术与应用.大数据技术与应用.大数据技术与应用.大数据技术与...

    【大数据可视化大屏源码】公司大数据可视化平台.zip

    大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据...

    大数据平台的基础能力和性能测试

    简要地介绍了大数据技术发展的背景以及大数据技术标准的需求,综述了国际大数据平台标准化和评测的现状,详细介绍了数据中心联盟在大数据平台技术标准化和测评方面的实践,最后总结了当前工作的问题,并展望了下一步...

    阿里大数据之路:阿里巴巴大数据实践-339页.zip

    《阿里大数据之路:阿里巴巴大数据实践》是一本深入探讨阿里巴巴集团在大数据领域实践经验的书籍,共计339页,全面展示了阿里巴巴在大数据领域的技术积累和创新应用。这本书籍旨在分享阿里巴巴如何利用大数据技术来...

    大数据技术参考架构

    大数据参考架构围绕代表大数据价值链的信息价值链(水平轴)和IT价值链(垂直轴)两个维度组织展开。信息价值链表示大数据的应用理论作为一种数据科学方法,从数据到知识的处理过程中所实现的信息价值,其核心价值...

    【大数据可视化大屏源码】车联网大数据可视化平台后台管理模板.zip

    大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据...

    大数据认知实习报告

    ### 大数据认知实习报告知识点总结 #### 一、大数据的认知背景及意义 - **大数据的概念**:大数据是指无法在可承受的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。它具有“4V”特征:Volume(大量)...

    【大数据可视化大屏源码】销售数据可视化页面设计.zip

    大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据可视化大屏前端源码大数据...

    医疗大数据平台建设指南.pdf

    本指南旨在为医疗机构提供医疗大数据平台建设、应用和运维工作的参考方案,帮助医疗信息工作者面对医疗大数据发展建设挑战、解决当前医疗大数据建设中的问题,推广医疗大数据的建设和应用。 医疗大数据平台建设指南...

    阿里巴巴大数据实践之路.pdf

    阿里巴巴大数据实践之路.pdf 阿里巴巴大数据实践之路概述 阿里巴巴是一家数据公司,经过多年的发展,阿里巴巴大数据实践之路可以分为三个阶段:Data 1.0、Data 2.0 和 Data 3.0。Data 1.0阶段,阿里巴巴主要关注...

    大数据应用场景及相关技术

    大数据应用场景及相关技术 大数据预测是指基于大数据和预测模型来预测未来某件事情的概率。它的逻辑基础是,每一种非常规的变化事前一定有征兆,每一件事情都有迹可循,如果找到了征兆与变化之间的规律,就可以进行...

    企业大数据治理平台需求规格说明书.docx

    企业大数据治理平台需求规格说明书 大数据治理平台是企业实现大数据管理和分析的重要工具,本文档对企业大数据治理平台的需求规格进行了详细的说明。 概要 大数据治理平台是企业实现大数据管理和分析的重要工具,...

    第五届工业大数据比赛-风机-测试集_初赛

    第五届工业大数据比赛-风机-测试集_初赛 第五届工业大数据比赛-风机-测试集_初赛 第五届工业大数据比赛-风机-测试集_初赛 第五届工业大数据比赛-风机-测试集_初赛 第五届工业大数据比赛-风机-测试集_初赛 第五届工业...

    100+套大数据可视化炫酷大屏Html5模板

    包含行业:社区、物业、政务、交通、金融银行等,全网最新、最多,最全、最酷、最炫大数据可视化模板。陆续更新中 001 政务服务大数据可视化监管平台 002 水质情况实时监测预警系统 003 酷炫智能大屏数据中心 004...

    新华三大数据实训解决方案-大数据教学与实践管理系统.pptx

    国家十三五规划纲要中提出:“实施国家大数据战略,推进数据资源开放共享” 国发【2015】50号《促进大数据发展行动纲要》中明确提出“鼓励高校设立数据科学和数据工程相关专业,重点培养专业化数据工程师等大数据...

    阿里巴巴大数据实践之路-9.pdf

    阿里巴巴大数据实践之路 大数据是阿里巴巴的核心竞争力,阿里巴巴大数据实践之路是阿里巴巴数据事业部高级专家的经验总结。本文将从阿里巴巴的大数据发展历程、数据体系结构、公共技术平台、数据共享、算法共享、...

    《大数据与城市规划》 习题及期末答案

    《大数据与城市规划》是清华大学龙瀛教授开设的一门课程,该课程深入探讨了如何利用大数据技术进行城市规划和管理。大数据,作为一种新兴的技术手段,已经深刻地影响了各行各业,其中包括城市管理这一重要领域。本...

Global site tag (gtag.js) - Google Analytics