大数据历史及将来课件.pptx

上传人:牧羊曲112 文档编号:1563517 上传时间:2022-12-06 格式:PPTX 页数:63 大小:6.62MB
返回 下载 相关 举报
大数据历史及将来课件.pptx_第1页
第1页 / 共63页
大数据历史及将来课件.pptx_第2页
第2页 / 共63页
大数据历史及将来课件.pptx_第3页
第3页 / 共63页
大数据历史及将来课件.pptx_第4页
第4页 / 共63页
大数据历史及将来课件.pptx_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《大数据历史及将来课件.pptx》由会员分享,可在线阅读,更多相关《大数据历史及将来课件.pptx(63页珍藏版)》请在三一办公上搜索。

1、,目录,1.大数据 2.Hadoop3.HDFS4.MapReduce5.Hive6.Hbase7.Spark8.RDD9.Spark SQL10.Python大数据开发,BIG DATA,WEB,PB千T,CRM,TB千G,GB千兆,ERP,EB千P,不断增加的数据种类与复杂度,用户生成内容,移动网络,短信、彩信,舆情分析,外部统计,高清视频,语音转换,产品、服务log,社交网络,业务数据流,用户点击流,网络log,营销历史,A/B 测试,动态定价,联署网络,搜索营销,行为目标,动态过滤,付款信息,客户名单,客户接触,购买明细,购买记录,营销信息,客户细分,移动互联网,云计算,物联网,社交网

2、络,数据的低成本获取与分布式存储(Hadoop),基于位置的服务,内容分析,万兆交换,流计算,信息技术的飞速发展催生了大数据,大数据产生背景,数据膨胀相应的处理技术,4V: Volume,Variety,Value,Velocity数据体量巨大: 从TB级别,跃升到PB级别数据类型繁多: 网络日志、视频、图片、地理位置信息。价值密度低:海量数据中高价值信息的比例。处理速度快:秒级响应。Veracity(准确性):处理的结果要保证一定的准确性。,大数据的特点,面临核心问题:数据的存储和分析,磁盘存储和磁盘读取的比较:,数据堆成山发现知识难:,如今信息世界,数据大爆炸面向应用,各自为阵,烟囱林立缺

3、乏为决策提供知识的一个完整服务体系,资源的分类:计算能力,存储能力,网络速度,云技术为大数据处理提供了技术基础,云技术发展给了人们廉价获取海量计算和存储能力以前一个大型机,或者一个数据处理中心的事情,目前可以用一个云计算(Hadoop)集群来完成大量CPU、内存、磁盘、网络1T数据,100台机器,每台存储1%,同时读取,只需要几分钟,大数据分析带来变化,数据大小 由GB 到PB数据更新 由频繁读写到一次写入多次读取数据结构 静态模式到动态模式计算方法 应用为主转变为分析为主,大数据分析的五个方面,Analytic Visualizations(可视化分析)不管是对数据分析专家还是普通用户,数据

4、可视化是数据分析工具最基本的要求。可视化可以直观的展示数据,让数据自己说话,让观众听到结果。Data Mining Algorithms(数据挖掘算法)可视化是给人看的,数据挖掘就是给机器看的。集群、分割、孤立点分析还有其他的算法让我们深入数据内部,挖掘价值。这些算法不仅要处理大数据的量,也要处理大数据的速度。,大数据分析的五个方面,Predictive Analytic Capabilities(预测性分析能力)数据挖掘可以让分析员更好的理解数据,而预测性分析可以让分析员根据可视化分析和数据挖掘的结果,做出一些预测性的判断。Semantic Engines(语义引擎)非结构化数据的多样性,需

5、要一系列的工具去解析,提取,分析数据。语义引擎需要被设计成能够从“文档”中智能提取信息Data Quality and Master Data Management(数据质量和数据管理)数据质量和数据管理是一些管理方面的最佳实践。通过标准化的流程和工具对数据进行处理可以保证一个预先定义好的高质量的分析结果。,大数据目前主流技术主要有Hadoop、Spark、Storm三类,以及在此之下配套发展的HDFS、Map Reduce、Hbase、Hive、Yarn等一系列开源软件。其中Hadoop发展最早,商业化也最成熟,目前最新版本为3.0。Spark目前最新版本为2.0, Spark这两年发展迅速

6、,是大数据最火的技术。,目前大数据主流技术,Kafka分布式消息系统,Flume日志数据,Sqoop关系型数据,HDFSHadoop 分布式文件系统,HBaseNoSQL数据库,MapReduce批处理,Spark内存处理,Streaming实时处理,Pig脚本语言,HiveSQL,GraphX图计算,Spark SQL,Tableau,Qlikview,Business Objects,Cognos,R/SPSS,MLLib机器学习,Tez批处理,数据存储,数据采集,数据处理,数据分析,数据展示,数据管控,YARN通用资源管理框架,ZooKeeper分布式应用程序协调服务,Ambari集群管

7、控,Oozie工作流引擎服务,批处理,实时处理,Splunk机器数据,大数据常用技术架构,大数据常用技术架构,大数据与传统数据仓库结合,大数据案例,大数据案例,大数据案例,大数据案例,001张三15男性学生002李四32女性教师003王二麻44男性工程师,001张三15+1男性学生002李四32+1女性教师003王二麻44+1男性工程师,Local file,读取,处理,分析,002李四33女性教师,存储,Local file1,假如没有数据库,HDFS(file),读取,MapReduce/Spark,NoSQL/HDFS,结果,存储,展示,分析,SQL,目录,1.大数据 2.Hadoop3

8、.HDFS4.MapReduce5.Hive6.Hbase7.Spark8.RDD9.Spark SQL10.Python大数据开发,Google的三大技术核心,GFS分布式文件系统MapReduce数据处理机制BigTable表结构,GFS,GFSClient(客户端):应用程序的访问接口Master(主服务器):管理节点,在逻辑上只有一个,保存系统的元数据,负责整个文件系统的管理。Chunk Server(数据块服务器):负责具体的存储工作。数据以文件的形式存储在Chunk Server上。,Bigtable,一个存储Web网页的例子的表的片断。行名是一个反向URL。contents列族存

9、放的是网页的内容,anchor列族存放引用该网页的锚链接文本。CNN的主页被Sports Illustrater和MY-look的主页引用,因此该行包含了名为“anchor:”和 “anchhor:my.look.ca”的列。每个锚链接只有一个版本(alex注:注意时间戳标识了列的版本,t9和t8分别标识了两个锚链接的版本);而contents列则有三个版本,分别由时间戳t3,t5,和t6标识。,Bigtable,MapReduce,Hadoop是Google开源的实现Doug Cutting(道卡廷)等在Nutch技术基础上受到Google相关论文的启发Yahoo !支持, 由Apache主

10、导的开源系统Hadoop得到大量厂商的支持目前有众多的产品序列,Hadoop与Google,Hadoop这个单词是,是他儿子的一个毛绒玩具小象的名字,Hadoop核心技术,HDFS分布式的文件管理系统MapReduce基于键值对Key/Value Pair分布式并行计算模型Hbase 数据结构化管理组件,采用基于列族的稀疏大表管理机制,Hadoop组成,Hadoop版本,Hadoop有两个分支,分别来源于0.20.x 和0.23.x。0.20.x是比较稳定的版本,由其发展出Hadoop1.0 ,主要是修正了bug,改进了性能和兼容性。0.20.X和1.0是目前教学中最主流的版本,但存在单点故障

11、的隐患。0.23.x中新特性更多,但相对不稳定。由其分支发展出Hadoop2.0。该版本在4000 个节点的集群上进行测试,主要工作是处理无共享存储下的HDFS HA ,还包括YARN (下一代MapReduce)Resource Manager 以及调度方面的改进。,HDFS特点,一个名字节点和多个数据节点数据复制(冗余机制)故障检测安全性,HDFS的NameNode和DataNode,HDFS cluster 有两类节点,以master/worker模式工作: 一个Namenode(master)和一批Datanode(workers). Namenode管理文件系统的namespace.

12、 它以两个文件的形式,永久保存在本地文件上: namespace image和edit log. Namenode同时记录着每个文件中各块,所在的Datanode的信息Datanodes是文件系统的工作节点,存储和检索数据块blocks, Datanodes定期向Namenode发送它们所存储的块的列表.,数据复制冗余机制,HDFS为了做到可靠,创建了多份数据块(block,64M大小)的复制(replicas)并将它们放置在服务器群的计算节点中(Data nodes)MapReduce就可以在它们所在的节点上处理这些数据了。,机架感知策略,故障检测,名字节点NameNode: 日志文件,镜像

13、文件数据节点DataNode 心跳包(检测是否宕机) 块报告(安全模式下检测) 数据完整性检测(校验,比较),安全性,一般来讲,Hadoop本身不负责管理用户的安全认证机制依赖Kerberos, 一个成熟的开源网络审计协议来进行认证,RDBMS vs MapReduce,MapReduce适合于 以批处理方式处理需要分析整个数据集的问题, 尤其是adhoc 分析. MapReduce适合于一次写入,多次读出的应用.RDBMS 适合于 多次读写、点查询,索引后可以提供低延迟的数据检索和快速的数量数据更新. RDBMS 适合于持续更新的数据集,Hadoop中的MapReduce,并行计算架构和模型

14、依托于HDFS由JobClient端发起,Jobtracker协调,众多Tasktracker参与和一系列的task并行执行若干Map,reduce,以及combine操作和函数,分布式并行计算,两类节点控制job执行过程一个jobtracker和一堆tasktrackers. Jobtracker通过调度tasktrackers上执行的任务,来协调所有运行在系统上的作业jobs. jobtracker此时记录每项作业任务task的整体进度情况. Tasktrackers在运行任务的同时,将进度报告发给jobtracker, 如果一个task 失败,jobtracker将在另外一个tasktr

15、acker节点上重新调度该任务.,Hadoop1.0的MapReduce 架构,V1版的瓶颈问题,JobTracker 是 Map-reduce 的集中处理点,存在单点故障。JobTracker 完成了太多的任务,造成了过多的资源消耗,当 map-reduce job 非常多的时候,会造成很大的内存开销,只能支持 4000 节点主机的上限。在 TaskTracker 端,以 map/reduce task 的数目作为资源的表示过于简单,没有考虑到 cpu/ 内存的占用情况,如果两个大内存消耗的 task 被调度到了一块,很容易出现 OOM。Yarn是MapReduce的新一代版本(V2),Ya

16、rn的设计,YARN 不再有单独的jobtracker或tasktrackers,取而代之的是ResourceManager, ApplicationMaster与NodeManager三个部分ResourceManager: -是一个中心的服务,它做的事情是调度、启动每一个Job 所属的ApplicationMaster、另外监控ApplicationMaster的存在情况。 -ResourceManager运行在HDFS 集群的Name Node 上。ApplicationMaster -负责一个Job 生命周期内的所有工作,类似老的框架中JobTracker, 负责task的监控、重启

17、-注意每一个Job都有一个ApplicationMaster,它可以运行在ResourceManager以外的机器上。 -向ResourceManager申请集群中的资源(以Containers 命名)NodeManager功能比较专一,就是负责Container 状态的维护,并向ResourceManager保持心跳。每个工作节点有一个node managers。,Yarn下的MapReduce 架构,Yarn的架构,目录,1.大数据 2.Hadoop3.HDFS4.MapReduce5.Hive6.Hbase7.Spark8.RDD9.Spark SQL10.Python大数据开发,HDF

18、S简介,管理跨网中,多台计算机存储的文件系统,称为分布式文件系统,能够容忍节点故障且不丢失数据HDFS:Hadoop Distributed File SystemHDFS 以流式数据访问模式,来存储大文件,运行于商用硬件集群上,HDFS的设计,超大文件文件大小是以G,T,P 为单位的流式数据访访问模式:一次写入,多次读取.数据集通常由数据源生成,或从数据源复制,并长时间在此数据集上,进行多类分析. 每次分析将涉及该数据集的大部分或全部读取数据集的延迟,要远远重要于读取某条数据记录的时间.商用硬件Hadoop对硬件的要求是不求昂贵,但求可靠. 设计在商用机器组成的cluster硬件上对大型的集

19、群来说,节点的故障率还是较高的. HDFS 被设计成能够继续运行,且不让用户察觉到明显的中断.,不适合HDFS的情况,低时间延迟的数据访问几十毫秒范围的低延迟访问应用 HDFS 是为高数据吞吐量而优化的. 对低延迟来说,HBase是一个好的选择大量的小文件Namenode将文件系统的元数据存储在内存中每个文件、目录和数据块的存储信息,大概是150 bytes. (100万个文件就需要300M空间)文件系统存储文件的总数,受限于Namenode的内存容量. 不支持多用户写入及任意修改文件,HDFS blocks块,数据块是数据读写的最小单位,HDFS上的文件也被划分为块大小的多个分块64 MB

20、for HDFSHDFS blocks貌似较大,其目的是为了最小化寻址开销. 寻址时间是10 ms, 传输速率是100 MB/s, 要使得寻址时间占传输时间的1%块大小应该是100 MB左右.使用blocks好处是:文件大小可以大于网上任意一个盘的容量.HDFS使用块抽象,而非整个文件作为存储单元,大大简化了存储子系统的设计. 块非常适合用于数据备份,进而提供数据容错能力和可用性.,HDFS基本架构,读取HDFS数据,读文件流程,使用HDFS提供的客户端开发库Client,向远程的Namenode发起RPC请求;Namenode会视情况返回文件的部分或者全部block列表,对于每个block,

21、Namenode都会返回有该block拷贝的DataNode地址;客户端开发库Client会选取离客户端最接近的DataNode来读取block;如果客户端本身就是DataNode,那么将从本地直接获取数据.读取完当前block的数据后,关闭与当前的DataNode连接,并为读取下一个block寻找最佳的DataNode;当读完列表的block后,且文件读取还没有结束,客户端开发库会继续向Namenode获取下一批的block列表。读取完一个block都会进行checksum验证,如果读取datanode时出现错误,客户端会通知Namenode,然后再从下一个拥有该block拷贝的datano

22、de继续读。,数据写入HDFS,写文件流程,使用HDFS提供的客户端开发库Client,向远程的Namenode发起RPC请求;Namenode会检查要创建的文件是否已经存在,创建者是否有权限进行操作,成功则会为文件创建一个记录,否则会让客户端抛出异常;当客户端开始写入文件的时候,开发库会将文件切分成多个packets,并向Namenode申请新的blocks,获取用来存储replicas的合适的datanodes列表。开发库把packet以流的方式写入第一个datanode,该datanode把该packet存储之后,再将其传递给在下一个datanode,直到最后一个datanode,这种写

23、数据的方式呈流水线的形式。最后一个datanode成功存储之后会返回一个ack packet,成功收到datanode返回的ack packet后会移除相应的packet。如果传输过程中,有某个datanode出现了故障,出现故障的datanode会被移除,同时Namenode会分配一个新的datanode,保持replicas设定的数量。,HDFS数据完整性,HDFS 存储着每个数据块的replica, 因此可以通过复制完好的数据复本,来修复数据。当客户端client在读取数据块时,一旦检测到错误后, 就向NameNode报告此坏块,停止读取的Datanode,同时Namenode将此错误块

24、复本标记为坏。Namenode将此复本复制到另外一个DataNode中,保证replica的数量恢复正常. 已损坏的数据块复本被抛弃。,数据传输和存储,压缩Compression减少文件存储空间加速数据在网络和磁盘上的传输 压缩算法需要权衡空间/时间序列化Serialization序列化就是将结构化对象,转化为字节流在网络上传输写到磁盘上进行永久存储反序列化是将字节流转化为结构化对象Hadoop使用自己的序列化格式Writables,HDFS文件格式,Hadoop中的文件格式大致上分为面向行和面向列两类:面向行:同一行的数据存储在一起,即连续存储。SequenceFile,MapFile,Av

25、ro Datafile。采用这种方式,如果只需要访问行的一小部分数据,亦需要将整行读入内存,推迟序列化一定程度上可以缓解这个问题,但是从磁盘读取整行数据的开销却无法避免。面向行的存储适合于整行数据需要同时处理的情况。面向列:整个文件被切割为若干列数据,每一列数据一起存储。Parquet , RCFile,ORCFile。面向列的格式使得读取数据时,可以跳过不需要的列,适合于只处于行的一小部分字段的情况。但是这种格式的读写需要更多的内存空间,因为需要缓存行在内存中(为了获取多行中的某一列)。同时不适合流式写入,因为一旦写入失败,当前文件无法恢复,而面向行的数据在写入失败时可以重新同步到最后一个同

26、步点,所以Flume采用的是面向行的存储格式。,HDFS文件格式,HDFS新版本的改进,改进方式采用了Federation和HA的方法减少单点故障带来的损失HDFS新版本的改进增强系统的隔离性,先前HDFS的局限性HDFS的底层存储(DataNode)是可以水平扩展的,但当前的namespace只能存放在单个NameNode上,限制了集群中数据块,文件和目录的数目。单个NameNode当前仅支持约60K的task,而下一代Apache MapReduce将支持多达100K的并发任务,这隐含着要支持多个NameNode 。现在大部分公司的集群都是共享的,每天有来自不同group的不同用户提交作业

27、。单个NameNode难以提供隔离性。,Federation架构,Federation使用了多个独立的Namenode/ namespace。之间联合的,相互独立且不需要互相协调,各自分工,管理自己的区域。每个Datanode要向集群中所有的Namenode注册,且周期性地向所有Namenode发送心跳和块报告,并执行来自所有Namenode的命令。,block pool由属于同一个namespace的数据块组成,每个Datanode会存储集群中所有block pool的数据块。每个block pool内部自治,各自管理各自的block,不会与其他block pool交流。一个Namenode挂起时,不会影响其他Namenode。,HA架构,HA + Federation架构,目录,1.大数据 2.Hadoop3.HDFS4.MapReduce5.Hive6.Hbase7.Spark8.RDD9.Spark SQL10.Python大数据开发,后续整理后发出-!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号