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

下载本文档

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

文档简介

1、第一章3 次信息化浪潮及具体内容。信息化浪潮发生时间标志解决问题代表公司第一次浪潮1980 年前后个人计算机信息处理Intel、AMD、IBM、苹果、微软、联想、戴尔、惠普等第二次浪潮1995 年前后互联网信息传输雅虎、谷歌、阿里巴巴、百度、腾讯等第三次浪潮2010 年前后物理网、云计信息爆炸将涌现出一批新的算和大数据市场标杆企业试述数据产生方式经历的几个阶段答: 运营式系统阶段,用户原创内容阶段,感知式系统阶段。4 个基本特征答:数据量大、数据类型繁多、处理速度快和价值密度低。试述大数据时代的“数据爆炸”的特性答:大数据时代的“数据爆炸”的特性是,人类社会产生的数据一致都以每年50%的速度增

2、长,也就是说,每两年增加一倍。4 个阶段?答:人类自古以来在科学研究上先后历经了实验、理论、计算、和数据四种范式。试述大数据对思维方式的重要影响而非精确,相关而非因果。大数据决策与传统的基于数据仓库的决策有什么区别战略决策和战术决策。大数据决策可以面向类型繁多的、非结构化的海量数据进行决策分析。领域大数据的应用金融行业领域大数据的应用金融行业大数据在高频交易、社区情绪分析和信贷风险分析三大金融创新领域发挥重要作用。汽车行业利用大数据和物联网技术的五人驾驶汽车,在不远的未来将走进我们的日常生活互联网行业借助于大数据技术,可以分析客户行为,进行商品推荐和有针对性广告投放个人生活化服务。举例说明大数

3、据的关键技术答:批处理计算,流计算,图计算,查询分析计算大数据产业包含哪些关键技术。用层。定义并解释以下术语:云计算、物联网答: 云计算:云计算就是实现了通过网络提供可伸缩的、廉价的分布式计算机IT 资源。物联网是物物相连的互联网,是互联网的延伸,它利用局部网络或互联网人与物、物与物相连,实现信息化和远程管理控制。详细阐述大数据、云计算和物联网三者之间的区别与联系。大数据、云计算和物联网的区别大数据、云计算和物联网的区别大数据、云计算和物联网的联系大数据侧重于海量数据的存储处理与生这三者是相辅相成的大数据根植于云产和生活云计算本质上皆在整合和优计算大数据分析的很多技术都来自于化各种 IT 资源

4、并通过网络已服务的方云计算云计算的分布式存储和管理系展统提供了海量数据的存储和管理能力目标是实现呜呜向量应用创新是物联没有这些云计算技术作为支撑大数据网的核心分析就无从谈起物联网的传感器源源不断的产生大量数据构成了大数据的存储、分析和处理。第二章hadoop mapreduce、gfs 等技术之间的关系答:Hadoop HDFS MapReduce,HDFS 是谷歌文件系GFS 的开源实现,MapReduces MapReduce 的开源实现。Hadoop答:高可靠性,高效性,高可扩展性,高容错性,成本低,运行在 Linux 平台,支持多种编程语言Hadoop答:2007SunnyvaleM4

5、540001.5PBHadooopFacebook 主要将 Hadoop 平台用于日志处理,推荐系统和数据仓库等方面;Hadoop在线数据反馈、网页聚类等。Hadoop答:PigChukwaHiveHBasePigChukwaHiveHBaseMapReduceHDFSZookeeperCommonCommonAvroCommeonHadoopRPC 和串行化库AvroHadoop和简单的动态语言集成功能。HDFS 是 Hadoop 项目的两个核心之一,它是针对谷歌文件系统的开源实现。HBase 是一个提高可靠性、高性能、可伸缩、实时读写、分布式的列式数据库,一般采用 HDFS 作为其底层数据

6、存储。MapReduce 是针对谷歌 MapReduce 的开源实现,用于大规模数据集的并行运算。ZoookepperChubbyHiveHadoopHadoop进行数据整理、特殊查询和分布存储。Pig 是一种数据流语言和运行环境,适合于使用 Hadoop 和 MapReducce 平台上查询大型半结构化数据集。Sqoop 可以改进数据的互操作性,主要用来在 H 大哦哦哦配合关系数据库之间交换数据。ChukwaHadoopHDFSHadoop种MapReduce 操作。第三章试述分布式文件系统设计的需求。设计需求透明性含义HDFS的实现情况具备访问透明性、位置透 只能提供一定程度的访明性、性能

7、、和伸缩透明 问透明性,完全支持位置性透明性、性能和伸缩透明性并发控制客户端对于文件的读写 机制非常简单,任何时候不应该影响其他客户端 都只允许有一个程序写对同一个文件的读写 入某个文件文件复制一个文件可以拥有不同 HDFS采用了多副本机制位置的多个副本硬件和操作系统的异构 可以在不同的操作系统 采用Java语言开发,具性和计算机上实现同样的 有很好的跨平台能力客户端和服务端程序可伸缩性支持节点的动态加入或建立在大规模廉价机器退出上的分布式文件系统集群,具有很好的伸缩性容错保证文件服务在客户端具有多副本机制和故障或者服务端出现问题的自动检测、恢复机制安全时候能正常使用保证系统的安全性安全性较弱

8、分布式文件系统是如何实现较高水平扩展的?Node)另一类叫“从节点”(Slave Node)或者也被称为“数据节点”(DataNode)HDFS不是以字节为单位。HDFSHDFS每个块作为独立的单元进行存储。HDFS 在块的大小的设计上明显要大于普通文件系统。HDFS的每个文件中各个块所在的数据节点的位置信息;HDFS发送自己所存储的块的列表。hadoop fs -ls 显示指定的文件的详细信息hadoop fs -cat 将指定的文件的内容输出到标准输出hadoop fs -mkdir 创建指定的文件夹hadoopfs-get-ignorecrc-crclocaldst指定的文件到本地文件系

9、统指定的文件或文件夹。-ignorecrcCRC验失败的文件。使用-crcCRChadoop fs -put 从本地文件系统中复制指定的单个或多个源文件到(stdin)取输入写入目标文件系统。hadoop fs -rmr 删除指定的文件夹及其的所有文件第四章HadoopHBase答: HBaseHadoop MapReduceHBase性能计算;利用 Zookeeper 作为协同服务,实现稳定服务和失败恢复;使用HDFSSqoopeg 和e 为e是 BigTable 的开源实现。项目BigTableHBase文件存储系统GFSHDFS项目BigTableHBase文件存储系统GFSHDFS海量

10、数据处理MapReduceHadoop MapReduce协同服务管理ChubbyZookeeperHBase答:区别传统关系数据库HBase数据类型关系模型数据模型数据操作多表连接无法实现表与表之间关联存储模式行会被连续地存储在磁盘也中盘也中族的文件是分离的数据索引针对不同列构建复杂的只有一个行键索引多个索引数据维护用最新的当前值去替换更新操作不会删除数据记录中原来的旧值旧的版本,而是生成一个新的版本可伸缩性很难实现横向扩展,纵向轻易地通过在集群中增扩展的空间也比较有限加或者减少硬件数量来实现性能的伸缩HBase答 :HBase 提 供 了 Native Java API , HBase S

11、hell , Thrift Gateway , REST GateWay , Pig , Hive 等访问接口。HBase列族列族答:列限定符InfoNameMajorEmail201505001Luo MinMath HYPERLINK mailto:Luo Luo201505002Liu JunMath HYPERLINK mailto:liu liu201505003Xie YouMath HYPERLINK mailto:xie xie HYPERLINK mailto: 行键单元格ts1 每个时间戳对应一个数据版本HBase行键是唯一的,在一个表里只出现一次,否则就是在更新同一行,行

12、键可以是任意的字节数组。列族需要在创建表的时候就定义好,数量也不宜过多。列族名必须由可打印字符组成,创建表的时候不需要定义好列。时间戳,默认由系统指定,用户也可以显示设置。使用不同的时间戳来区分不同的版本。HBaseHBase 数据概念视图行键“ n.www时间戳T5列族 contents列族 anchorAnchor:cnnsi.co”m=”CNN”T3Anchor:my.look.ca=”CNN”“n.www”T3Content:html=”.”T2Content:html=”.”T1Content:html=”.”HBase 数据物理视图行键“ n.www时间戳T5列族 anchorAn

13、chor:cnnsi.co”m=”CNN”T4Anchor:my.look.ca=”CNN”行键“n.www时间戳T3列族 contentsContent:html=”.”T2Content:html=”.”T1Content:html=”.”在 HBase 的概念视图中,一个表可以视为一个稀疏、多维的映射关系。在物理视图中,一个表会按照属于同一列族的数据保存在一起HBase库函数:链接到每个客户端;MasterMasterRegionRegionRegionHBaseRegion,并响应用户的读写请求HBase答: HBaseRegion 会被分发到不同的服务器上实现分布式存储。HBase通

14、过构建的映射表的每个条目包含两项内容,一个是 Regionde 标识符,另一RegionRegionRegionRegionRegionHBase层次层次名称作用第一层Zookeeper文件记录了-ROOT-表的位置信息第二层-ROOT-表记录了.META.Region-ROOT-Region。通过-ROOT-表,就可以访问.META.表中的数据第三层.META.表Region,.META.表可以有多个Region,HBaseRegionHBase答:首先访问 Zookeeper,获取-ROOT 表的位置信息,然后访问-Root-表, 获得.MATA.表的信息,接着访问.MATARegionR

15、egionHBase客户端HBaseRegion 位置信息,用来加快后续数据访问过程ZookeeperZookeeperMasterMasterMasterMasterMasterRegionRegionRegion RegionRegionRegionRegionRegionHBaseRegion, 并响应用户的读写请求RegionHDFSRegion 服务器内部管理一系列 Region 对象和一个 HLog 文件,其中,HLog RegionStoreStoreStoreMemStoreStoreFile,其中,MemStoreHStoreStore 对应了表中的一个列族的存储。每个 St

16、oreMenStore 缓StoreFileMenStoreMenStoreMemStoreStoreFileStoreFileHLogRegionHLog(Write Log),MemStoreMemStoreHBaseRegionHLog,Region HLog。请说明这种做法的优缺点。优点: 多个 Region 对象的更新操作所发生的日志修改,只需要不断把日志记录追加到单个日志文件中,不需要同时打开、写入到多个日志文件中。RegionRegionRegionRegionHLogRegionRegion当一台 Region 服务器意外终止时,Master 如何发现这种意外终止情况? 为了恢

17、复这台发生意外的 Region 服务器上的 Region,Master 应该做出哪些处HLogZookeeperRegionRegionMaster。Master 首先会处理该故障 Region 服务器上面遗留的 HLog 文件,这个遗留的 HLog 文件中包含了来自多个 Region 对象的日志记录。RegionHLogRegionRegionRegionHLogRegionRegion 服务器领取到分配给自己的 Region 对象以及与之相关的 HLog 日MemStoreStoreFile第五章NoSQL 的含义?值、列族、文档等非关系模型。Web2.0 应用的需求。关系数据库已经无法满

18、足 Web2.0 的需求。主要表现在以下几个方面:无法满足海量数据的管理需求无法满足数据高并发的需求无法满足高可扩展性和高可用性的需求NoSQL 数据库和关系数据库的优缺点。比较标准比较标准RDBMSNoSQL备注数据库原理完全支持部分支持RDBMS 有关系代数理论作为基础NoSQL 没有统一的理论基础数据规模大超大RDBMS 很难实现向扩展,纵向扩展的空间也比较有限,性能会随着数据规模的增大而降低NoSQL 可以很容易通过添加更多设备来支持更大规模的数据数 据 库 模 式 固定灵活RDBMS 需要定义据库模式,严格遵守数据定义和相关约束条件NoSQL 不存在数据库模式,可以自由灵活定义并存储

19、各种不同类型的数据查询效率快可以实现高效的简查询,但是不具备度结构化查询等性,复杂查询的性不尽人意RDBMS 借助于索引机制可以实现快速查询(包括记录查询和范围查询)NoSQL 有面向复杂查询的索NoSQL 使用 MapReduce 来加速查询,但是,在复杂查询方面的性能RDBMS一致性强一致性弱一致性RDBMS 严格遵守事ACID 证事务强一致性NoSQL 松了对事务 ACID 性的要求,而是遵守BASE 数 据 完 整 性 容 易 实现很难实现任何一个 RDBMS 都可以很容易实现数据完整性,比如通过主键或者非空约束来实现实体完整性,通过主键、外键来实现参照完整性,通过约束或者触发器来实现

20、用户自定义完整性NoSQL 库却无法实现扩展性一般好RDBMS 很难实现向扩展,纵向扩展的空间也比较有限NoSQL 在设计之初就充分考虑了横向扩展的需求,可以很容易通过添加廉价设备实现扩展可用性好很好RDBMS 在任何时都以保证数据一致性为优先目标,其次才是优化系统性能,随着数据规模的增大, RDBMS 为了保证严格的一致性,只能提供相对较弱的可用性大多数 NoSQL 都能提供较高的可用性标准化是否RDBMS 已经标准化(SQL)NoSQL NoSQL 据库都有自己的查询语言,很难规范应用程序接口StoneBraker 认为: NoSQL NoSQL 技术支持高低RDBMS 经过几十的发展,已

21、经非常成熟,Oracle 等大型商都可以提供很好的技术支持NoSQL 在技术支持方面仍然处于起步阶段,还不成熟,缺乏有力的技术支持可维护性复杂复杂RDBMS 需要专门的数据库管理员数据库管理员(DBA)维护NoSQL DBMS 复杂,也难以维护NoSQL 数据库的四大类型答:键值数据库、列族数据库、文档数据库和图数据库试述键值数据库、列族数据库、文档数据库和图数据库的适用场合和优缺点。数据库数据库适用场合优点缺点键值数据库通过键而是通过值来扩展性好灵活性好,无法存储结构化信查的业务大量写操作时性能高息,条件查询效率较低列族数据库ACID 持的情形查找速度快,可扩展性强,容易进行分布式扩展,复杂

22、性低功能较少,大都不支持强事务一致性文档数据库只在相同的文档上添加事务性能好(高并发),数据结构灵活缺乏统一的查询语法提供嵌入式文档功能,将经常查询的数据存储在同一个文档中既可以根据键来构建索引,也可以根据内容构建索引图形数据库具有高度相互关联关灵活性高,支持复杂复杂性高,只能支持系的数据系的数据一定的数据规模CAP CAP 指的是:据A:(Availability):可用性,是指快速获取数据,可以在确定的时间内返回操作结果,保证每个请求不管成功或者失败都有响应;P(Tolerance of Network Partition):分区容忍性,是指当出现网络分区的情况时(即系统CAP 理论的。A

23、选择CA,放弃P MySQLSQL Server PostgresSQL选择AP,放弃C Dynamo Cassandra Voldemort CouchDBRiakCP选 择 CP, 放 弃 A Neo4J,Bigtable,MongoDB,Hbase,Hypertable,RedisACID 四性的含义原子性(Atomicity)指事务必须是原子工作单元,对于其数据修改,要么全都执行,要么全都不执行。一致性(consistency)指事务在完成时,必须使所有的数据都保持一致状态。隔离性(Isolation)指并发事务所做的修改必须与其他并发事务所做的修改隔离。持久性(Durability)

24、BASE 的具体含义BASE 的基本含义是基本可用(Basically Availble)、软状态(Soft-state)和最终一致性(Eventual consistency)请解释软状态、无状态、硬状态的具体含义。“软状态(soft-state)”是与“硬状态(hard-state)”相对应的一种提法。数据库保指状态可以有一段时间不同步,具有一定的滞后性。什么是最终一致性?最终一致性根据更新数据后各进程访问到数据的时间和方式的不同,又可以区分为:立新的会话,而且系统保证不会延续到新的会话;程度的一致性,否则就非常难以编程了会返回在那个值之前的值A B B 的后续A A C 的访问,仍然遵守

25、一般的最终一致性规则A自己执行一个更新操作之后,它自己总是可以访问到更新过的值,绝不会看到旧值试述不一致性窗口的含义。OP OP OP 写入的最新值,这之间的时间间隔称为“不一致性窗口”。14 最终一致性根据更新数据后各进程访问到数据的时间和方式的不同,又可以分为哪些不同类型的一致性?会话一致性、单调写一致性、单调写一致性、因果一致性和“读己之所写”一致性。NewSQL 数据库?NewSQL NoSQL 对海ACID SQL 特性。第六章试述云数据库的概念。云数据库具有高可扩展性、高可用性、采用多租形式和支持资源有效分发等特点。与传统的软件使用方式相比,云计算这种模式具有哪些明显的优势?云数据

26、库有哪些特性?答:1)动态可扩展较低的使用代价安全试述云数据库的影响。据。因此,具有高可扩展性的云数据库就成为企业海量数据存储管理的很好选择。IT 基础设施方级数据库服务从而有效提升企业信息化水平。,但是,在大规模应用的情况下,传统的关系数据库由于其伸缩,在需求减少时立即释放多余的数据库能力较好地满足企业的动态数据存储需求。举例说明云数据库厂商及其代表性产品。答:云数据库供应商主要分为三类。Teradata、Oracle、IBMDB2 MicrosoftSQLServer 。AmazonGoogle.Yahoo!、阿里、百度、腾讯等。IVertica.LongJump EnterpriseDB

27、 等。7.试述 UMP 系统的功能。答:UMP系统是构建在一个大的集群之上的,通过多个组件的协同作业,整个系统实现了MySQL 切。为了实现容灾,UMP 系统会为每个用户创建两个 MySQL 实例,一个是主库,一个是从库, 而且,这两个 MySQL 实例之间互相把对方设置为备份机,任意一个 MySQL 实例上面发生的更新都会复制到对方。同时,Proxy 服务器可以保证只向主库写人数据。读写分离MySQL 读写操作的分离,实现负载均衡。UMP 系统实现了对于用户透明的读写分离功能,当整个MySQL Proxy 服务器,就会对用户发起SQL 语句进行解析,如果属于写操作就直接发送到主库,如果是读操

28、作,就会被均衡地发送到主库和从库上执行。分库分表UMP 支持对用户透明的分库分表(Shard/Horizontal Partition)MySQL 实MySQL 实例上。资源管理UMP CPUMySQL 实例分配资源的基本单位。整Cgroup 将离。资源调度UMP 系统中有 3 种规格的用户,分别是数据量和流量比较小的用户、中等规模用户以及需要分库分表的用户。多个小规模用户可以共享同一个 MySQL 实例。对于中等规模的用户, 每个用户独占个 MySQL 实例。用户可以根据自己的需求来调整内存空间和磁盘空间,如果MySQL 实例,这些实例既可以共存在同一台物理机上,也可以每个实例独占一台物理机

29、。UMP MySQL 实例的迁移来实现资源调度。借助于阿里集团中间件团队开发的愚公系统,UMP 可以实现在不停机的情况下动态扩容、缩容和迁移。资源隔离MySQL MySQL 实例共存在同一个物理机上时,为了数据安全多业务数据,有些属于商业机密,一旦泄露,会给企业造成损失。UMP 系统设计了多种机制来保证数据安全。SSL数据库连接。IP白名单。记录用户操作日志。SQL 拦截。13. UMP 系统是如何保障数据安全的?答:SSL数据库连接。SSL(SecureSocketsLayer) 是为网络通信提供安全及数据完整性的一种安全协议,它在传输层对网络连接进行加密。Proxy MySQL 客SSL

30、数据库连接。IPIP 地址放入“白名单”,只有白名单内IP IP 地址的访问都会被拒绝,从而进一步保证账户安全。SQL 拦截。Proxy SQL 语句,比如全表扫描语句select *”。RDS 中实例与数据库的概念。答:RDS实例或简称“实例”,是用户购买RDS 服务的基本单位。在实例中可以创建多个数据库,可以使用常见的数据库客户端连接、管理及使用数据库。可以通过RDS 管理控制台或OPENAPI 来创建、修改和删除数据库。各实例之间相互独立、资源隔离,相互之间不存在CPU、内存IOPS等抢占问题。但是,同一实例中的不同数据库之间是资源共享的。用户所购买RDS 实例的性能,取决于购买RDS实

31、例时所选择的配置,可供用户选择的硬件配置项为内存和磁盘容量。RDS 数据库或简称“”CPU存、磁盘容量等。RDS SQL 语句或客户端工具创建数据库,必须使用OPEN API RDS 管理控制台进行操作。RDSforMySQL 4 种方法。答: 1: MySQL-Front MySQL-Front,Host 输人数据实例链接地址、端口(3306)“”即可。2: T Navicat MySQLNavicat_MySQL MySQL 设计的强(3306、“按钮即可。3MySQL MySQL mysql -u user_name -h -P3306 -pxxxx其中,-u 指定的是用户名,-h 指定

32、的是主机名,-P 指定的是端口,-p 指定的是密码。4iDB Cloud iDB Cloud 6-7 所示, “”中输人数据库的账号在“”栏中输RDS 进行数据操作了。第七章MapReduce Hadoop 的关系。答:谷歌公司最先提出了分布式并行编程模型MapReduce,HadoopMapReduce 是它的的e统S上HDFS 上。相对而言,HadoopMapReduce MapReduce 序并部署到计算机集群中。MapReduce 是处理大数据的有力工具,但不是每个任务都可以使用MapReduceMapReduce 来处理的任务或者数据集需满足怎样的要求。MapReduce 待处理的数

33、据集可以分解成许多小的数据集,而且每一个小数据集都可以完全并行地进行处理。MapReduceMaster(JobTracker)-Slave(TaskTracker)结构,试描述JobTracker TasKTracker 的功能。Master/Slave Master SlaveMaster 上JobTracker,Slave TaskTrackero 用户提交的每个计算作业,会被划分成若千个任务。JobTracker 负责作业和任务的调度,监控它们的执行,并重新调度已经失败的任务。TaskTracker JobTracker 指派的任务。6.试述 MapReduce 的工作流程(需包括提交

34、任务、Map、Shuffle、Reduce 的过程)。下而是一个 MapReduce邪法的执行过程。CD MapReduce 框架使用 lnputFormat Map 前的预处理,比如,捡北输入的格式是否符loputSplit, luputSplit 是 M.apR.cducc 一lnputSp lit 井没有 对文件进行实际 切割只是记求 因为 1.nputSplii 是逻辑切分而非物理切分,所以 还需要通 过 Reco rd Reader ( RR ) 根据lnpu1Split 中的 信息来处理JnputSplit 中的具体记录 加载数据并转换 为适合 Map 任务读取的键值对,输人给 M

35、ap 任务。 Map 任务会根据用户n定义的映射规则愉出一系列的key,value斗乍为中间结果。为f Reduce Map 的结果,需要对 Ma p 干( So rt )Combine、扣并( e ) 形式的中间结果,再交给Reduce进行处理这个过程称为Sliutlle。 Red uce 以一OutputForm出模块c(i) OutputFo rmat 模块会验证输出目录是否已经存在以及输出结果类型是否符合配置文件中的配股类型如果祁满足就输出Reduce 的结果到分布式文件系统。具休如图7-2 所示。l 从1lr A 2飞入分化1扭飞入分化1扭4K叫心,Q,S1lil1i斗翌垃约络仅1;

36、0令垃约络仅1;0令IIIIII IIIIIIIIIIIIIIIIf“ .5众O卢 nI&6巴入i&6巴入i习L大数挹技术原速与应用 存储、处理、分析与应用_e_Shuffle 过程简 介务巴Sh加 过程是e整个节,理解hffle务巴甲一甲吨哪正解 。Shuffle, 是指对 Map 拚出结果 进行分区、排序、合井等处理cc 过程分为 端的操作7.3甲一甲吨哪正一闭 一其他Rdu 任务O 在Map端的Shuffle过程。的输出结杲首先写人缓存,当缓存满就动写橾作把缓存中的数据入磁盘文井清空当启动溢写操作,首先需要把缓什中的数进行分、然后每个分区据进行排序( Sort) 和合并( 之后再马人磁盘

37、文。每次溢写操作会牛一个新的磁盘件,随若Map任务的执行,磁盘中就会生成多个溢 写文。在任务全部结 束之前,这些溢写文件会被归并(Mc屯e) 成一个大的磁盘文件,然,通知相应的任务来貊取展于自己处理的数据,. -Shuffle 任务从端的不同 Map 机常,. -Map Shu ffle 过程Map 端的 Shuffle 过程包括 4 个步骤如图 7-4所示。( I ) 输入数据和执行Map 任务Map 任务的馀人数斟一般保存在分布式文件系统(GFS或 HOFS ) Map 任务接受lcey, 的映射规key, 。( 2 ) 笃入缓存每个Map 任务都会被分配一个缓存,Map 的输出_一一一一

38、一一一一一一一一一一一一一一一一一一一一一一一一一!图7-4p端的Shume过程。输出结果以后再一l/0 磁头移动和盘片的转动来寻址Map丐入磁盘会引人很多次寻址开销一次性批扯写人就只需一次寻址连续写入大大低(销,需要注党的怂在写人缓仔之前key与 I都会被片列化成字节数3 ) 溢写(f 和合井)提供给 的缓存的容屈是有限的默认大是 闭肴 Map任务的执行缓存中Map结果的效拭会不断增加很快就会占满整个缓存这时就必须启动溢写 (Spill)探作。一个单独的后台线程米完成的会影咱Map结果往圾写人,但是,为保证Map 结果能够不 停地待续写入缓存 不受溢丐过程的影咐就必须让缓存中 一且行可用的空

39、间 不能等到全部占满才启动溢写过程 所般会设个溢巧比例,如0.8, 也就是说,当 大小的缓存被填满 80MB数据时 就启动溢写过程,把已 经写人的数据写人磁盘 剩余空间供 Map结果继续 写人。key, 形式的键值对,这些键值对最终需要交给不Reduce任务进行井行处现MapReduce 通函数对key 进行哈希mod R 表示 任务的数fit Map R Reduce 。当然 MapRcduce 对于每个分区的所有键值对后台线会根据 key 对它们进行内存排序 ( ),排序是忒uce 的默认操作 。排序结束后还包含一个可选的合并 ( 操。如果户平先没有义两数就本川进行合并操作 如果川户邓先定

40、义了 函数则这个时候会执行合并操作从而减少需要溢写到磁盘的数据址 。是指将那些具有相同kcy的的valu来比值对经过合并操作以后就可以得到个键伯叹m又2. 减少了键值灯的数这里要注怼 端的这种合 并操作 其实和 Reducc的功能相似但是由 于这个橾作发生在叩端,所以我们只徒称之为“合井勹从而有别于。不过,并非所有场合都可以使川r, 因为的轮出足e任务的输人r绝不能改变任务扆终的计符结果一般而言,以加、垃大值等场娸可以使用合井找作。经过分区、排序以及可能发生的合片操作之后,这些绞存中的挝仇对就可以被写人磁盘,片 。中生成一个新的溢写文件写入溢写文件中的所有键值对, 。( 4 ) 文件归井每次溢

41、写操作都会在磁盘中生成一个妖的溢写文件,随若 MapReduce任务的进行磁盘中的溢写文件数扯会越来过句当然如果p输出结果很少ft 只会存在一个溢写文件们是通常会存在多个溢写兢终 在 Map 任务全部结 束之前系统会对所有溢写文件中的数据进行归并 ( Mcrgc 生成 个大的溢与文 件这个大的溢文件中所有键值对也是经过分区和排斤的。1所阴“” ( 是对于具打相同 kcy 的键伯对会被归并一个新的锦仇对。具体向门,于若于个共相同kcy的键值1 . ,会被归并成一个新的1大数据技术际理与应用存储、处理、分析与应j瑰值对k1,也,内,又,心另外,进行文件归并时,如果磁盘中已经生成的溢耳文件的数K起过

42、参数 bine的值时(默认低是3川户可以修改这个值)、那么就可以再次运行C.ombincr, 对数据进合并操,从而减少写人磁盘的数据。但是,如果盘中只一两个溢 写文件时执行合并操作就会”得不偿失”,因为执行合井操作本身也需戏代价,因此,不会运G mbinor 。4 Map Shu加 过程全部完成的一个大文件会被存放Reduce 仔务进行并obTracker 会一宜监测Map 任务的执行当监测到一个Map 任务完成后即通知uce 任务来 Shuffle。Reduce 端的Sh 过程-各-一相对于Map 端的le 只需要 从 Map 端读取Map 结果 Reduce 。具体而吉Reduce Sbu

43、ftle 过程包括3 个步骤(-各-一妞可I刊夕夕多,-(一Z, 之,:t - s, Jt,;Y妞可I刊夕夕多,-(一Z, 之,:t - s, Jt,;YJ了,r,夕二-务r-I -叩 m0 M l,,飞IIIIJ一-点:H,:I飞IIIIJ一-点:H,:IK一 印-I 、尸飞-、:厂M仲I、尸飞-、:厂M仲I、务i顷f、5-二 、.务i顷f、5-二 、.、( I ) “ 领取“ 数据Map Shuffle 过程结束后有 Map 轮出结果都保存在 Map 盘上任务需要把这些数据“领“ ( Fetch )因此,在每个 Reduce n Rcducc 任务会不断地通过 RPC 匹 ker Map

44、JobTracker监剖Map Reduce 任务来 一 一个 Reduce 任务收到i kcr通知它会到该Map任务所在机器上把屈于自己处理的分区数据领取到本地磁盘中。一般系统中会存在多个 Map机器,因此 ,Reduce 任务会使用多个线程同时从多个 Map机器领同数。( 2 ) 归并数据从Map端领同的数据,会百先被存放在Reduce任务所 仕机器的缓存如果缓存被占消就会像Map 端一样被溢写到磁盘中 。由于在 Shuffie阶段,Reduce任务还没有其正 开始执行,因此,这可以把内存的大部分空问分配给 Shuf!le 过程作为缓需要注意的,系统中一般存多个 Map 机器,所以 ,Re

45、duce任务会从多个 Map 机楛领回屈于自己处理的那些分区的数据因MapReduce中有这样一个原则:移动计算比移动数据更经济。试述什么是本地计算,并分析为何要采用本地计算。答: MapReduce下,这种开销尤为惊人,所以,移动计算要比移动数据更加经济。本地计算:在一个集群中,只要有可能,MapReduceMapHDFS试说明一个MapReduceMap任务数量和Reduce任务数量各是由什么因素决定的。MapReduce Map Reduce 这两个过程?如果不是,请举例说明。Map R t, tReduce 函数就只是一个恒等式,对输入不做任何变换就直接输出。Combiner 可以减少

46、数据传输量?MapReduce 程序Combiner?为什么?key对它们进行内存排序(SortMapReduce (Combine )CombinerCombiner函数, 则这个时候会执行合并操作,从而减少需要溢写到磁盘的数据量。所谓“合并”,是指将那些具有相同 key 的的 value 加起来,比如,有两个键值对和,经过合并操作以后就可以得到一个键值对,减少了键值对的数量。Combiner,因为,Combiner Reduce 任务的输Reduce 以使用合并操作。MapReduce HDFS Map 任务完成时的中间结果则存储在本地磁盘中。试分析中间结果存储在本地磁盘而不是HDFS 上

47、有何优缺点。答:第八章1、试述在 Hadoop 推出之后其优化与发展主要体现在哪两个方面。答:Hadoop 对 MapReduce 和 GDFS 的许多方面做了有针对性的改进提升。2、试述 HDFS1.0 中只包含一个名称节点会带来哪些问题。答:HDFS1.0 采用单点名称节点的设计,不仅会带来单点故障问题,还存在可扩展性、性能和隔离性等问题。在可扩展性方面,名称节点把整个 HDFS 文件系统中的元数据信息都保存在自己的内存中,HDFS1.0 中只有一个名称节点,不可以水平扩展,而单个名称节点的内存空间是由上限的,这限制了系统中数据块、文件和目录的数目。在系统整体性能方面,整个 HDFS 文件

48、系统的性能会受限于单个名称节点的吞吐量。在隔离性方面,单个名称节点难以提供不同程序之间的隔离性,一个程序可能会影响会影响其他运行的程序。3、请描述 HDFS HA 架构组成组建及其具体功能。HA 集群中,一般设置两个名称节点,其中一个名称节点处于HA 障,就可以立即切换到待命名称节点,不会影响到系统的正常对外服务。4、请分析 HDFS HA 架构中数据节点如何和名称节点保持通信。HDFS 联邦中,所有名称节点会共享底层的数据节点存储资源。每个数据信息,报告自己的状态,同时也会处理来自名称节点的指令。6HDFS HDFS 联邦中的一个名称节点失效,也不会影响到与它相关的数据节点继续为其他名称节点

49、提供服务。答:HDFS 的一组块,这些属于同一个命名空间的块构成一个“块池”。HDFS 联邦中的一个名称节点失效,也不会影响到与它相关的数据节点继续为其他名称节点提供服务。7、请阐述 MapReduce1.0 体系结构中存在的问题。答:(1)存在单点故障;JobTracker“大包大揽”导致任务过重;容易出现内存溢出;资源划分不合理。组件功能ResourceManager处理客户端请求启动/组件功能ResourceManager处理客户端请求启动/ApplicationMaster监控 NodeManager资源分配与调度ApplicationMaster任务任务调度、监控与容错NodeMan

50、ager单个节点上的资源管理ResourceManager 的命令ApplicationMaster 的命令9YARN MapReduce 答:用户编写客户端应用程序,向 YARN 提交应用程序,提交的内容包括ApplicationMaster 程序、启动 ApplicationMaster 的命令、用户程序等。YARN 中的 ResourceManager 负责接收和处理来自客户端的请求。接到客户端应用程序请求后,ResourceManager 里面的调度器会为应用程序分配一个容器。同时,ResourceManager 的应用程序管理器会与该容器所在的 NodeManager 通信,为该应用

51、程序在该容器中启动一个 ApplicationMasterApplicationMaster 被创建后会首先向 ResourceManager 注册,从而使得用户可以通过 ResourceManager 来直接查看应用程序的运行状态ApplicationMaster RPC ResourceManager 申请资源。ResourceManager ApplicationMaster 分配资源, ApplicationMaster NodeManager 进行通信,要求它启动任务。ApplicationMaster (包括JAR包、二进制程序等),然后将任务启动命令写到一个脚本中,最后通过在容器

52、中运行该脚本来启动任务。各个任务通过某个 RPC 协议向 ApplicationMaster 汇报自己的状态和进度,让ApplicationMaster 可以随时掌握各个任务的运行状态,从而可以在任务失败时重启任务。应用程序运行完成后,ApplicationMaster 向 ResourceManager 的应用程序管理器注销并关闭自己。若 ApplicationMaster 因故失败,ResourceManager 中的应用程序管理器会监测到失败的情形,然后将其重新启动,直到所有任务执行完毕。10、请对 YARN 和 MapReduce1.0 框架进行优劣势对比分析。答:(1)Resourc

53、eManager 的资源消耗。MapReduce1.0 JobTracker 需要同时承担资源管理、任务调度和任务监控等YARN ResourceManager 只需要负责资源管理,需要消耗大量ApplicationMaster ApplicationMasterApplicationMaster,这就实现了监控任务的分布化,不再像MapReduce1.0 JobTracker 上。MapReduce1.0MapReduce YARN 则是一个纯粹的资源调度管理框架,在它MapReduce 在内的不同类型的计算框架,默认类型是MapReduce。因为,YARNApplicationMaster

54、 是可变更的,针对不同的计算框架,用户可以采用任何编程语言自己编写服务于该计算框架的ApplicationMasterMapReduce 计算框架的ApplicationMasterMapReduce YARN 框架之上。SparkStorm YARN 框架之上。YARN MapReduce1.0 更加高效。YARN 采用容器为单位进MapReduce1.0中槽的闲置浪费情况,大大提高了资源的利用率。11、请分别描述 Pig、Tez 和 Kafka 的功能。Hadoop SQL Pig Latin (包Filter、GroupBy、Join、OrderBy 等操作,同时也支持用户自定义函数),

55、允许用户通过编写简单的脚本来实现复杂的数据分析,而不需要编写复杂的MapReduce 应用程序,Pig MapReduce 作业在Hadoop MapReduce 程序进行自动优化的功能, Pig 程序的时候,不需要关心程序的运行效率,这就大大减少了用户编程时间。Tez Apache DAG MapReduce 框架, 核心思想是将Map 和Reduce Map 被拆分成Input、ProcessorSortMerge InputShuffleSortMerge、Processor Output 等,经过分解后的这些元操作可以进行自由任意组合产生新DAG 作业。DAG MapReduce 作业

56、,提供了程序运行的整体处理逻辑, Map 阶段,减少不必要的操作,提升数据处理的Hortonworks Tez Hive 100 倍。Kafka LinkedIn 公司开发的一种高吞吐量的分布式发布订阅消息系统,用Kafka 系统可以发布大量的消息,同时也能实时订阅消费消息。Kafka 设框架。第九章1、Spark 是基于内存计算的大数据计算平台,试述 Spark 的主要特点。答:Spark 具有如下 4 个主要特点:运行速度快;容易使用;通用性;运行模式多样。2、Spark Hadoop MapReduce Hadoop MapReduce Spark 具备哪些优点。答:(1)Hadoop

57、存在以下缺点:表达能力有限;磁盘 IO 开销大;延迟高(2)Spark 主要有如下优点:Spark MapReduceMap Reduce 操作,还提MapReduce 更灵活;Spark 提供了内存计算,中间结果直接存放内存中,带来更高的迭代运算效率;Spark 基于 DAG 的任务调度执行机制,要优于 MapReduce 的迭代执行机制。3、美国加州大学伯克利分校提出的数据分析的软件栈 BDAS 认为目前的大数据处理可以分为哪三个类型?答:复杂的批量数据处理:时间跨度通常在数十分钟到数小时之间;基于历史数据的交互式查询:时间跨度通常在数十秒到数分钟之间;基于实时数据流的数据处理:时间跨度通

58、常在数百毫秒到数秒之间。4、Spark Spark 的生态系统。答:Spark 的设计遵循“一个软件栈满足不同应用场景”的理念,逐渐形成一套SQL 计算、机器学习和图计算等。Spark YARN 之上,提供一站式的大数据解决方案。因此,Spark 所提供的生态系统同时支持批处理、交互式查询和流数据处理。5、从 Hadoop+Storm 架构转向 Spark 架构可带来哪些好处?答:(1)实现一键式安装和配置、线程级别的任务监控和告警;降低硬件集群、软件维护、任务监控和应用开发的难度;便于做成统一的硬件、计算平台资源池。6、试述“Spark on YARN”的概念。YARN Hadoop Spa

59、rk on YARNHDFS。7、试述如下 Spark 的几个主要概念:RDD、DAG、阶段、分区、窄依赖、宽依赖。答:RDD:是弹性分布式数据集(Resilient Distributed Dataset)的英文缩写, 是分布式内存的一个抽象概念,提供了一种高度受限的共享内存模型。DAGDirected Acyclic Graph(有向无环图)RDD 之间的依赖关系。段”,或者也被称为“任务集”。分区:一个 RDD 就是一个分布式对象集合,本质上是一个只读的分区记录集合,每个 RDD 可以分成多个分区,每个分区就是一个数据集片段。窄依赖:父 RDD 的一个分区只被一个子 RDD 的一个分区所

60、使用就是窄依赖。宽依赖:父 RDD 的一个分区被一个子 RDD 的多个分区所使用就是宽依赖。8、Spark 对 RDD 的操作主要分为行动(Action)和转换(Transformation)两种类型,两种类型操作的区别是什么?答:行动(Action):在数据集上进行运算,返回计算值。转换(Transformation):基于现有的数据集创建一个新的数据集。第十章流数据,即数据以大量、快速、时变的流形式持续到达试述流数据的特点流数据具有如下特征:数据快速持续到达,潜在大小也许是无穷无尽的数据来源众多,格式复杂数据量大,但是不十分关注存储,一旦经过处理,要么被丢弃,要么被归档存储注重数据的整体价

温馨提示

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

评论

0/150

提交评论