版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大数据基础技术概述日期:十二月22杭州华三通信技术有限公司夏飞03621
大数据基础技术概述日期:十二月22夏飞03621大数据基础技术概述大数据处理的基本流程大数据关键技术Hadoop介绍流计算介绍图计算介绍NoSQL介绍大数据面临的其他问题大数据基础技术概述大数据处理的基本流程大数据处理的基本流程整个大数据的处理流程可以定义为:在合适工具的辅助下,对广泛异构的数据源进行抽取和集成,结果按照一定的标准进行统一存储,并利用合适的数据分析技术对存储的数据进行分析,从中提取有益的知识并利用恰当的方式将结果展现给终端用户。具体来说,可以分为数据抽取与集成、数据分析以及数据解释。大数据处理的基本流程整个大数据的处理流程可以定义为:在合适工数据抽取与集成
大数据的一个重要特点就是多样性,这就意味着数据来源极其广泛,数据类型极为繁杂。这种复杂的数据环境给大数据的处理带来极大的挑战。要想处理大数据,首先必须对所需数据源的数据进行抽取和集成,从中提取出关系和实体,经过关联和聚合之后采用统一定义的结构来存储这些数据。在数据集成和提取时需要对数据进行清洗,保证数据质量及可信性。现有的数据抽取与集成方式可以大致分为以下四种类型:数据整合、数据联邦、数据传播和混合方法等。
(1)数据整合(DataConsolidation):不同数据源的数据被物理地集成到数据目标。利用ETL工具把数据源中的数据批量地加载到数据仓库,就属于数据整合的方式。
(2)数据联邦(DataFederation):在多个数据源的基础上建立一个统一的逻辑视图,对外界应用屏蔽数据在各个数据源的分布细节。对于这些应用而言,只有一个统一的数据访问入口,但是实际上,被请求的数据只是逻辑意义上的集中,在物理上仍然分布在各个数据源中,只有被请求时,才临时从不同数据源获取相关数据,进行集成后提交给数据请求者。当数据整合方式代价太大或者为了满足一些突发的实时数据需求时,可以考虑采用数据联邦的方式建立企业范围内的全局统一数据视图。
(3)数据传播(DataPropagation):数据在多个应用之间的传播。比如,在企业应用集成(EAI)解决方案中,不同应用之间可以通过传播消息进行交互。
(4)混合方式(AHybridApproach):在这种方式中,对于那些不同应用都使用的数据采用数据整合的方式进行集成,而对那些只有特定应用才使用的数据则采用数据联邦的方式进行集成。
数据抽取与集成大数据的一个重要特点就是多样性,这就意味着数数据分析传统的分析技术如数据挖掘、机器学习、统计分析等在大数据时代需要做出调整,因为这些技术在大数据时代面临着一些新的挑战,主要有:数据量大并不一定意味着数据价值的增加,相反这往往意味着数据噪音的增多大数据时代的算法需要进行调整(邦弗朗尼原理)数据结果好坏的衡量
数据分析传统的分析技术如数据挖掘、机器学习、统计分析等在大数数据解释数据分析是大数据处理的核心,但是用户往往更关心结果的展示。如果分析的结果正确但是没有采用适当的解释方法,则所得到的结果很可能让用户难以理解,极端情况下甚至会误导用户。大数据时代的数据分析结果往往也是海量的,同时结果之间的关联关系极其复杂,采用传统的解释方法基本不可行可以考虑从下面两个方面提升数据解释能力:
--引入可视化技术
--让用户能够在一定程度上了解和参与具体的分析过程
数据解释数据分析是大数据处理的核心,但是用户往往更关心结果的大数据基础技术概述大数据处理的基本流程大数据关键技术Hadoop介绍流计算介绍图计算介绍NoSQL介绍大数据面临的其他问题大数据基础技术概述大数据处理的基本流程大数据技术分类分布式缓存、基于MPP的分布式数据库、分布式文件系统、各种NoSQL分布式存储方案,内存数据库等存储计算应用MapReduce流计算图计算………HIVE,pig,mahout,Sqoop以及ETL工具,统计与报告工具等大数据技术分类分布式缓存、基于MPP的分布式数据库、分布式文Google的技术演进 Google于2006年首先提出了云计算的概念,并研发了一系列云计算技术和工具。难能可贵的是Google并未将这些技术完全封闭,而是以论文的形式逐步公开其实现。正是这些公开的论文,使得以GFS、MapReduce、Bigtable为代表的一系列大数据处理技术被广泛了解并得到应用,同时还催生出以Hadoop为代表的一系列云计算开源工具。下图展示了Google的技术演化过程:
Google的技术演进 Google于2006年首先提出大数据处理工具 Hadoop是目前最为流行的大数据处理平台。除了Hadoop,还有很多针对大数据的处理工具。这些工具有些是完整的处理平台,有些则是专门针对特定的大数据处理应用。下表归纳总结了现今一些主流的处理平台和工具。
大数据处理工具 Hadoop是目前最为流行的大数据处理平台大数据基础技术概述大数据处理的基本流程大数据关键技术Hadoop介绍流计算介绍图计算介绍NoSQL介绍大数据面临的其他问题大数据基础技术概述大数据处理的基本流程Hadoop简介Hadoop一个分布式系统基础架构,由Apache基金会开发。Hadoop是一个开源的可运行于大规模集群上的分布式并行编程框架,借助于Hadoop,程序员可以轻松地编写分布式并行程序,将其运行于计算机集群上,完成海量数据的计算。Hadoop已经发展成为目前最流行的大数据处理平台
Hadoop简介Hadoop一个分布式系统基础架构,由ApHadoop的作用和功能Hadoop采用了分布式存储方式,提高了读写速度,并扩大了存储容量。采用MapReduce来整合分布式文件系统上的数据,可保证分析和处理数据的高效。与此同时,Hadoop还采用存储冗余数据的方式保证了数据的安全性。Hadoop中HDFS的高容错特性,以及它是基于Java语言开发的,这使得Hadoop可以部署在低廉的计算机集群中,同时不限于某个操作系统。Hadoop中HDFS的数据管理能力,MapReduce处理任务时的高效率,以及它的开源特性,使其在同类的分布式系统中大放异彩,并在众多行业和科研领域中被广泛采用。
Hadoop的作用和功能Hadoop采用了分布式存储方式,提Hadoop的优点可扩展:不论是存储的可扩展还是计算的可扩展都是Hadoop的设计根本。经济:框架可以运行在任何普通的PC上。可靠:分布式文件系统的备份恢复机制以及MapReduce的任务监控保证了分布式处理的可靠性。(元数据磁盘错误,心跳测试,副本数)高效:分布式文件系统的高效数据交互实现以及MapReduce结合LocalData处理的模式,为高效处理海量的信息作了基础准备。
Hadoop的优点可扩展:不论是存储的可扩展还是计算的可扩展Hadoop生态系统Hadoop生态系统Hadoop生态系统Avro用于数据序列化的系统;HDFS是一种分布式文件系统,运行于大型商用机集群,HDFS为HBase提供了高可靠性的底层存储支持;HBase位于结构化存储层,是一个分布式的列存储数据库;MapReduce是一种分布式数据处理模式和执行环境,为HBase提供了高性能的计算能力;Zookeeper是一个分布式的、高可用性的协调服务,提供分布式锁之类的基本服务,用于构建分布式应用,为HBase提供了稳定服务和failover机制;Hive是一个建立在Hadoop基础之上的数据仓库,它提供了一些用于数据整理、特殊查询和分析存储在Hadoop文件中的数据集的工具;Pig是一种数据流语言和运行环境,用以检索非常大的数据集,大大简化了Hadoop常见的工作任务;Sqoop为HBase提供了方便的RDBMS数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便。
Hadoop生态系统Avro用于数据序列化的系统;Hadoop的新发展Google后Hadoop时代的新“三驾马车”——Caffeine、Pregel、Dremel在2010年,Google搜索引擎发生了重大变革。Google将其搜索迁移到新的软件平台,他们称之为“Caffeine”(bigtable)。Pregel主要绘制大量网上信息之间关系的“图形数据库”Dremel可以在极快的速度处理网络规模的海量数据。据Google提交的文件显示你可以在几秒的时间处理PB级的数据查询。
Hadoop的新发展Google后Hadoop时代的新“三驾大数据基础技术概述大数据处理的基本流程大数据关键技术Hadoop介绍流计算介绍图计算介绍NoSQL介绍大数据面临的其他问题大数据基础技术概述大数据处理的基本流程什么是流计算流计算来自于一个信念:数据的价值随着时间的流逝而降低,所以事件出现后必须尽快地对它们进行处理,最好数据出现时便立刻对其进行处理,发生一个事件进行一次处理,而不是缓存起来成一批再处理。流计算的概念:流计算是针对流式数据的实时计算。流式数据(流数据):是指将数据看作数据流的形式来处理。数据流是在时间分布和数量上无限的一系列动态数据集合体;数据记录是数据流的最小组成单元。流数据具有数据实时持续不断到达、到达次序独立、数据来源众多格式复杂、数据规模大且不十分关注存储、注重数据的整体价值而不关注个别数据等特点。
什么是流计算流计算来自于一个信念:流计算的应用场景流计算是针对流数据的实时计算,其主要应用在于产生大量流数据、同时对实时性要求高的领域。流计算一方面可应用于处理金融服务如股票交易、银行交易等产生的大量实时数据。另一方面流计算主要应用于各种实时Web服务中,如搜索引擎、购物网站的实时广告推荐,SNS社交类网站的实时个性化内容推荐,大型网站、网店的实时用户访问情况分析等。
流计算的应用场景流计算是针对流数据的实时计算,其主要应用在于流计算与Hadoop流计算与其他大数据解决方案的不同之处在于它的处理方式:Hadoop在本质上是一个批处理系统。数据被引入Hadoop文件系统(HDFS)并分发到各个节点进行处理。当处理完成时,结果数据返回到HDFS供始发者使用。流计算支持创建拓扑结构来转换没有终点的数据流。不同于Hadoop作业,这些转换从不停止,它们会持续处理到达的数据。为了支持流式处理,MapReduce需要被改造成Pipeline的模式,而不是reduce直接输出;考虑到效率,中间结果最好只保存在内存中等等。这些改动使得原有的MapReduce框架的复杂度大大增加,不利于系统的维护和扩展。用户被迫使用MapReduce的接口来定义流式作业,这使得用户程序的可伸缩性降低。
流计算与Hadoop流计算与其他大数据解决方案的不同之处在于流计算模型流计算实现了一种数据流模型,其中数据持续地流经一个转换实体网络。一个数据流的抽象称为一个流,这是一个无限的元组序列。元组就像一种使用一些附加的序列化代码来表示标准数据类型(比如整数、浮点和字节数组)或用户定义类型的结构。每个流由一个惟一ID定义,这个ID可用于构建数据源和接收器(sink)的拓扑结构。流起源于喷嘴,喷嘴将数据从外部来源流入流计算拓扑结构中。接收器(或提供转换的实体)称为螺栓
使用流计算为词频轻松地实现MapReduce功能。如图中所示,喷嘴生成文本数据流,螺栓实现Map功能(令牌化一个流的各个单词)。来自“map”螺栓的流然后流入一个实现Reduce功能的螺栓中(以将单词聚合到总数中)。流计算模型流计算实现了一种数据流模型,其中数据持续地流经一个流计算产品
Yahoo的S4
S4是一个通用的、分布式的、可扩展的、分区容错的、可插拔的流式系统,Yahoo!开发S4系统,主要是为了解决:搜索广告的展现、处理用户的点击反馈。
Twitter的storm
Twitter的storm:Storm是一个分布式的、容错的实时计算系统。
Storm用途:可用于处理消息和更新数据库(流处理),在数据流上进行持续查询,并以流的形式返回结果到客户端(持续计算),并行化一个类似实时查询的热点查询(分布式的RPC)。流计算产品Yahoo的S4流计算产品Items\ProjectsYahoo!s4TwitterStorm协议Apachelicense2.0EclipsePublicLicense1.0开发语言JavaClojure,Java,Clojure编写了核心代码结构去中心化的对等结构有中心节点nimbus,但非关键通信可插拔的通讯层,目前是基于UDP的实现基于facebook开源的thrift框架事件/Stream<K,A>序列,用户可自定义事件类提供Tuple类,用户不可自定义事件类,但是可以命名field和注册序列化器处理单元ProcessingElements,内置PE处理Bolt,没有内置任务,提供IBasicBolt处理count,join和aggregate等常见任务自动ack第三方交互提供API,ClientAdapter/Driver,第三方客户端输入或者输出事件定义Spout用于产生Stream,没有标准输出API持久化提供PersistAPI规范,可根据频率或者次数做持久化无特定API,用户可自行选择处理可靠处理无,可能会丢失事件提供对事件处理的可靠保证(可选)多语言支持暂时只支持Java多语言支持良好,本身支持Java,Clojure,其他非JVM语言通过thrift和进程间通讯Failover部分支持,数据无法failover部分支持,数据同样无法failoverLoadBalance不支持不支持并行处理取决于节点数目,不可调节可配置worker和task数目,storm会尽量将worker和task均匀分布动态增删节点不支持支持动态部署不支持支持web管理不支持支持代码成熟度半成品成熟活跃度低活跃编程编程+XML配置纯编程流计算产品Items\ProjectsYahoo!s4Tw大数据基础技术概述大数据处理的基本流程大数据关键技术Hadoop介绍流计算介绍图计算介绍NoSQL介绍大数据面临的其他问题大数据基础技术概述大数据处理的基本流程图计算遇到的问题大型图(像社交网络和网络图等)常常作为现在系统计算需要的一部分。现在存在许多图计算问题像最短路径、集群、网页排名、最小切割、连通分支等等,但还没有一个可扩展的通用系统来解决这些问题。解决这些问题的算法的特点:它们常常表现为比较差的内存访问局部性、针对单个顶点的处理工作过少、以及计算过程中伴随着的并行度的改变等问题。可能的解决方法:1、为特定的图应用定制相应的分布式实现2、基于现有的分布式计算平台3、使用单机的图算法库 ——如BGL,LEAD,NetworkX,JDSL,Standford,GraphBase,FGL等4、使用已有的并行图计算系统 ——如ParallelBGL,CGMgraph等图计算遇到的问题大型图(像社交网络和网络图等)常常作为现在图计算通用软件正是因为传统的图计算解决方案无法解决大型图的计算问题,因此,就需要设计能够用来解决这些问题的通用图计算软件。针对大型图的计算,目前通用的图处理软件主要包括两种:第一种主要是基于遍历算法和实时的图数据库,如Neo4j、OrientDB、DEX和InfiniteGraph。第二种则是以图顶点为中心的消息传递批处理的并行引擎,如Hama、GoldenOrb、Giraph和Pregel。图计算通用软件正是因为传统的图计算解决方案无法解Tinkerpop
下图为Tinkerpor框架图,各层功能见下面的备注Tinkerpop 下图为Tinkerpor框架图,各层功BSP模型
以图顶点为中心的消息传递批处理的并行引擎主要是基于BSP(BulkSynchronousParallel)模型所实现的并行图处理包。BSP是由哈佛大学Viliant和牛津大学BillMcColl提出的并行计算模型。一个BSP模型由大量相互关联的处理器(processor)所组成,它们之间形成了一个通信网络。每个处理器都有快速的本地内存和不同的计算线程。一次BSP计算过程由一系列全局超步组成,超步就是计算中一次迭代。每个超步主要包括三个组件:1、并发计算(Concurrentcomputation):每个参与的处理器都有自身的计算任务,它们只读取存储在本地内存的值。这些计算都是异步并且独立的。2、通讯(Communication):处理器群相互交换数据,交换的形式:由一方发起推送(put)和获取(get)操作。3、栅栏同步(Barriersynchronisation):当一个处理器遇到路障,会等到其他所有处理器完成它们的计算步骤。每一次同步也是一个超步的完成和下一个超步的开始。BSP模型 以图顶点为中心的消息传递批处理的并行引大数据基础技术概述大数据处理的基本流程大数据关键技术Hadoop介绍流计算介绍图计算介绍NoSQL介绍大数据面临的其他问题大数据基础技术概述大数据处理的基本流程NoSQL概念NoSQL:意即反SQL运动,是一项全新的数据库革命性运动。NoSQL数据库,指的是非关系型的数据库。NoSQL项目的名字上看不出什么相同之处,但是,它们通常在某些方面相同:它们可以处理超大量的数据。关系数据库的缺陷关系数据库并不适合所有的数据模型关系数据库扩展难度大标准化通常会伤害到性能NoSQL的目标
反标准化,通常是无模式的,文档型存储以key/value为基础,支持通过key进行查找水平扩展内置复制HTTP/REST或很容易编程的API支持MapReduce风格的编程最终一致性NoSQL概念NoSQL:意即反SQL运动,是一项全新的数据为什么需要NoSQL为什么需要NoSQLNoSQL特点和挑战NoSQL的特点灵活的可扩展性大数据降低管理难度经济灵活的数据模型NoSQL五大挑战成熟度支持分析和商业智能化管理专业知识对NoSQL的质疑关系型数据库在设计时更能够体现实际开源数据库从出现到被用户接受需要一个漫长的过程NoSQL缺乏强有力的技术支持NoSQL很难实现数据的完整性NoSQL特点和挑战NoSQL的特点CAP理论CAP理论NoSQL与关系型数据库的比较NoSQL与关系型数据库的比较NoSQL与关系型数据库的比较NoSQL与关系型数据库的比较大数据基础技术概述大数据处理的基本流程大数据关键技术Hadoop介绍流计算介绍图计算介绍NoSQL介绍大数据面临的其他问题大数据基础技术概述大数据处理的基本流程大数据隐私问题
隐私问题由来已久,计算机的出现使得越来越多的数据以数字化的形式存储在电脑中,互联网的发展则使数据更加容易产生和传播,数据隐私问题越来越严重。隐性的数据暴露:面临技术和人力(众包)的双重考验数据公开与隐私保护的矛盾:隐私保护数据挖掘数据动态性:现有隐私保护技术基于静态数据大数据隐私问题 隐私问题由来已久,计算机的出现使得越来越多的大数据能耗问题
在能源价格上涨、数据中心存储规模不断扩大的今天,高能耗已逐渐成为制约大数据快速发展的一个主要瓶颈。
从已有的一些研究成果来看,可以考虑以下两个方面来改善大数据能耗问题:采用新型低功耗硬件引入可再生的新能源大数据能耗问题 在能源价格上涨、数据中心存储规模不断扩大的今大数据处理与硬件的协同
硬件的快速升级换代有力的促进了大数据的发展,但是这也在一定程度上造成了大量不同架构硬件共存的局面。日益复杂的硬件环境给大数据管理带来的主要挑战有:硬件异构性带来的大数据处理难题木桶效应:Mapreduce处理时间取决于处理时间最长的节点新硬件给大数据处理带来的变革SSD,PCM大数据处理与硬件的协同 硬件的快速升级换代有力的促进了大数据性能的测试基准
目前尚未有针对大数据管理的测试基准,构建大数据测试基准面临的主要挑战有:系统复杂度高用户案例的多样性数据规模庞大系统的快速演变重新构建还是复用现有的测试基准性能的测试基准 目前尚未有针对大数据管理的测试基准,构建大数谢谢!谢谢!大数据基础技术概述日期:十二月22杭州华三通信技术有限公司夏飞03621
大数据基础技术概述日期:十二月22夏飞03621大数据基础技术概述大数据处理的基本流程大数据关键技术Hadoop介绍流计算介绍图计算介绍NoSQL介绍大数据面临的其他问题大数据基础技术概述大数据处理的基本流程大数据处理的基本流程整个大数据的处理流程可以定义为:在合适工具的辅助下,对广泛异构的数据源进行抽取和集成,结果按照一定的标准进行统一存储,并利用合适的数据分析技术对存储的数据进行分析,从中提取有益的知识并利用恰当的方式将结果展现给终端用户。具体来说,可以分为数据抽取与集成、数据分析以及数据解释。大数据处理的基本流程整个大数据的处理流程可以定义为:在合适工数据抽取与集成
大数据的一个重要特点就是多样性,这就意味着数据来源极其广泛,数据类型极为繁杂。这种复杂的数据环境给大数据的处理带来极大的挑战。要想处理大数据,首先必须对所需数据源的数据进行抽取和集成,从中提取出关系和实体,经过关联和聚合之后采用统一定义的结构来存储这些数据。在数据集成和提取时需要对数据进行清洗,保证数据质量及可信性。现有的数据抽取与集成方式可以大致分为以下四种类型:数据整合、数据联邦、数据传播和混合方法等。
(1)数据整合(DataConsolidation):不同数据源的数据被物理地集成到数据目标。利用ETL工具把数据源中的数据批量地加载到数据仓库,就属于数据整合的方式。
(2)数据联邦(DataFederation):在多个数据源的基础上建立一个统一的逻辑视图,对外界应用屏蔽数据在各个数据源的分布细节。对于这些应用而言,只有一个统一的数据访问入口,但是实际上,被请求的数据只是逻辑意义上的集中,在物理上仍然分布在各个数据源中,只有被请求时,才临时从不同数据源获取相关数据,进行集成后提交给数据请求者。当数据整合方式代价太大或者为了满足一些突发的实时数据需求时,可以考虑采用数据联邦的方式建立企业范围内的全局统一数据视图。
(3)数据传播(DataPropagation):数据在多个应用之间的传播。比如,在企业应用集成(EAI)解决方案中,不同应用之间可以通过传播消息进行交互。
(4)混合方式(AHybridApproach):在这种方式中,对于那些不同应用都使用的数据采用数据整合的方式进行集成,而对那些只有特定应用才使用的数据则采用数据联邦的方式进行集成。
数据抽取与集成大数据的一个重要特点就是多样性,这就意味着数数据分析传统的分析技术如数据挖掘、机器学习、统计分析等在大数据时代需要做出调整,因为这些技术在大数据时代面临着一些新的挑战,主要有:数据量大并不一定意味着数据价值的增加,相反这往往意味着数据噪音的增多大数据时代的算法需要进行调整(邦弗朗尼原理)数据结果好坏的衡量
数据分析传统的分析技术如数据挖掘、机器学习、统计分析等在大数数据解释数据分析是大数据处理的核心,但是用户往往更关心结果的展示。如果分析的结果正确但是没有采用适当的解释方法,则所得到的结果很可能让用户难以理解,极端情况下甚至会误导用户。大数据时代的数据分析结果往往也是海量的,同时结果之间的关联关系极其复杂,采用传统的解释方法基本不可行可以考虑从下面两个方面提升数据解释能力:
--引入可视化技术
--让用户能够在一定程度上了解和参与具体的分析过程
数据解释数据分析是大数据处理的核心,但是用户往往更关心结果的大数据基础技术概述大数据处理的基本流程大数据关键技术Hadoop介绍流计算介绍图计算介绍NoSQL介绍大数据面临的其他问题大数据基础技术概述大数据处理的基本流程大数据技术分类分布式缓存、基于MPP的分布式数据库、分布式文件系统、各种NoSQL分布式存储方案,内存数据库等存储计算应用MapReduce流计算图计算………HIVE,pig,mahout,Sqoop以及ETL工具,统计与报告工具等大数据技术分类分布式缓存、基于MPP的分布式数据库、分布式文Google的技术演进 Google于2006年首先提出了云计算的概念,并研发了一系列云计算技术和工具。难能可贵的是Google并未将这些技术完全封闭,而是以论文的形式逐步公开其实现。正是这些公开的论文,使得以GFS、MapReduce、Bigtable为代表的一系列大数据处理技术被广泛了解并得到应用,同时还催生出以Hadoop为代表的一系列云计算开源工具。下图展示了Google的技术演化过程:
Google的技术演进 Google于2006年首先提出大数据处理工具 Hadoop是目前最为流行的大数据处理平台。除了Hadoop,还有很多针对大数据的处理工具。这些工具有些是完整的处理平台,有些则是专门针对特定的大数据处理应用。下表归纳总结了现今一些主流的处理平台和工具。
大数据处理工具 Hadoop是目前最为流行的大数据处理平台大数据基础技术概述大数据处理的基本流程大数据关键技术Hadoop介绍流计算介绍图计算介绍NoSQL介绍大数据面临的其他问题大数据基础技术概述大数据处理的基本流程Hadoop简介Hadoop一个分布式系统基础架构,由Apache基金会开发。Hadoop是一个开源的可运行于大规模集群上的分布式并行编程框架,借助于Hadoop,程序员可以轻松地编写分布式并行程序,将其运行于计算机集群上,完成海量数据的计算。Hadoop已经发展成为目前最流行的大数据处理平台
Hadoop简介Hadoop一个分布式系统基础架构,由ApHadoop的作用和功能Hadoop采用了分布式存储方式,提高了读写速度,并扩大了存储容量。采用MapReduce来整合分布式文件系统上的数据,可保证分析和处理数据的高效。与此同时,Hadoop还采用存储冗余数据的方式保证了数据的安全性。Hadoop中HDFS的高容错特性,以及它是基于Java语言开发的,这使得Hadoop可以部署在低廉的计算机集群中,同时不限于某个操作系统。Hadoop中HDFS的数据管理能力,MapReduce处理任务时的高效率,以及它的开源特性,使其在同类的分布式系统中大放异彩,并在众多行业和科研领域中被广泛采用。
Hadoop的作用和功能Hadoop采用了分布式存储方式,提Hadoop的优点可扩展:不论是存储的可扩展还是计算的可扩展都是Hadoop的设计根本。经济:框架可以运行在任何普通的PC上。可靠:分布式文件系统的备份恢复机制以及MapReduce的任务监控保证了分布式处理的可靠性。(元数据磁盘错误,心跳测试,副本数)高效:分布式文件系统的高效数据交互实现以及MapReduce结合LocalData处理的模式,为高效处理海量的信息作了基础准备。
Hadoop的优点可扩展:不论是存储的可扩展还是计算的可扩展Hadoop生态系统Hadoop生态系统Hadoop生态系统Avro用于数据序列化的系统;HDFS是一种分布式文件系统,运行于大型商用机集群,HDFS为HBase提供了高可靠性的底层存储支持;HBase位于结构化存储层,是一个分布式的列存储数据库;MapReduce是一种分布式数据处理模式和执行环境,为HBase提供了高性能的计算能力;Zookeeper是一个分布式的、高可用性的协调服务,提供分布式锁之类的基本服务,用于构建分布式应用,为HBase提供了稳定服务和failover机制;Hive是一个建立在Hadoop基础之上的数据仓库,它提供了一些用于数据整理、特殊查询和分析存储在Hadoop文件中的数据集的工具;Pig是一种数据流语言和运行环境,用以检索非常大的数据集,大大简化了Hadoop常见的工作任务;Sqoop为HBase提供了方便的RDBMS数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便。
Hadoop生态系统Avro用于数据序列化的系统;Hadoop的新发展Google后Hadoop时代的新“三驾马车”——Caffeine、Pregel、Dremel在2010年,Google搜索引擎发生了重大变革。Google将其搜索迁移到新的软件平台,他们称之为“Caffeine”(bigtable)。Pregel主要绘制大量网上信息之间关系的“图形数据库”Dremel可以在极快的速度处理网络规模的海量数据。据Google提交的文件显示你可以在几秒的时间处理PB级的数据查询。
Hadoop的新发展Google后Hadoop时代的新“三驾大数据基础技术概述大数据处理的基本流程大数据关键技术Hadoop介绍流计算介绍图计算介绍NoSQL介绍大数据面临的其他问题大数据基础技术概述大数据处理的基本流程什么是流计算流计算来自于一个信念:数据的价值随着时间的流逝而降低,所以事件出现后必须尽快地对它们进行处理,最好数据出现时便立刻对其进行处理,发生一个事件进行一次处理,而不是缓存起来成一批再处理。流计算的概念:流计算是针对流式数据的实时计算。流式数据(流数据):是指将数据看作数据流的形式来处理。数据流是在时间分布和数量上无限的一系列动态数据集合体;数据记录是数据流的最小组成单元。流数据具有数据实时持续不断到达、到达次序独立、数据来源众多格式复杂、数据规模大且不十分关注存储、注重数据的整体价值而不关注个别数据等特点。
什么是流计算流计算来自于一个信念:流计算的应用场景流计算是针对流数据的实时计算,其主要应用在于产生大量流数据、同时对实时性要求高的领域。流计算一方面可应用于处理金融服务如股票交易、银行交易等产生的大量实时数据。另一方面流计算主要应用于各种实时Web服务中,如搜索引擎、购物网站的实时广告推荐,SNS社交类网站的实时个性化内容推荐,大型网站、网店的实时用户访问情况分析等。
流计算的应用场景流计算是针对流数据的实时计算,其主要应用在于流计算与Hadoop流计算与其他大数据解决方案的不同之处在于它的处理方式:Hadoop在本质上是一个批处理系统。数据被引入Hadoop文件系统(HDFS)并分发到各个节点进行处理。当处理完成时,结果数据返回到HDFS供始发者使用。流计算支持创建拓扑结构来转换没有终点的数据流。不同于Hadoop作业,这些转换从不停止,它们会持续处理到达的数据。为了支持流式处理,MapReduce需要被改造成Pipeline的模式,而不是reduce直接输出;考虑到效率,中间结果最好只保存在内存中等等。这些改动使得原有的MapReduce框架的复杂度大大增加,不利于系统的维护和扩展。用户被迫使用MapReduce的接口来定义流式作业,这使得用户程序的可伸缩性降低。
流计算与Hadoop流计算与其他大数据解决方案的不同之处在于流计算模型流计算实现了一种数据流模型,其中数据持续地流经一个转换实体网络。一个数据流的抽象称为一个流,这是一个无限的元组序列。元组就像一种使用一些附加的序列化代码来表示标准数据类型(比如整数、浮点和字节数组)或用户定义类型的结构。每个流由一个惟一ID定义,这个ID可用于构建数据源和接收器(sink)的拓扑结构。流起源于喷嘴,喷嘴将数据从外部来源流入流计算拓扑结构中。接收器(或提供转换的实体)称为螺栓
使用流计算为词频轻松地实现MapReduce功能。如图中所示,喷嘴生成文本数据流,螺栓实现Map功能(令牌化一个流的各个单词)。来自“map”螺栓的流然后流入一个实现Reduce功能的螺栓中(以将单词聚合到总数中)。流计算模型流计算实现了一种数据流模型,其中数据持续地流经一个流计算产品
Yahoo的S4
S4是一个通用的、分布式的、可扩展的、分区容错的、可插拔的流式系统,Yahoo!开发S4系统,主要是为了解决:搜索广告的展现、处理用户的点击反馈。
Twitter的storm
Twitter的storm:Storm是一个分布式的、容错的实时计算系统。
Storm用途:可用于处理消息和更新数据库(流处理),在数据流上进行持续查询,并以流的形式返回结果到客户端(持续计算),并行化一个类似实时查询的热点查询(分布式的RPC)。流计算产品Yahoo的S4流计算产品Items\ProjectsYahoo!s4TwitterStorm协议Apachelicense2.0EclipsePublicLicense1.0开发语言JavaClojure,Java,Clojure编写了核心代码结构去中心化的对等结构有中心节点nimbus,但非关键通信可插拔的通讯层,目前是基于UDP的实现基于facebook开源的thrift框架事件/Stream<K,A>序列,用户可自定义事件类提供Tuple类,用户不可自定义事件类,但是可以命名field和注册序列化器处理单元ProcessingElements,内置PE处理Bolt,没有内置任务,提供IBasicBolt处理count,join和aggregate等常见任务自动ack第三方交互提供API,ClientAdapter/Driver,第三方客户端输入或者输出事件定义Spout用于产生Stream,没有标准输出API持久化提供PersistAPI规范,可根据频率或者次数做持久化无特定API,用户可自行选择处理可靠处理无,可能会丢失事件提供对事件处理的可靠保证(可选)多语言支持暂时只支持Java多语言支持良好,本身支持Java,Clojure,其他非JVM语言通过thrift和进程间通讯Failover部分支持,数据无法failover部分支持,数据同样无法failoverLoadBalance不支持不支持并行处理取决于节点数目,不可调节可配置worker和task数目,storm会尽量将worker和task均匀分布动态增删节点不支持支持动态部署不支持支持web管理不支持支持代码成熟度半成品成熟活跃度低活跃编程编程+XML配置纯编程流计算产品Items\ProjectsYahoo!s4Tw大数据基础技术概述大数据处理的基本流程大数据关键技术Hadoop介绍流计算介绍图计算介绍NoSQL介绍大数据面临的其他问题大数据基础技术概述大数据处理的基本流程图计算遇到的问题大型图(像社交网络和网络图等)常常作为现在系统计算需要的一部分。现在存在许多图计算问题像最短路径、集群、网页排名、最小切割、连通分支等等,但还没有一个可扩展的通用系统来解决这些问题。解决这些问题的算法的特点:它们常常表现为比较差的内存访问局部性、针对单个顶点的处理工作过少、以及计算过程中伴随着的并行度的改变等问题。可能的解决方法:1、为特定的图应用定制相应的分布式实现2、基于现有的分布式计算平台3、使用单机的图算法库 ——如BGL,LEAD,NetworkX,JDSL,Standford,GraphBase,FGL等4、使用已有的并行图计算系统 ——如ParallelBGL,CGMgraph等图计算遇到的问题大型图(像社交网络和网络图等)常常作为现在图计算通用软件正是因为传统的图计算解决方案无法解决大型图的计算问题,因此,就需要设计能够用来解决这些问题的通用图计算软件。针对大型图的计算,目前通用的图处理软件主要包括两种:第一种主要是基于遍历算法和实时的图数据库,如Neo4j、OrientDB、DEX和InfiniteGraph。第二种则是以图顶点为中心的消息传递批处理的并行引擎,如Hama、GoldenOrb、Giraph和Pregel。图计算通用软件正是因为传统的图计算解决方案无法解Tinkerpop
下图为Tinkerpor框架图,各层功能见下面的备注Tinkerpop 下图为Tinkerpor框架图,各层功BSP模型
以图顶点为中心的消息传递批处理的并行引擎主要是基于BSP(BulkSynchronousParallel)模型所实现的并行图处理包。BSP是由哈佛大学Viliant和牛津大学BillMcColl提出的并行计算模型。一个BSP模型由大量相互关联的处理器(processor)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024装修垃圾清运合同范本
- 2024年废弃物处理爆破合同
- 2024家庭保姆用工合同版
- 2024年商场室内LED广告屏购销合同
- 2024年工程项目质量保证与验收合同条款
- 二手房产买卖合同协议模板
- 2024年简化版购房合同协议
- 各类维修合同范文集成
- 合同诉讼时效问题
- 2024版店铺合租合同样本
- GB∕T 33217-2016 冲压件毛刺高度
- 贷款客户信息登记表
- 旅游政策与法规 教学大纲
- 垃圾焚烧锅炉低温烘炉方案
- 直线和双曲线交点问题
- DB31∕T 398-2015 建筑垃圾车技术及运输管理要求
- 电力物资仓储管理问题分析及提升措施5200字
- 高中数学公式(苏教版)
- 危险源辨识与风险评价全流程讲解
- 建筑建筑物改造的防雷接地方案
- 能源与动力工程专业英语词汇
评论
0/150
提交评论