大数据技术原理和应用林子雨版课后习题答案解析_第1页
大数据技术原理和应用林子雨版课后习题答案解析_第2页
大数据技术原理和应用林子雨版课后习题答案解析_第3页
大数据技术原理和应用林子雨版课后习题答案解析_第4页
大数据技术原理和应用林子雨版课后习题答案解析_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章1.试述信息技术发展史上3次信息化浪潮及详细内容。信息化浪潮发生时间标志处理问题代表企业第一次浪潮1980年前后个人计算机信息处理Intel、AMD、IBM、苹果、微软、联想、戴尔、惠普等第二次浪潮1995年前后互联网信息传输雅虎、谷歌、阿里巴巴、baidu、腾讯等第三次浪潮前后物理网、云计算和大数据信息爆炸将涌现出一批新市场标杆企业试述数据产生方式经历几个阶段答:运行式系统阶段,用户原创内容阶段,感知式系统阶段。试述大数据4个基本特征答:数据量大、数据类型繁多、处理速度快和价值密度低。试述大数据时代“数据爆炸”特征答:大数据时代“数据爆炸”特征是,人类社会产生数据一致都以每年50%速度增加,也就是说,每两年增加一倍。数据研究经历了哪4个阶段?答:人类自古以来在科学研究上先后历经了试验、理论、计算、和数据四种范式。试述大数据对思维方式主要影响答:大数据时代对思维方式主要影响是三种思维转变:全样而非抽样,效率而非精准,相关而非因果。大数据决议与传统基于数据仓库决议有什么区分答:数据仓库具备批量和周期性数据加载以及数据改变实时探测、传输和加载能力,能结合历史数据和实时数据实现查询分析和自动规则触发,从而提供对战略决议和战术决议。大数据决议能够面向类型繁多、非结构化海量数据进行决议分析。举例说明大数据基本应用答:领域大数据应用金融行业大数据在高频交易、小区情绪分析和信贷风险分析三大金融创新领域发挥主要作用。汽车行业利用大数据和物联网技术五人驾驶汽车,在不远未来将走进我们日常生活互联网行业借助于大数据技术,能够分析客户行为,进行商品推荐和有针对性广告投放个人生活大数据还能够应用于个人生活,利用与每个人相关联“个人大数据”,分析个人生活行为习惯,为其提供愈加周全个性化服务。举例说明大数据关键技术答:批处理计算,流计算,图计算,查询分析计算大数据产业包含哪些关键技术。答:IT基础设施层、数据源层、数据管理层、数据分析层、数据平台层、数据应用层。定义并解释以下术语:云计算、物联网答:云计算:云计算就是实现了经过网络提供可伸缩、廉价分布式计算机能力,用户只需要在具备网络接入条件地方,就能够随时随地取得所需各种IT资源。物联网是物物相连互联网,是互联网延伸,它利用局部网络或互联网等通信技术把传感器、控制器、机器、人类和物等经过新方式连在一起,形成人与物、物与物相连,实现信息化和远程管理控制。详细阐述大数据、云计算和物联网三者之间区分与联络。大数据、云计算和物联网区分大数据、云计算和物联网联络大数据侧重于海量数据存放、处理与分析,海量数据中发觉价值,服务于生产和生活;云计算本质上皆在整合和优化各种IT资源并经过网络已服务方法,廉价地提供给用户;物联网发展目标是实现呜呜向量,应用创新是物联网关键从整体来看,大数据、云计算和物联网这三者是相辅相成。大数据根植于云计算,大数据分析很多技术都来自于云计算,云计算分布式存放和管理系统提供了海量数据存放和管理能力,没有这些云计算技术作为支撑,大数据分析就无从谈起。物联网传感器源源不停产生大量数据,组成了大数据主要数据起源,物联网需要借助于云计算和大数据技术,实现物联网大数据存放、分析和处理。第二章试述hadoop和谷歌mapreduce、gfs等技术之间关系答:Hadoop关键是分布式文件系统HDFS和MapReduce,HDFS是谷歌文件系统GFS开源实现,MapReduces是针对谷歌MapReduce开源实现。试述Hadoop具备哪些特征。答:高可靠性,高效性,高可扩展性,高容错性,成本低,运行在Linux平台,支持多个编程语言试述Hadoop在各个领域应用情况。答:,雅虎在Sunnyvale总部建立了M45——一个包含了4000个处理器和1.5PB容量Hadooop集群系统;Facebook主要将Hadoop平台用于日志处理,推荐系统和数据仓库等方面;baidu主要使用Hadoop于日志存放和统计、网页数据分析和挖掘、商业分析、在线数据反馈、网页聚类等。试述Hadoop项目结构以及每个部分详细功效。答:PigChukwaHiveHBaseMapReduceHDFSZookeeperCommonAvroCommeon是为Hadoop其余子项目提供支持惯用工具,主要包含文件系统、RPC和串行化库Avro是为Hadoop子项目,用于数据序列化系统,提供了丰富数据结构类型、快速可压缩二进制数据格式、存放连续性数据文件集、远程调用功效和简单动态语言集成功效。HDFS是Hadoop项目标两个关键之一,它是针对谷歌文件系统开源实现。HBase是一个提升可靠性、高性能、可伸缩、实时读写、分布式列式数据库,通常采取HDFS作为其底层数据存放。MapReduce是针对谷歌MapReduce开源实现,用于大规模数据集并行运算。Zoookepper是针对谷歌Chubby一个开源实现,是高效和可靠协同工作系统,提供分布式锁之类基本服务,用于构建分布式应用,减轻分布式应用程序所负担协调任务。Hive是一个基于Hadoop数据仓库工具,能够用于对Hadoop文件中数据集进行数据整理、特殊查询和分布存放。Pig是一个数据流语言和运行环境,适合于使用Hadoop和MapReducce平台上查询大型半结构化数据集。Sqoop能够改进数据互操作性,主要用来在H大哦哦哦配合关系数据库之间交换数据。Chukwa是一个开源、用于监控大型分布式系统数据搜集系统,能够将各种类型数据搜集成适合Hadoop处理文件,并保留在HDFS中供Hadoop进行各种MapReduce操作。第三章试述分布式文件系统设计需求。设计需求含义HDFS实现情况透明性具备访问透明性、位置透明性、性能、和伸缩透明性只能提供一定程度访问透明性,完全支持位置透明性、性能和伸缩透明性并发控制客户端对于文件读写不应该影响其余客户端对同一个文件读写机制非常简单,任何时候都只允许有一个程序写入某个文件文件复制一个文件能够拥有不一样位置多个副本HDFS采取了多副本机制硬件和操作系统异构性能够在不一样操作系统和计算机上实现一样客户端和服务端程序采取Java语言开发,具备很好跨平台能力可伸缩性支持节点动态加入或退出建立在大规模廉价机器上分布式文件系统集群,具备很好伸缩性容错确保文件服务在客户端或者服务端出现问题时候能正常使用具备多副本机制和故障自动检测、恢复机制安全确保系统安全性安全性较弱分布式文件系统是怎样实现较高水平扩展?分布式文件系统在物理结构上是由计算机集群中多个节点组成,这些节点分为两类,一类叫“主节点”(MasterNode)或者也被称为“名称结点”(NameNode),另一类叫“从节点”(SlaveNode)或者也被称为“数据节点”(DataNode)试述HDFS中块和普通文件系统中块区分。答:在传统文件系统中,为了提升磁盘读写效率,通常以数据块为单位,恶如不是以字节为单位。HDFS中块,默认一个块大小为64MB,而HDFS中文件会被拆分成多个块,每个块作为独立单元进行存放。HDFS在块大小设计上显著要大于普通文件系统。试述HDFS中名称节点和数据节点详细功效。答:名称节点负责管理分布式文件系统系统命名空间,统计分布式文件系统中每个文件中各个块所在数据节点位置信息;数据节点是分布式文件系统HDFS工作节点,负责数据存放和读取,会依照客户端或者是名称节点调度来进行数据存放和检索,并向名称节点定时发送自己所存放块列表。hadoopfs-ls<path>显示<path>指定文件详细信息hadoopfs-cat<path>将<path>指定文件内容输出到标准输出hadoopfs-mkdir<path>创建<path>指定文件夹hadoopfs-get[-ignorecrc][-crc]<src><localdst>复制<src>指定文件到当地文件系统<localdst>指定文件或文件夹。-ignorecrc选项复制CRC校验失败文件。使用-crc选项复制文件以及CRC信息。hadoopfs-put<localsrc><dst>从当地文件系统中复制<localsrc>指定单个或多个源文件到<dst>指定目标文件系统中。也支持从标准输入(stdin)中读取输入写入目标文件系统。hadoopfs-rmr<path>删除<path>指定文件夹及其全部文件第四章试述在Hadoop体系架构中HBase与其余组成部分相互关系。答:HBase利用HadoopMapReduce来处理HBase中海量数据,实现高性能计算;利用Zookeeper作为协同服务,实现稳定服务和失败恢复;使用HDFS作为高可靠底层存放,利用廉价集群提供海量数据存放能力;Sqoop为HBase底层数据导入功效,Pig和Hive为HBase提供了高层语言支持,HBase是BigTable开源实现。请阐述HBase和BigTable底层技术对应关系答:项目BigTableHBase文件存放系统GFSHDFS海量数据处理MapReduceHadoopMapReduce协同服务管理ChubbyZookeeper请阐述HBase和传统关系数据库区分答:区分传统关系数据库HBase数据类型关系模型数据模型数据操作插入、删除、更新、查询、多表连接插入、查询、删除、清空,无法实现表与表之间关联存放模式基于行模式存放,元组或行会被连续地存放在磁盘也中基于列存放,每个列族都由几个文件保留,不一样列族文件是分离数据索引针对不一样列构建复杂多个索引只有一个行键索引数据维护用最新当前值去替换统计中原来旧值更新操作不会删除数据旧版本,而是生成一个新版本可伸缩性极难实现横向扩展,纵向扩展空间也比较有限轻易地经过在集群中增加或者降低硬件数量来实现性能伸缩HBase有哪些类型访问接口?答:HBase提供了NativeJavaAPI,HBaseShell,ThriftGateway,RESTGateWay,Pig,Hive等访问接口。请以实例说明HBase数据模型。列限定符列族列限定符列族答:InfoNameMajorEmailLuoMinMathLiuJunMathXieYouMath行键单元格单元格有两个时间戳ts1和ts2行键单元格单元格有两个时间戳ts1和ts2每个时间戳对应一个数据版本分别解释HBase中行键、列键和时间戳概念行键是唯一,在一个表里只出现一次,不然就是在更新同一行,行键能够是任意字节数组。列族需要在创建表时候就定义好,数量也不宜过多。列族名必须由可打印字符组成,创建表时候不需要定义好列。时间戳,默认由系统指定,用户也能够显示设置。使用不一样时间戳来区分不一样版本。请举个实例来阐述HBase概念视图和物理视图不一样HBase数据概念视图行键时间戳列族contents列族anchor“n.www”T5Anchor:=”CNN”T3Anchor:my.look.ca=”CNN”“n.www”T3Content:html=”<html>...”T2Content:html=”<html>...”T1Content:html=”<html>...”HBase数据物理视图行键时间戳列族anchor“n.www”T5Anchor:=”CNN”T4Anchor:my.look.ca=”CNN”行键时间戳列族contents“n.www”T3Content:html=”<html>...”T2Content:html=”<html>...”T1Content:html=”<html>...”在HBase概念视图中,一个表能够视为一个稀疏、多维映射关系。在物理视图中,一个表会按照属于同一列族数据保留在一起试述HBase各功效组建及其作用(1)库函数:链接到每个客户端;(2)一个Master主服务器:主服务器Master主要负责表和Region管理工作;(3)许多个Region服务器:Region服务器是HBase中最关键模块,负责维护分配给自己Region,并响应用户读写请求请阐述HBase数据分区机制。答:HBase采取分区存放,一个大表会被分拆许多个Region,这些Region会被分发到不一样服务器上实现分布式存放。HBase中分区是怎样定位。经过构建映射表每个条目包含两项内容,一个是Regionde标识符,另一个是Region服务器标识,这个条目就标识Region和Region服务器之间对应关系,从而就能够知道某个Region被保留在哪个Region服务器中。试述HBase三层结构中各层次名称和作用。层次名称作用第一层Zookeeper文件统计了-ROOT-表位置信息第二层-ROOT-表统计了.META.表Region位置信息-ROOT-表只能有一个Region。经过-ROOT-表,就能够访问.META.表中数据第三层.META.表统计了用户数据表Region位置信息,.META.表能够有多个Region,保留了HBase中全部用户数据表Region位置信息请阐述HBase三层结构下,客户端是怎样访问到数据。答:首先访问Zookeeper,获取-ROOT表位置信息,然后访问-Root-表,取得.MATA.表信息,接着访问.MATA.表,找到所需Region详细位于哪个Region服务器,最终才会到该Region服务器读取数据。试述HBase系统基本架构以及每个组成部分作用。(1)客户端客户端包含访问HBase接口,同时在缓存中维护着已经访问过Region位置信息,用来加紧后续数据访问过程(2)Zookeeper服务器Zookeeper能够帮助选举出一个Master作为集群总管,并确保在任何时刻总有唯一一个Master在运行,这就防止了Master“单点失效”问题(3)Master主服务器Master主要负责表和Region管理工作:管理用户对表增加、删除、修改、查询等操作;实现不一样Region服务器之间负载均衡;在Region分裂或合并后,负责重新调整Region分布;对发生故障失效Region服务器上Region进行迁移(4)Region服务器Region服务器是HBase中最关键模块,负责维护分配给自己Region,并响应用户读写请求请阐述Region服务器向HDFS文件系统中读写数据基本原理Region服务器内部管理一系列Region对象和一个HLog文件,其中,HLog是磁盘上面统计文件,它统计着全部更新操作。每个Region对象又是由多个Store组成,每个Store对象了表中一个列族存放。每个Store又包含了MemStore和若干个StoreFile,其中,MemStore是在内存中缓存。试述HStore工作原理每个Store对应了表中一个列族存放。每个Store包含一个MenStore缓存和若干个StoreFile文件。MenStore是排序内存缓冲区,当用户写入数据时,系统首先把数据放入MenStore缓存,当MemStore缓存满时,就会刷新到磁盘中一个StoreFile文件中,当单个StoreFile文件大小超出一定阈值时,就会触发文件分裂操作。试述HLog工作原理答:HBase系统为每个Region服务器配置了一个HLog文件,它是一个预写式日志(WriteAheadLog),用户更新数据必须首先写入日志后,才能写入MemStore缓存,而且,直到MemStore缓存内容对应日志已经写入磁盘,该缓存内容才能被刷写到磁盘。在HBase中,每个Region服务器维护一个HLog,而不是为每个Region都单独维护一个HLog。请说明这种做法优缺点。优点: 多个Region对象更新操作所发生日志修改,只需要不停把日志统计追加到单个日志文件中,不需要同时打开、写入到多个日志文件中。缺点:假如一个Region服务器发生故障,为了恢复其上次Region对象,需要将Region服务器上对象,需要将Region服务器上HLog按照其所属Region对象进行拆分,然后分发到其余Region服务器上执行恢复操作。当一台Region服务器意外终止时,Master怎样发觉这种意外终止情况?为了恢复这台发生意外Region服务器上Region,Master应该做出哪些处理(包含怎样使用HLog进行恢复)?Zookeeper会实时监测每个Region服务器状态,当某个Region服务器发生故障时,Zookeeper会通知Master。Master首先会处理该故障Region服务器上面遗留HLog文件,这个遗留HLog文件中包含了来自多个Region对象日志统计。系统会依照每条日志统计所属Region对象对HLog数据进行拆分,分别放到对应Region对象目录下,然后,再将失效Region重新分配到可用Region服务器中,并把与该Region对象相关HLog日志统计也发送给对应Region服务器。Region服务器领取到分配给自己Region对象以及与之相关HLog日志统计以后,会重新做一遍日志统计中各种操作,把日志统计中数据写入到MemStore缓存中,然后,刷新到磁盘StoreFile文件中,完成数据恢复。第五章怎样准确了解NoSQL含义?NoSQL是一个不一样于关系数据库数据库管理系统设计方式,是对非关系型数据库一类统称,它采取数据模型并非传统关系数据库关系模型,而是类似键/值、列族、文档等非关系模型。试述关系数据库在哪些方面无法满族Web2.0应用需求。 关系数据库已经无法满足Web2.0需求。主要表现在以下几个方面:(1)无法满足海量数据管理需求(2)无法满足数据高并发需求(3)无法满足高可扩展性和高可用性需求请比较NoSQL数据库和关系数据库优缺点。比较标准RDBMSNoSQL备注数据库原理完全支持部分支持RDBMS关于系代数理论作为基础NoSQL没有统一理论基础数据规模大超大RDBMS极难实现横向扩展,纵向扩展空间也比较有限,性能会伴随数据规模增大而降低NoSQL能够很轻易经过添加更多设备来支持更大规模数据数据库模式固定灵活RDBMS需要定义数据库模式,严格恪守数据定义和相关约束条件NoSQL不存在数据库模式,能够自由灵活定义并存放各种不一样类型数据查询效率快能够实现高效简单查询,不过不具备高度结构化查询等特征,复杂查询性能不尽人意RDBMS借助于索引机制能够实现快速查询(包含统计查询和范围查询)很多NoSQL数据库没有面向复杂查询索引,即使NoSQL能够使用MapReduce来加速查询,不过,在复杂查询方面性能依然不如RDBMS一致性强一致性弱一致性RDBMS严格恪守事务ACID模型,能够确保事务强一致性很多NoSQL数据库放松了对事务ACID四性要求,而是恪守BASE模型,只能确保最终一致性数据完整性轻易实现极难实现任何一个RDBMS都能够很轻易实现数据完整性,比如经过主键或者非空约束来实现实体完整性,经过主键、外键来实现参考完整性,经过约束或者触发器来实现用户自定义完整性不过,在NoSQL数据库却无法实现扩展性通常好RDBMS极难实现横向扩展,纵向扩展空间也比较有限NoSQL在设计之初就充分考虑了横向扩展需求,能够很轻易经过添加廉价设备实现扩展可用性好很好RDBMS在任何时候都以确保数据一致性为优先目标,其次才是优化系统性能,伴随数据规模增大,RDBMS为了确保严格一致性,只能提供相对较弱可用性大多数NoSQL都能提供较高可用性标准化是否RDBMS已经标准化(SQL)NoSQL还没有行业标准,不一样NoSQL数据库都有自己查询语言,极难规范应用程序接口StoneBraker认为:NoSQL缺乏统一查询语言,将会拖慢NoSQL发展技术支持高低RDBMS经过几十年发展,已经非常成熟,Oracle等大型厂商都能够提供很好技术支持NoSQL在技术支持方面依然处于起步阶段,还不成熟,缺乏有力技术支持可维护性复杂复杂RDBMS需要专门数据库管理员(DBA)维护NoSQL数据库即使没有DBMS复杂,也难以维护5.试述NoSQL数据库四大类型答:键值数据库、列族数据库、文档数据库和图数据库6.试述键值数据库、列族数据库、文档数据库和图数据库适用场所和优缺点。数据库适用场所优点缺点键值数据库经过键而是经过值来查业务扩展性好,灵活性好,大量写操作时性能高无法存放结构化信息,条件查询效率较低列族数据库不需要ACID事务支持情形查找速度快,可扩展性强,轻易进行分布式扩展,复杂性低功效较少,大都不支持强事务一致性文档数据库只在相同文档上添加事务性能好(高并发),灵活性高,复杂性低,数据结构灵活提供嵌入式文档功效,将经常查询数据存放在同一个文档中既能够依照键来构建索引,也能够依照内容构建索引缺乏统一查询语法图形数据库具备高度相互关联关系数据灵活性高,支持复杂图形算法,可用于构建复杂关系图谱复杂性高,只能支持一定数据规模7.试述CAP理论详细含义。答:所谓CAP指是:C(Consistency):一致性,是指任何一个读操作总是能够读到之前完成写操作结果,也就是在分布式环境中,多点数据是一致,或者说,全部节点在同一时间具备相同数据A:(Availability):可用性,是指快速获取数据,能够在确定时间内返回操作结果,确保每个请求不论成功或者失败都有响应;P(ToleranceofNetworkPartition):分区容忍性,是指当出现网络分区情况时(即系统中一部分节点无法和其余节点进行通信),分离系统也能够正常运行,也就是说,系统中任意信息丢失或失败不会影响系统继续运作。8.请举例说明不一样产品在设计时是怎样利用CAP理论。9.试述数据库ACID四性含义1.原子性(Atomicity)指事务必须是原子工作单元,对于其数据修改,要么全都执行,要么全都不执行。2.一致性(consistency)指事务在完成时,必须使全部数据都保持一致状态。隔离性(Isolation)指并发事务所做修改必须与其余并发事务所做修改隔离。持久性(Durability)指事务完成之后,它对于系统影响是永久性,该修改即使出现致命系统故障也将一直保持。10.试述BASE详细含义BASE基本含义是基本可用(BasicallyAvailble)、软状态(Soft-state)和最终一致性(Eventualconsistency)11.请解释软状态、无状态、硬状态详细含义。“软状态(soft-state)”是与“硬状态(hard-state)”相对应一个提法。数据库保留数据是“硬状态”时,能够确保数据一致性,即确保数据一直是正确。“软状态”是指状态能够有一段时间不一样时,具备一定滞后性。12.什么是最终一致性?最终一致性依照更新数据后各进程访问到数据时间和方式不一样,又能够区分为:会话一致性:它把访问存放系统进程放到会话(session)上下文中,只要会话还存在,系统就确保“读己之所写”一致性。假如因为一些失败情形令会话终止,就要建立新会话,而且系统确保不会延续到新会话;单调写一致性:系统确保来自同一个进程写操作次序执行。系统必须确保这种程度一致性,不然就非常难以编程了单调读一致性:假如进程已经看到过数据对象某个值,那么任何后续访问都不会返回在那个值之前值因果一致性:假如进程A通知进程B它已更新了一个数据项,那么进程B后续访问将取得A写入最新值。而与进程A无因果关系进程C访问,依然恪守通常最终一致性规则“读己之所写”一致性:能够视为因果一致性一个特例。当进程A自己执行一个更新操作之后,它自己总是能够访问到更新过值,绝不会看到旧值试述不一致性窗口含义。全部后续访问都能够读取到操作OP写入最新值。从OP操作完成到后续访问能够最终读取到OP写入最新值,这之间时间间隔称为“不一致性窗口”。14最终一致性依照更新数据后各进程访问到数据时间和方式不一样,又能够分为哪些不一样类型一致性?会话一致性、单调写一致性、单调写一致性、因果一致性和“读己之所写”一致性。什么是NewSQL数据库?NewSQL是对各种新可扩展、高性能数据库简称,这类数据库不但具备NoSQL对海量数据存放管理能力,还保持了传统数据库支持ACID和SQL特征。第六章1.试述云数据库概念。答:云数据库是布署和虚拟化在云计算环境中数据库。云数据库是在云计算大背景下发展起来一个新兴共享基础架构方法,它极大地增强了数据库存放能力,消除了人员、硬件、软件重复配置,让软、硬件升级变得愈加轻易,同时,也虚拟化了许多后端功效。云数据库具备高可扩展性、高可用性、采取多租形式和支持资源有效分发等特点。

2.与传统软件使用方式相比,云计算这种模式具备哪些显著优势?3.云数据库有哪些特征?答:1)动态可扩展 2)高可用性 3)较低使用代价4)易用性 5)高性能 6)免维护 7)安全4.试述云数据库影响。答:

在大数据时代,每个企业几乎天天都在不停产生大量数据。企业类型不一样,对于存放需求也千差万别,而云数据库能够很好地满足不一样企业个性化存放需求。

首先,云数据库能够满足大企业海量数据存放需求。云数据库在当前数据爆炸大数据时代具备宽广应用前景。传统关系数据库难以水平扩展,相本无法存放如此海量数据。所以,具备高可扩展性云数据库就成为企业海量数据存放管理很好选择。

其次,云数据库能够满足中小企业低成本数据存放需求。中小企业在IT

基础设施方面投人比较有限,非常渴望从第三方方便、快捷、廉价地取得数据库服务。云数据库采取多租户方式同时为多个用户提供服务,降低了单个用户使用成本,而且用户使用云数据库服务通常按需付费,不会浪费资源造成额外支出,所以,云数据库使用成本很低,对于中小企业而言能够大大降低企业信息化门槛,让企业在付出较低成本同时,取得优质专业级数据库服务,从而有效提升企业信息化水平。

另外,云数据库能够满足企业动态改变数据存放需求。企业在不一样时期需要存放数据量是不停改变,有时增加,有时降低。在小规模应用情况下,系统负载改变能够由系统空闲多出资源来处理,不过,在大规模应用情况下,传统关系数据库因为其伸缩性较差,不但无法满足应用需求,而且会给企业带来高昂存放成本和管理开销。而云数据库良好伸缩性,能够让企业在需求增加时立刻取得数据库能力提升,在需求降低时立刻释放多出数据库能力,很好地满足企业动态数据存放需求。

5.举例说明云数据库厂商及其代表性产品。答:云数据库供给商主要分为三类。传统数据库厂商,如Teradata、Oracle、IBMDB2和MicrosoftSQL

Server等。涉足数据库市场云供给商,如Amazon、谷歌.Yahoo!、阿里、baidu、腾讯等。新兴厂商,如IVertica.LongJump

和EnterpriseDB等。7.试述UMP

系统功效。答:

UMP系统是构建在一个大集群之上,经过多个组件协同作业,整个系统实现了对用户透明容灾、读写分离、分库分表、资源管理、资源调度、资源隔离和数据安全功效。

1.容灾

云数据库必须向用户提供一直可用数据库连接,当MySQL实例发生故障时,系统必须自动执行故障恢复,全部故障处理过程对于用户而言是透明,用户不会感知到后台发生一切。

为了实现容灾,UMP系统会为每个用户创建两个MySQL实例,一个是主库,一个是从库,而且,这两个MySQL

实例之间相互把对方设置为备份机,任意一个MySQL实例上面发生更新都会复制到对方。同时,Proxy服务器能够确保只向主库写人数据。

2.读写分离

因为每个用户都有两个MySQL实例,即主库和从库,所以,能够充分利用主从库实现用户读写操作分离,实现负载均衡。UMP系统实现了对于用户透明读写分离功效,当整个功效被开启时,负责向用户提供访问MySQL数据库服务Proxy

服务器,就会对用户发起SQL

语句进行解析,假如属于写操作,就直接发送到主库,假如是读操作,就会被均衡地发送到主库和从库上执行。

3.分库分表

UMP支持对用户透明分库分表(Shard/Horizontal

Partition)。不过,用户在创建账号时候需要指定类型为多实例,而且设置实例个数,系统会依照用户设置来创建多组MySQL实例。除此以外,用户还需要自己设定分库分表规则,如需要确定分区字段,也就是依照哪个字段进行分库分表,还要确定分区字段里值怎样映射到不一样MySQL

实例上。

4.资源管理

UMP系统采取资源池机制来管理数据库服务器上CPU、内存、磁盘等计算资源,全部计算资源都放在资源池内进行统一分配,资源池是为MySQL

实例分配资源基本单位。整个集群中全部服务器会依照其机型、所在机房等原因被划分为多个资源池,每台服务器会被加人到对应资源池。在资源池划分基础上,UMP还在每台服务器内部采取Cgroup将资源深入地细化,从而能够限制每个进程组使用资源上限,同时确保进程组之间相互隔离。

5.资源调度

UMP系统中有3种规格用户,分别是数据量和流量比较小用户、中等规模用户以及需要分库分表用户。多个小规模用户能够共享同一个MySQL实例。对于中等规模用户,每个用户独占个MySQL

实例。用户能够依照自己需求来调整内存空间和磁盘空间,假如用户需要更多资源,就能够迁移到资源有空闲或者具备更高配置服务器上对于分库分表用户,会占有多个独立MySQL

实例,这些实例既能够共存在同一台物理机上,也能够每个实例独占一台物理机。

UMP经过MySQL实例迁移来实现资源调度。借助于阿里集团中间件团体开发愚公系统,UMP

能够实现在不停机情况下动态扩容、缩容和迁移。

6.资源隔离

当多个用户共享同一个MySQL

实例或者多个MySQL

实例共存在同一个物理机上时,为了保护用户应用和数据安全,必须实现资源隔离,不然,某个用户过多消耗系统资源会严重影响到其余用户操作性能。7.数据安全

数据安全是让用户放心使用云数据库产品关键,尤其是企业用户,数据库中存放了很多业务数据,有些属于商业机密,一旦泄露,会给企业造成损失。UMP

系统设计了多个机制来确保数据安全。SSL

数据库连接。

数据访问IP

白名单。统计用户操作日志。

SQL拦截。

13.

UMP

系统是怎样保障数据安全?答:SSL

数据库连接。

SSL(SecureSocketsLayer)是为网络通信提供安全及数据完整性一个安全协议,它在传输层对网络连接进行加密。Proxy服务器实现了完整MySQL客户端服务器协议,能够与客户端之间建立SSL数据库连接。数据访问IP

白名单。能够把允许访问云数据库IP地址放入“白名单”,只有白名单内IP地址才能访问,其余IP地址访问都会被拒绝,从而深入确保账户安全。统计用户操作日志。

用户全部操作统计都会被统计到日志分析服务器,经过检验用户操作统计,能够发觉隐藏安全漏洞。SQL拦截。Proxy服务器能够依照要求拦截多个类型SQL语句,比如全表扫描语句"select*”。15.

简述RDS

中实例与数据库概念。答:

RDS实例或简称“实例”,是用户购置RDS服务基本单位。在实例中能够创建多个数据库,能够使用常见数据库客户端连接、管理及使用数据库。能够经过RDS管理控制台或OPEN

API来创建、修改和删除数据库。各实例之间相互独立、资源隔离,相互之间不存在CPU、内存、IOPS等抢占问题。不过,同一实例中不一样数据库之间是资源共享。每个实例拥有其自己特征,如数据库类型、版本等,系统有对应参数来控制实例行为。用户所购置RDS实例性能,取决于购置RDS实例时所选择配置,可供用户选择硬件配置项为内存和磁盘容量。 RDS数据库或简称“数据库”,是用户在一个实例下创建逻辑单元,一个实例能够创建多个数据库,在实例内数据库命名唯一,全部数据库都会共享该实例下资源,如CPU、内存、磁盘容量等。RDS不支持使用标准SQL

语句或客户端工具创建数据库,必须使用OPEN

API或RDS管理控制台进行操作。

16.

列举连接RDS

for

MySQL

数据库4

种方法。答:

方法1:

使用客户端MySQL-Front访问。使用客户端MySQL-Front,在连接Host

框中输人数据实例链接地址、端口(默认3306)、数据库用户名和数据库密码后,单击“确定”按钮即可。

方法2:使用数据库管理T

具Navicat

MySQL。Navicat_MySQL

是一套专为MySQL

设计强大数据库管理及开发工具,能够在连接输人框中输人数据实例地址、端口(默认3306

)、数据库用户名和数据库密码后,单击“确定”按钮即可。

方法3:

使用MySQL

命令登录。用户安装MySQL

客户端后,可进人命令行方式连接数据库。命令格式以下。

mysql-u

user_name-h-P3306-pxxxx

其中,-u指定是用户名,-h指定是主机名,-P指定是端口,-p指定是密码。

方法4:

使用阿里云控制台iDB

Cloud访问。阿里云控制台iDB

Cloud页面如图6-7

所表示,RDS

连接地址以及端口不需要再输人,只需在“用户名”中输人数据库账号,在“密码”栏中输人数据库账号密码,便能够登录RDS进行数据操作了。

第七章1.试述MapReduce和Hadoop关系。答:

谷歌企业最先提出了分布式并行编程模型MapReduce,HadoopMapReduce是它开源实现。谷歌MapReduce运行在分布式文件系统GFS上,与谷歌类似,HadoopMapReduce运行在分布式文件系统HDFS上。相对而言,HadoopMapReduce

要比谷歌MapReduce

使用门槛低很多,程序员即使没有任何分布式程序开发经验,也能够很轻松地开发出分布式程序并布署到计算机集群中。

2.MapReduce

是处理大数据有力工具,但不是每个任务都能够使用MapReduce

来进行处理。试述适适用MapReduce来处理任务或者数据集需满足怎样要求。答:

适适用MapReduce来处理数据集,需要满足一个前提条件:

待处理数据集能够分解成许多小数据集,而且每一个小数据集都能够完全并行地进行处理。

3.MapReduce模型采取Master(JobTracker)-Slave(TaskTracker)结构,试描述JobTracker和TasKTracker功效。

答:

MapReduce

框架采取了Master/Slave

架构,包含一个Master

和若干个Slave。Master

上运行JobTracker,Slave

上运行TaskTrackero

用户提交每个计算作业,会被划分成若千个任务。JobTracker

负责作业和任务调度,监控它们执行,并重新调度已经失败任务。TaskTracker负责执行由JobTracker指派任务。

6.试述MapReduce工作流程(需包含提交任务、Map、Shuffle、Reduce过程)。

9.MapReduce中有这么一个标准:移动计算比移动数据更经济。试述什么是当地计算,并分析为何要采取当地计算。答:

MapReduce设计一个理念就是“计算向数据靠拢”,而不是“数据向计算靠拢”,因为移动数据需要大量网络传输开销,尤其是在大规模数据环境下,这种开销尤为惊人,所以,移动计算要比移动数据愈加经济。当地计算:在一个集群中,只要有可能,MapReduce框架就会将Map程序就近地在HDFS数据所在节点运行,即将计算节点和存放节点放在一起运行,从而降低了节点间数据移动开销。

10.试说明一个MapReduce程序在运行期间,所开启Map任务数量和Reduce

任务数量各是由什么原因决定。

11.是否全部MapReduce程序都需要经过Map和Reduce这两个过程?假如不是,请举例说明。

答:不是。对于关系选择运算,只需要Map过程就能实现,对于关系R

中每个元组t,检测是否是满足条件所需元组,假如满足条件,则输出键值对<,>,也就是说,键和值都是t。这时Reduce函数就只是一个恒等式,对输入不做任何变换就直接输出。

12.试分析为何采取Combiner能够降低数据传输量?是否全部MapReduce程序都能够采取Combiner?为何?答:

对于每个分区内全部键值对,后台线程会依照key

对它们进行内存排序(Sort

),排序是MapReduce

默认操作。排序结束后,还包含一个可选合并(Combine

)操作。假如用户事先没有定义Combiner

函数,就不用进行合并操作。假如用户事先定义了Combiner

函数,则这个时候会执行合并操作,从而降低需要溢写到磁盘数据量。

所谓“合并”,是指将那些具备相同key

<key,value>value

加起来,比如,有两个键值对<*xmu",1>和<*xmu",1>,经过合并操作以后就能够得到一个键值对<*xmu",2>,降低了键值正确数量。 不过,并非全部场所都能够使用Combiner,因为,Combiner输出是Reduce任务输人,Combiner绝不能改变Reduce任务最终计算结果,通常而言,累加、最大值等场景能够使用合并操作。

13.MapReduce程序输入文件、输出文件都存放在HDFS中,而在Map任务完成时中间结果则存放在当地磁盘中。试分析中间结果存放在当地磁盘而不是HDFS上有何优缺点。

答:

第八章试述在Hadoop推出之后其优化与发展主要表现在哪两个方面。答:Hadoop对MapReduce和GDFS许多方面做了有针对性改进提升。试述HDFS1.0中只包含一个名称节点会带来哪些问题。答:HDFS1.0采取单点名称节点设计,不但会带来单点故障问题,还存在可扩展性、性能和隔离性等问题。在可扩展性方面,名称节点把整个HDFS文件系统中元数据信息都保留在自己内存中,HDFS1.0中只有一个名称节点,不能够水平扩展,而单个名称节点内存空间是由上限,这限制了系统中数据块、文件和目录数目。在系统整体性能方面,整个HDFS文件系统性能会受限于单个名称节点吞吐量。在隔离性方面,单个名称节点难以提供不一样程序之间隔离性,一个程序可能会影响会影响其余运行程序。请描述HDFSHA架构组成组建及其详细功效。答:在一个经典HA集群中,通常设置两个名称节点,其中一个名称节点处于“活跃”状态,另一个处于“待命”状态。处于活跃状态名称节点负责对外处理全部客户端请求,而处于待命状态名称节点则作为备用节点,保留了足够多系统元数据,当名称节点出现故障时提供快速回复能力也就是说,在HDFSHA中,处于待命状态名称节点提供了“热备份”,一旦活跃名称节点出现故障,就能够立刻切换到待命名称节点,不会影响到系统正常对外服务。请分析HDFSHA架构中数据节点怎样和名称节点保持通信。答:在HDFS联邦中,全部名称节点会共享底层数据节点存放资源。每个数据节点要向集群中全部名称节点注册,并周期性地向名称节点发送“心跳”和块信息,汇报自己状态,同时也会处理来自名称节点指令。6、请描述HDFS联邦中“块池”概念,并分析为何HDFS联邦中一个名称节点失效,也不会影响到与它相关数据节点继续为其余名称节点提供服务。答:HDFS联邦拥有多个独立命名空间,其中,每一个命名空间管理属于自己一组块,这些属于同一个命名空间块组成一个“块池”。每个数据节点会为多个块池提供块存放。能够看出,数据节点是一个物理逻辑,而块池则属于逻辑概念,一个块池是一组块逻辑集合,块池中各个块实际上是存放在各个不一样数据节点中。所以HDFS联邦中一个名称节点失效,也不会影响到与它相关数据节点继续为其余名称节点提供服务。请阐述MapReduce1.0体系结构中存在问题。答:(1)存在单点故障;JobTracker“大包大揽”造成任务过重;轻易出现内存溢出;资源划分不合理。请描述YARN架构中各组件功效。答:组件功效ResourceManager①处理客户端请求②开启/监控ApplicationMaster③监控NodeManager④资源分配与调度ApplicationMaster①为应用程序申请资源,并分配给内部任务②任务调度、监控与容错NodeManager①单个节点上资源管理②处理来自ResourceManager命令③处理来自ApplicationMaster命令请描述在YARN框架中执行一个MapReduce程序时,从提交到完成需要经历详细步骤。答:①用户编写客户端应用程序,向YARN提交应用程序,提交内容包含ApplicationMaster程序、开启ApplicationMaster命令、用户程序等。②YARN中ResourceManager负责接收和处理来自客户端请求。接到客户端应用程序请求后,ResourceManager里面调度器会为应用程序分配一个容器。同时,ResourceManager应用程序管理器会与该容器所在NodeManager通信,为该应用程序在该容器中开启一个ApplicationMaster③ApplicationMaster被创建后会首先向ResourceManager注册,从而使得用户能够经过ResourceManager来直接查看应用程序运行状态④ApplicationMaster采取轮询方式经过RPC协议向ResourceManager申请资源。⑤ResourceManager以“容器”形式向提出申请ApplicationMaster分配资源,一旦ApplicationMaster申请到资源后,就会与该容器所在NodeManager进行通信,要求它开启任务。⑥当ApplicationMaster要求容器开启任务时,它会为任务设置好运行环境(包含环境变量、JAR包、二进制程序等),然后将任务开启命令写到一个脚本中,最终经过在容器中运行该脚原来开启任务。⑦各个任务经过某个RPC协议向ApplicationMaster汇报自己状态和进度,让ApplicationMaster能够随时掌握各个任务运行状态,从而能够在任务失败时重启任务。⑧应用程序运行完成后,ApplicationMaster向ResourceManager应用程序管理器注销并关闭自己。若ApplicationMaster因故失败,ResourceManager中应用程序管理器会监测到失败情形,然后将其重新开启,直到全部任务执行完成。请对YARN和MapReduce1.0框架进行优劣势对比分析。答:(1)大大降低了负担中心服务功效ResourceManager资源消耗。MapReduce1.0中JobTracker需要同时负担资源管理、任务调度和任务监控等三大功效,而YARN中ResourceManager只需要负责资源管理,需要消耗大量资源任务调度和监控重启工作则交由ApplicationMaster来完成。因为每个作业都有与之关联独立ApplicationMaster,所以,系统中存在多个作业时,就会同时存在多个ApplicationMaster,这就实现了监控任务分布化,不再像MapReduce1.0那样监控任务只集中在一个JobTracker上。MapReduce1.0既是一个计算框架,又是一个资源管理调度框架,不过只能支持MapReduce编程模型。而YARN则是一个纯粹资源调度管理框架,在它上面能够运行包含MapReduce在内不一样类型计算框架,默认类型是MapReduce。因为,YARN中ApplicationMaster是可变更,针对不一样计算框架,用户能够采取任何编程语言自己编写服务于该计算框架ApplicationMaster。比如,能够编写一个面向MapReduce计算框架ApplicationMaster,从而使得MapReduce计算框架能够运行在YARN框架之上。同理,还能够编写面向Spark、Storm等计算框架ApplicationMaster,从而使得Spark、Storm等计算框架也能够运行在YARN框架之上。YARN中资源管理比MapReduce1.0愈加高效。YARN采取容器为单位进行资源管理和分配,而不是以槽为单位,防止了MapReduce1.0中槽闲置浪费情况,大大提升了资源利用率。请分别描述Pig、Tez和Kafka功效。答:①Pig是Hadoop生态系统一个组件,提供了类似SQLPigLatin语言(包含Filter、GroupBy、Join、OrderBy等操作,同时也支持用户自定义函数),允许用户经过编写简单脚原来实现复杂数据分析,而不需要编写复杂MapReduce应用程序,Pig会自动把用户编写脚本转换成MapReduce作业在Hadoop集群上运行,而且具备对生成MapReduce程序进行自动优化功效,所以用户在编写Pig程序时候,不需要关心程序运行效率,这就大大降低了用户编程时间。②Tez是Apache开源支持DAG作业计算框架,直接源于MapReduce框架,关键思想是将Map和Reduce两个操作深入进行拆分,即Map被拆分成Input、Processor、Sort、Merge和Output,Reduce被拆分成Input、Shuffle、Sort、Merge、Processor和Output等,经过分解后这些元操作能够进行自由任意组合产生新操作,经过一些控制程序组装后就可形成一个大DAG作业。经过DAG作业方式运行MapReduce作业,提供了程序运行整体处理逻辑,就能够去除工作流当中多出Map阶段,降低无须要操作,提升数据处理性能。Hortonworks把Tez应用到数据仓库Hive优化中,使得性能提升了约100倍。③Kafka是由LinkedIn企业开发一个高吞吐量分布式公布订阅消息系统,用户经过Kafka系统能够公布大量消息,同时也能实时订阅消费消息。Kafka设计初衷是构建一个能够处理海量日志、用户行为和网站运行统计等数据处理框架。第九章Spark是基于内存计算大数据计算平台,试述Spark主要特点。答:Spark具备以下4个主要特点:①运行速度快;②轻易使用;③通用性;④运行模式多样。Spark出现是为了处理HadoopMapReduce不足,试列举HadoopMapReduce几个缺点,并说明Spark具备哪些优点。答:(1)Hadoop存在以下缺点:①表示能力有限;②磁盘IO开销大;③延迟高Spark主要有以下优点:①Spark计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供了多个数据集操作类型,编程模型比MapReduce更灵活;②Spark提供了内存计算,中间结果直接存放内存中,带来更高迭代运算效率;③Spark基于DAG任务调度执行机制,要优于MapReduce迭代执行机制。美国加州大学伯克利分校提出数据分析软件栈BDAS认为现在大数据处理能够分为哪三个类型?答:①复杂批量数据处理:时间跨度通常在数十分钟到数小时之间;②基于历史数据交互式查询:时间跨度通常在数十秒到数分钟之间;③基于实时数据流数据处理:时间跨度通常在数百毫秒到数秒之间。Spark已打造出结构一体化,功效多样化大数据生态系统,试述Spark生态系统。答:Spark设计遵照“一个软件栈满足不一样应用场景”理念,逐步形成一套完整生态系统,既能够提供内存计算框架,也能够支持SQL即席查询、实时流式计算、机器学习和图计算等。Spark能够布署在资源管理器YARN之上,提供一站式大数据处理方案。所以,Spark所提供生态系统同时支持批处理、交互式查询和流数据处理。从Hadoop+Storm架构转向Spark架构可带来哪些好处?答:(1)实现一键式安装和配置、线程级别任务监控和告警;(2)降低硬件集群、软件维护、任务监控和应用开发难度;便于做成统一硬件、计算平台资源池。试述“SparkonYARN”概念。答:Spark能够运行与YARN之上,与Hadoop进行统一布署,即“SparkonYARN”,其架构如图所表示,资源管理和调度以来YARN,分布式存放则以来HDFS。试述以下Spark几个主要概念:RDD、DAG、阶段、分区、窄依赖、宽依赖。答:①RDD:是弹性分布式数据集(ResilientDistributedDataset)英文缩写,是分布式内存一个抽象概念,提供了一个高度受限共享内存模型。②DAG:是DirectedAcyclicGraph(有向无环图)英文缩写,反应RDD之间依赖关系。③阶段:是作业基本调度单位,一个作业会分为多组任务,每组任务被称为“阶段”,或者也被称为“任务集”。④分区:一个RDD就是一个分布式对象集合,本质上是一个只读分区统计集合,每个RDD能够分成多个分区,每个分区就是一个数据集片段。⑤窄依赖:父RDD一个分区只被一个子RDD一个分区所使用就是窄依赖。⑥宽依赖:父RDD一个分区被一个子RDD多个分区所使用就是宽依赖。Spark对RDD操作主要分为行动(Action)和转换(Transformation)两种类型,两种类型操作区分是什么?答:行动(Action):在数据集上进行运算,返回计算值。转换(Transformation):基于现有数据集创建一个新数据集。第十章1试述流数据概念流数据,即数据以大量、快速、时变流形式连续抵达2试述流数据特点流数据具备以下特征:数据快速连续抵达,潜在大小可能是无穷无尽数据起源众多,格式复杂数据量大,不过不十分关注存放,一旦经过处理,要么被丢弃,要么被归档存放重视数据整体价值,不过分关注个别数据数据次序颠倒,或者不完整,系统无法控制将要处理新抵达数据元素次序4试述流计算需求对于一个流计算系统来说,它应达成以下需求:高性能:处理大数据基本要求,如每秒处理几十万条数据海量式:支持TB级甚至是PB级数据规模实时性:确保较低延迟时间,达成秒级别,甚至是毫秒级别分布式:支持大数据基本架构,必须能够平滑扩展易用性:能够快速进行开发和布署可靠性:能可靠地处理流数据7列举几个常见流计算框架现在有三类常见流计算框架和平台:商业级流计算平台、开源流计算框架、企业为支持本身业务开发流计算框架1商业级:IBMInfoSphereStreams和IBMStreamBase2较为常见是开源流计算框架,代表以下:TwitterStorm:无偿、开源分布式实时计算系统,可简单、高效、可靠地处理大量流数据Yahoo!S4(SimpleScalableStreamingSystem):开源流计算平台,是通用、分布式、可扩展、分区容错、可插拔流式系统3企业为支持本身业务开发流计算框架:FacebookPumaDstream(baidu)银河流数据处理平台(淘宝)8试述流计算通常处理流程流计算处理流程通常包含三个阶段:数据实时采集、数据实时计算、实时查询服务流计算处理流程示意图20试列举几个Storm框架应用领域Storm框架能够方便地与数据库系统进行整合,从而开发出强大实时计算系统Storm可用于许多领域中,如实时分析、在线机器学习、连续计算、远程RPC、数据提取加载转换等21Storm主要术语包含Streams,Spouts、Bolts、Topology和StreamGroupings,请分别简明描述这几个术语Streams:Storm将流数据Stream描述成一个无限Tuple序列,这些Tuple序列会以分布式方式并行地创建和处理Storm框架能够方便地与数据库系统进行整合,从而开发出强大实时计算系统Bolt:Storm将Streams状态转换过程抽象为Bolt。Bolt即能够处理Tuple,也能够将处理后Tuple作为新Streams发送给其余BoltTopology:Storm将Spouts和Bolts组成网络抽象成Topology,它能够被提交到Storm集群执行。Topology可视为流转换图,图中节点是一个Spout或Bolt,边则表示Bolt订阅了哪个Stream。当Spout或者Bolt发送元组时,它会把元组发送到每个订阅了该StreamBolt上进行处理Topology:Storm将Spouts和Bolts组成网络抽象成Topology,它能够被提交到Storm集群执行。Topology可视为流转换图,图中节点是一个Spout或Bolt,边则表示Bolt订阅了哪个Stream。当Spout或者Bolt发送元组时,它会把元组发送到每个订阅了该StreamBolt上进行处理22一个Topolog由哪些组件组成?Topology里面每个处理组件(Spout或Bolt)都包含处理逻辑,而组件之间连接则表示数据流动方向27Storm集群中Master节点和Work节点各自运行什么后台进程?这些进程又分别负责什么工作?Storm集群采取“Master—Worker”节点方式:Master节点运行名为“Nimbus”后台程序(类似Hadoop中“JobTracker”),负责在集群范围内分发代码、为Worker分配任务和监测故障Worker节点运行名为“Supervisor”后台程序,负责监听分配给它所在机器工作,即依照Nimbus分配任务来决定开启或停顿Worker进程,一个Worker节点上同时运行若干个Worker进程28试述Zookeeper在Storm框架中作用Storm使用Zookeeper来作为分布式协调组件,负责Nimbus和多个Supervisor之间全部协调工作。借助于Zookeeper,若Nimbus进程或Supervisor进程意外终止,重启时也能读取、恢复之前状态并继续工作,使得Storm极其稳定31试述Storm框架工作流程Storm工作流程以下列图所表示:全部Topology任务提交必须在Storm客户端节点上进行,提交后,由Nimbus节点分配给其余Supervisor节点进行处理Nimbus节点首先将提交Topology进行分片,分成一个个Task,分配给对应Supervisor,并将Task和Supervisor相关信息提交到Zookeeper集群上Supervisor会去Zookeeper集群上认领自己Task,通知自己Worker进程进行Task处理说明:在提交了一个Topology之后,Storm就会创建Spout/Bolt实例并进行序列化。之后,将序列化组件发送给全部任务所在机器(即Supervisor节点),在每一个任务上反序列化组件第11章试述BSP模型中超步3个组件及详细含义。答:①局部通信。每个参加处理器都有本身计算任务,它们只读取存放在当地内存中值,不一样处理器计算任务都是异步而且独立。②通信。处理器群相互交换数据,交换形式是,由一方发起推送(Put)和获取(Get)操作③栅栏同时。当一个处理器碰到“路障”(或栅栏),会等其余全部处理器完成它们计算步骤;每一次同时也是一个超步完成和下一个超步开始。Pregel为何选择一个纯消息传递模型?答:采取这种做法主要基于以下两个原因。①消息传递具备足够表示能力,没有必要使用远程读取或共享内存方式。②有利于提升系统整体性能。大型图计算通常是由一个集群完成,集群环境中执行远程数据读取会有较高时间延迟;Pregel消息模式采取异步和批量方式传递消息,所以能够缓解远程读取延迟。4、请简述Aggregator作用,并以详细Aggregator作用,并以详细Aggregator例子做说明。答:Aggregator提供了一个全局通信、监控和数据查看机制。Aggregator聚合功效,允许在整型和字符串类型上执行最大值、最小值、求和操作,比如能够定义一个“Sum”Aggregator来统计每个顶点出射边数量,最终相加能够得到整个图边数量。Aggregator还能够实现全局协同功效,比如当能够设计“and”Aggregator来决定在某个超步中Compute()函数是否执行一些逻辑分支,只有当“and”Aggregator显示全部顶点都满足了某条件时,才去执行这些逻辑分支。简述Pregel执行过程。答:(1)选择集群中多台机器执行图计算任务,每台机器上运行用户程序一个副本,其中,有一台机器会被选为Master,其余机器作为Worker。(2)Master把一个图分成多个分区,并把分区分配到多个Worker。(3)Master会把用户输入划分成多个部分,通常是基于文件边界进行划分。(4)Master向每个Worker发送指令,Worker收到指令后,开始运行一个超步。当完成以后,Worker会通知Master,并把自己在下一个超步还处于“活跃”状态顶点数量汇报给Master。上述步骤会被不停重复,直到全部顶点都不再活跃而且系统中不会有任何消息在传输,这时,执行过程才会结束。(5)计算过程结束后,Master会给全部Worker发送指令,通知每个Worker对自己计算结果进行持久化存放。8、试述Worker和Master作用。答:Worker作用:借助于名称服务系统定位到Master位置,并向Master发送自己注册信息,Master会为每个Worker分配一个唯一ID。在一个Worker中,它所管辖分区状态信息被保留在内存。在每个超步中,Worker会对自己所管辖分区中每个顶点进行遍历,并调用顶点上Compute()函数。Master作用:Pregel采取检验点(CheckPoint)机制来实现容错。在每个超步开始,Master会通知全部Worker把自己管辖分区状态写入持久化存放设备。Master周期地ping每个Worker,Worker收到ping消息后向Master反馈消息。假如在指定时间间隔内没有收到某个Worker反馈,Master就会将它标为“失效”,并开启恢复模式。第12章试述数据可视化概念。答:数据可视化是指将大型数据集中数据以图形图像形式表示,并利用数据分析和开发工具发觉其中未知信息处理过程。数据可视化技术基本思想是将数据库中每一个数据项作为单个图元素表示,大量数据集组成数据图像,同时将数据各个属性值以多维数据形式表示,能够从不一样维度观察数据,从而对数据进行更深入观察和分析。试述数据可视化主要作用。答:①观察、跟踪数据。利用改变数据生成实时改变可视化图表,能够让人们一眼看出各种参数动态改变过程,有效跟踪各种参数值。②分析数据。利用可视化技术,实时展现当前分析结果,引导用户参加分析过程,依照用户反馈信息执行后续分析操作,完成用户与分析算法全程交互,实现数据分析算法与用户领域知识完美结合。③辅助了解数据。帮助普通用户更加快、更准确地了解数据背后定义。④增强数据吸引力。枯燥数据被制成具备强大视觉冲击力和说服力图像,能够大大增强读者阅读兴趣。可视化工具主要包含哪些类型?各自代表产品有哪些?答:主要包含入门级工具(Excel)、信息图表工具(谷歌ChartAPI、D3、Visual.ly、Raphael、Flot、Tableau、大数据魔镜)、地图工具(ModestMaps、Leaflet、PolyMaps、OpenLayers、Kartography、谷歌FushionTables、QuanumGIS)、时间线工具(Ti

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论