1、 大数据具有哪些特点?ABCD
(A) 数据的“大量化”
(B) 数据的“快速化”
(C) 数据的“多样化”
(D) 数据的“价值化”
2、 大数据的两个核心技术是什么?AC
(A) 分布式存储
(B) 数据处理与分析
(C) 分布式处理
(D) 数据存储与管理
第二章 大数据处理架构Hadoop
单选题
1、 下列哪个不属于Hadoop的特性?A
(A) 成本高
(B) 高可靠性
(C) 高容错性
(D) 运行在Linux平台上
2、 Hadoop框架中最核心的设计是什么?A
(A) 为海量数据提供存储的HDFS和对数据进行计算的MapReduce
(B) 提供整个HDFS文件系统的NameSpace(命名空间)管理、块管理等所有服务
(C) Hadoop不仅可以运行在企业内部的集群中,也可以运行在云计算环境中
(D) Hadoop被视为事实上的大数据处理标准
3、 在一个基本的Hadoop集群中,DataNode主要负责什么?A
(A) 存储被拆分的数据块
(B) 协调数据计算任务
(C) 负责协调集群中的数据存储
(D) 负责执行由JobTracker指派的任务
4、 Hadoop最初是由谁创建的?A
(A) Doug Cutting
(B) Lucene
(C) Apache
(D) MapReduce
5、 下列哪一个不属于Hadoop的大数据层的功能?A
(A) 数据挖掘
(B) 离线分析
(C) 实时查询
(D) BI分析
6、 在一个基本的Hadoop集群中,SecondaryNameNode主要负责什么?A
(A) 帮助NameNode收集文件系统运行的状态信息
(B) 负责执行由JobTracker指派的任务
(C) 协调数据计算任务
(D) 负责协调集群中的数据存储
7、 下面哪一项不是Hadoop的特性?A
(A) 只支持少数几种编程语言
(B) 可扩展性高
(C) 成本低
(D) 能在linux上运行
8、 下列哪个不是Hadoop在企业中的应用架构?A
(A) 网络层
(B) 访问层
(C) 大数据层
(D) 数据源层
9、 在Hadoop项目结构中,HDFS指的是什么?A
(A) 分布式文件系统
(B) 分布式并行编程模型
(C) 资源管理和调度器
(D) Hadoop上的数据仓库
10、 在Hadoop项目结构中,MapReduce指的是什么?A
(A) 分布式并行编程模型
(B) 流计算框架
(C) Hadoop上的工作流管理系统
(D) 提供分布式协调一致性服务
多选题
1、 Hadoop的特性包括哪些?ABCD
(A) 高可扩展性
(B) 支持多种编程语言
(C) 成本低
(D) 运行在Linux平台上
2、 Hadoop在企业中的应用架构包括哪几层?ABC
(A) 访问层
(B) 大数据层
(C) 数据源层
(D) 网络层
3、 Hadoop中,访问层的功能是什么?ABC
(A) 数据分析
(B) 数据实时查询
(C) 数据挖掘
(D) 数据接收
4、 MapReduce的作业主要包括什么?AB
(A) 从磁盘或从网络读取数据,即IO密集工作
(B) 计算数据,即CPU密集工作
(C) 针对不同的工作节点选择合适硬件类型
(D) 负责协调集群中的数据存储
5、 一个基本的Hadoop集群中的节点主要包括什么?ABCD
(A) DataNode:存储被拆分的数据块
(B) JobTracker:协调数据计算任务
(C) TaskTracker:负责执行由JobTracker指派的任务
(D) SecondaryNameNode:帮助NameNode收集文件系统运行的状态信息
6、 下列关于Hadoop的描述,哪些是正确的?ABCD
(A) 为用户提供了系统底层细节透明的分布式基础架构
(B) 具有很好的跨平台特性
(C) 可以部署在廉价的计算机集群中
(D) 被公认为行业大数据标准开源软件
7、 Hadoop主要提供哪些技术服务?ABC
(A) 开发工具
(B) 开源软件
(C) 商业化工具
(D) 数据采集
8、 Hadoop集群的整体性能主要受到什么因素影响?ABCD
(A) CPU性能
(B) 内存
(C) 网络
(D) 存储容量
9、 下列关于Hadoop的描述,哪些是错误的?AB
(A) 为用户提供了系统顶层分布式基础架构
(B) 具有较差的跨平台特性
(C) 可以部署在廉价的计算机集群中
(D) 被公认为行业大数据标准开源软件
10、 下列哪一项不属于Hadoop的特性?AB
(A) 较低可扩展性
(B) 只支持java语言
(C) 成本低
(D) 运行在Linux平台上
第三章 分布式文件系统HDFS
单选题
1、 分布式文件系统指的是什么?A
(A) 把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群
(B) 用于在Hadoop与传统数据库之间进行数据传递
(C) 一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统
(D) 一种高吞吐量的分布式发布订阅消息系统,可以处理消费者规模的网站中的所有动作流数据
2、 下面哪一项不属于计算机集群中的节点?A
(A) 源节点(SourceNode)
(B) 主节点(Master Node)
(C) 名称结点(NameNode)
(D) 从节点(Slave Node)
3、 在HDFS中,默认一个块多大?A
(A) 64MB
(B) 32MB
(C) 128MB
(D) 16MB
4、 下列哪一项不属于HDFS采用抽象的块概念带来的好处?A
(A) 强大的跨平台兼容性
(B) 支持大规模文件存储
(C) 简化系统设计
(D) 适合数据备份
5、 在HDFS中,NameNode的主要功能是什么?A
(A) 存储元数据
(B) 存储文件内容
(C) 文件内存保存在磁盘中
(D) 维护了block id 到datanode本地文件的映射关系
6、 下面对FsImage的描述,哪个是错误的?D
(A) FsImage文件没有记录文件包含哪些块以及每个块存储在哪个数据节点
(B) FsImage文件包含文件系统中所有目录和文件inode的序列化形式
(C) FsImage用于维护文件系统树以及文件树中所有的文件和文件夹的元数据
(D) FsImage文件记录了所有针对文件的创建、删除、重命名等操作
7、 下面对SecondaryNameNode第二名称节点的描述,哪个是错误的?A
(A) SecondaryNameNode一般是并行运行在多台机器上
(B) 它是用来保存名称节点中对HDFS元数据信息的备份,并减少名称节点重启的时间
(C) SecondaryNameNode通过HTTPGET方式从NameNode上获取到FsImage和EditLog文件,并下载到本地的相应目录下
(D) SecondaryNameNode是HDFS架构中的一个组成部分
8、 HDFS采用了什么模型?A
(A) 主从结构模型
(B) 分层模式
(C) 管道-过滤器模式
(D) 点对点模式
9、 在Hadoop项目结构中,HDFS指的是什么?A
(A) 分布式文件系统
(B) 流数据读写
(C) 资源管理和调度器
(D) Hadoop上的数据仓库
10、 下列关于HDFS的描述,哪个不正确?A
(A) HDFS采用具体的块概念,具有支持大规模文件存储、简化系统设计
(B) HDFS采用了主从(Master/Slave)结构模型
(C) HDFS采用了冗余数据存储,增强了数据可靠性
(D) HDFS还采用了相应的数据存放、数据读取和数据复制策略,来提升系统整体读写响应性能
多选题
1、 HDFS要实现以下哪几个目标?ABC
(A) 兼容廉价的硬件设备
(B) 流数据读写
(C) 大数据集
(D) 复杂的文件模型
2、 HDFS特殊的设计,在实现上述优良特性的同时,也使得自身具有一些应用局限性,主要包括以下哪几个方面?ABC
(A) 不适合低延迟数据访问
(B) 无法高效存储大量小文件
(C) 不支持多用户写入及任意修改文件
(D) 较差的跨平台兼容性
3、 HDFS采用抽象的块概念可以带来以下哪几个明显的好处?ABC
(A) 支持大规模文件存储
(B) 简化系统设计
(C) 适合数据备份
(D) 支持中等规模文件存储
4、 在HDFS中,名称节点(NameNode)主要保存了哪些核心的数据结构?AB
(A) FsImage
(B) EditLog
(C) Block
(D) DN8
5、 数据节点(DataNode)的主要功能包括哪些?ABC
(A) 负责数据的存储和读取
(B) 根据客户端或者是名称节点的调度来进行数据的存储和检索
(C) 向名称节点定期发送自己所存储的块的列表
(D) 用来保存名称节点中对HDFS元数据信息的备份,并减少名称节点重启的时间
6、 HDFS的命名空间包含什么?ABC
(A) 目录
(B) 文件
(C) 块
(D) 磁盘
7、 下列对于客服端的描述,哪些是正确的?ABCD
(A) 客户端是用户操作HDFS最常用的方式,HDFS在部署时都提供了客户端
(B) HDFS客户端是一个库,暴露了HDFS文件系统接口
(C) 严格来说,客户端并不算是HDFS的一部分
(D) 客户端可以支持打开、读取、写入等常见的操作
8、 HDFS只设置唯一一个名称节点,这样做虽然大大简化了系统设计,但也带来了哪些明显的局限性?ABCD
(A) 命名空间的限制
(B) 性能的瓶颈
(C) 隔离问题
(D) 集群的可用性
9、 HDFS数据块多副本存储具备以下哪些有点?ABC
(A) 加快数据传输速度
(B) 容易检查数据错误
(C) 保证数据可靠性
(D) 适合多平台上运行
10、 HDFS具有较高的容错性,设计了哪些相应的机制检测数据错误和进行自动恢复?ABC
(A) 名称节点出错
(B) 数据节点出错
(C) 数据出错
(D) 数据源太大
第四章 分布式数据库HBase
单选题
1、 下列关于BigTable的描述,哪个是错误的?A
(A) 爬虫持续不断地抓取新页面,这些页面每隔一段时间地存储到BigTable里
(B) BigTable是一个分布式存储系统
(C) BigTable起初用于解决典型的互联网搜索问题
(D) 网络搜索应用查询建立好的索引,从BigTable得到网页
2、 下列选项中,关于HBase和BigTable的底层技术对应关系,哪个是错误的?A
(A) GFS与Zookeeper
(B) GFS与HDFS
(C) MapReduce与Hadoop MapReduce
(D) Chubby与Zookeeper
3、 在HBase中,关于数据操作的描述,下列哪一项是错误的?A
(A) HBase则采用了更加简单的数据模型,它把数据存储为未经解释的字符串
(B) HBase操作不存在复杂的表与表之间的关系
(C) HBase操作只有简单的插入、查询、删除、清空等
(D) HBase在设计上就避免了复杂的表和表之间的关系
4、 在HBase访问接口中,Pig主要用在哪个场合?A
(A) 适合做数据统计
(B) 适合HBase管理使用
(C) 适合其他异构系统在线访问HBase表数据
(D) 适合Hadoop MapReduce作业并行批处理HBase表数据
5、 HBase中需要根据某些因素来确定一个单元格,这些因素可以视为一个“四维坐标”,下面哪个不属于“四维坐标”?A
(A) 关键字
(B) 行键
(C) 列族
(D) 时间戳
6、 关于HBase的三层结构中各层次的名称和作用的说法,哪个是错误的?A
(A) Zookeeper文件记录了用户数据表的Region位置信息
(B) -ROOT-表记录了.META.表的Region位置信息
(C) .META.表保存了HBase中所有用户数据表的Region位置信息
(D) Zookeeper文件记录了-ROOT-表的位置信息
7、 下面关于主服务器Master主要负责表和Region的管理工作的描述,哪个是错误的?A
(A) 实现相同Region服务器之间的负载均衡行
(B) 在Region分裂或合并后,负责重新调整Region的分布
(C) 对发生故障失效的Region服务器上的Region进行迁移
(D) 管理用户对表的增加、删除、修改、查询等操作
8、 HBase实际应用中的性能优化方法不包括下面哪一项?D
(A) 创建表的时候,可以通过HColumnDescriptor.setInMemory(true)将表放到Region服务器的缓存中,保证在读取的时候被cache命中
(B) 创建表的时候,可以通过HColumnDescriptor.setMaxVersions(int maxVersions)设置表中数据的最大版本,如果只需要保存最新版本的数据,那么可以设置setMaxVersions(1)
(C) 创建表的时候,可以通过HColumnDescriptor.setTimeToLive(int timeToLive)设置表中数据的存储生命期
(D) 如果最近写入HBase表中的数据是最可能被访问的,可以考虑将时间戳作为行键的一部分
9、 HBase只有一个针对行健的索引,如要要访问HBase表中的行,下面哪种方式是不可行的?B
(A) 通过单个行健访问
(B) 通过时间戳访问
(C) 通过一个行健的区间来访问
(D) 全表扫描
10、 下面关于Region的说法,哪个是错误的?C
(A) 同一个Region不会被分拆到多个Region服务器
(B) 为了加快访问速度,.META.表的全部Region都会被保存在内存中
(C) 一个-ROOT-表可以有多个Region
(D) 为了加速寻址,客户端会缓存位置信息,同时,需要解决缓存失效问题
多选题
1、 关系数据库已经流行很多年,并且Hadoop已经有了HDFS和MapReduce,为什么需要HBase?ABCD
(A) Hadoop可以很好地解决大规模数据的离线批量处理问题,但是,受限于Hadoop MapReduce编程框架的高延迟数据处理机制,使得Hadoop无法满足大规模数据实时处理应用的需求上
(B) HDFS面向批量访问模式,不是随机访问模式
(C) 传统的通用关系型数据库无法应对在数据规模剧增时导致的系统扩展性和性能问题
(D) 传统关系数据库在数据结构变化时一般需要停机维护;空列浪费存储空间
2、 HBase与传统的关系数据库的区别主要体现在以下哪几个方面?ABCD
(A) 数据类型
(B) 数据操作
(C) 存储模式
(D) 数据维护
3、 HBase访问接口类型包括哪些?ABCD
(A) Native Java API
(B) HBase Shell
(C) Thrift Gateway
(D) REST Gateway
4、 下列关于数据模型的描述,哪些是正确的?ABCD
(A) HBase采用表来组织数据,表由行和列组成,列划分为若干个列族
(B) 每个HBase表都由若干行组成,每个行由行键(row key)来标识
(C) 列族里的数据通过列限定符(或列)来定位
(D) 每个单元格都保存着同一份数据的多个版本,这些版本采用时间戳进行索引
5、 HBase的实现包括哪三个主要的功能组件?ABC
(A) 库函数:链接到每个客户端
(B) 一个Master主服务器
(C) 许多个Region服务器
(D) 部署在廉价的计算机集群中
6、 HBase的三层结构中,三层指的是哪三层?ABCD
(A) Zookeeper文件
(B) -ROOT-表
(C) .META.表
(D) 数据类型
7、 HBase性能监视主要包括以下哪几方面??ABCD
(A) Master-status(自带)
(B) Ganglia
(C) OpenTSDB
(D) Ambari
8、 Zookeeper是一个很好的集群管理工具,被大量用于分布式计算,它主要提供什么服务?ABCD
(A) 配置维护
(B) 域名服务
(C) 分布式同步
(D) 组服务
9、 下列关于Region服务器工作原理的描述,哪些是正确的?ABCD
(A) 每个Region服务器都有一个自己的HLog 文件
(B) 每次刷写都生成一个新的StoreFile,数量太多,影响查找速度
(C) 合并操作比较耗费资源,只有数量达到一个阈值才启动合并
(D) Store是Region服务器的核心
10、 下列关于HLog工作原理的描述,哪些是正确的?ABCD
(A) 分布式环境必须要考虑系统出错。HBase采用HLog保证
(B) HBase系统为每个Region服务器配置了一个HLog文件
(C) Zookeeper会实时监测每个Region服务器的状态
(D) Master首先会处理该故障Region服务器上面遗留的HLog文件
第五章 NoSQL数据库
单选题
1、 下列哪个不属于NoSQL数据库的特点?D
(A) 灵活的可扩展性
(B) 灵活的数据模型
(C) 与云计算紧密融合
(D) 大型的数据库
2、 下面关于NoSQL和关系数据库的简单比较,哪个是错误的?B
(A) RDBMS有关系代数理论作为基础,NoSQL没有统一的理论基础
(B) NoSQL很难实现横向扩展,RDBMS可以很容易通过添加更多设备来支持更大规模的数据
(C) RDBMS需要定义数据库模式,严格遵守数据定义,NoSQL不存在数据库模式,可以自由灵活定义并存储各种不同类型的数据
(D) RDBMS借助于索引机制可以实现快速查询,很多NoSQL数据库没有面向复杂查询的索引
3、 下列哪一项不属于NoSQL的四大类型?D
(A) 文档数据库
(B) 图数据库
(C) 列族数据库
(D) 时间戳数据库
4、 下列关于键值数据库的描述,哪一项是错误的?D
(A) 扩展性好,灵活性好
(B) 大量写操作时性能高
(C) 无法存储结构化信息
(D) 条件查询效率高
5、 下列关于列族数据库的描述,哪一项是错误的?A
(A) 查找速度慢,可扩展性差
(B) 功能较少,大都不支持强事务一致性
(C) 容易进行分布式扩展
(D) 复杂性低
6、 下列哪一项不属于数据库事务具有ACID四性?A
(A) 间断性
(B) 原子性
(C) 一致性
(D) 持久性
7、 下列关于NoSQL与关系数据库的比较,哪个说法是错误的?D
(A) 在一致性方面,RDBMS强于NoSQL
(B) 在数据完整性方面,RDBMS容易实现
(C) 在扩展性方面,NoSQL 比较好
(D) 在可用性方面,NoSQL优于RDBMS
多选题
1、 关系数据库已经无法满足Web2.0的需求,主要表现在以下几个方面?ABC
(A) 无法满足海量数据的管理需求
(B) 无法满足数据高并发的需求
(C) 无法满足高可扩展性和高可用性的需求
(D) 使用难度高
2、 关系数据库引以为傲的两个关键特性(完善的事务机制和高效的查询机制),到了Web2.0时代却成了鸡肋,主要表现在以下哪几个方面?ACD
(A) Web2.0 网站系统通常不要求严格的数据库事务
(B) Web2.0 网站系统基本上不用数据库来存储
(C) Web2.0 并不要求严格的读写实时性
(D) Web2.0 通常不包含大量复杂的SQL 查询
3、 下面关于NoSQL与关系数据库的比较,哪些是正确的?ABCD
(A) 关系数据库以完善的关系代数理论作为基础,有严格的标准
(B) 关系数据库可扩展性较差,无法较好支持海量数据存储
(C) NoSQL可以支持超大规模数据存储
(D) NoSQL 数据库缺乏数学理论基础,复杂查询性能不高
4、 NoSQL的三大基石?ABC
(A) CAP
(B) 最终一致性
(C) BASE
(D) DN8
5、 关于NoSQL的三大基石之一的CAP,下列哪些说法是正确的?ACD
(A) 一致性,是指任何一个读操作总是能够读到之前完成的写操作的结果量
(B) 一个分布式系统可以同时满足一致性、可用性和分区容忍性这三个需求
(C) 可用性,是指快速获取数据
(D) 分区容忍性,是指当出现网络分区的情况时(即系统中的一部分节点无法和其他节点进行通信),分离的系统也能够正常运行
6、 当处理CAP的问题时,可以有哪几个明显的选择?ABC
(A) CA:也就是强调一致性(C)和可用性(A),放弃分区容忍性(P)
(B) CP:也就是强调一致性(C)和分区容忍性(P),放弃可用性(A)
(C) AP:也就是强调可用性(A)和分区容忍性(P),放弃一致性(C)
(D) CAP:也就是同时兼顾可用性(A)、分区容忍性(P)和一致性(C),当时系统性能会下降很多
7、 数据库事务具有ACID四性,下面哪几项属于四性?ABD
(A) 原子性
(B) 持久性
(C) 间断性
(D) 一致性
第七章 MapReduce
单选题
1、 下列传统并行计算框架,说法错误的是哪一项?B
(A) 刀片服务器、高速网、SAN,价格贵,扩展性差上
(B) 共享式(共享内存/共享存储),容错性好
(C) what-how,难
(D) 实时、细粒度计算、计算密集型
2、 下列关于MapReduce模型的描述,错误的是哪一项?D
(A) MapReduce采用“ 分而治之”策略
(B) MapReduce设计的一个理念就是“ 计算向数据靠拢”
(C) MapReduce框架采用了Master/Slave架构
(D) MapReduce应用程序只用Java来写
3、 MapReduce的体系结构在,JobTracker是主要任务是什么?A
(A) 负责资源监控和作业调度,监控所有TaskTracker与Job的健康状况
(B) 使用“slot”等量划分本节点上的资源量(CPU、内存等)
(C) 会周期性地通过“心跳”将本节点上资源的使用情况和任务的运行进度汇报给TaskTracker
(D) 会跟踪任务的执行进度、资源使用量等信息,并将这些信息告诉任务(Task)
4、 下列关于MapReduce工作流程,哪个描述是正确的?A
(A) 所有的数据交换都是通过MapReduce框架自身去实现的
(B) 不同的Map任务之间会进行通信
(C) 不同的Reduce任务之间可以发生信息交换
(D) 用户可以显式地从一台机器向另一台机器发送消息
5、 下列关于MapReduce的说法,哪个描述是错误的?D
(A) MapReduce具有广泛的应用,比如关系代数运算、分组与聚合运算等
(B) MapReduce将复杂的、运行于大规模集群上的并行计算过程高度地抽象到了两个函数
(C) 编程人员在不会分布式并行编程的情况下,也可以很容易将自己的程序运行在分布式系统上,完成海量数据集的计算
(D) 不同的Map任务之间可以进行通信
6、 下列关于Map和Reduce函数的描述,哪个是错误的?C
(A) Map将小数据集进一步解析成一批<key,value>对,输入Map函数中进行处理
(B) Map每一个输入的<k 1 ,v 1 >会输出一批<k 2 ,v 2 >。<k 2 ,v 2 >是计算的中间结果
(C) Reduce输入的中间结果<k 2 ,List(v 2 )>中的List(v 2 )表示是一批属于不同一个k 2 的value
(D) Reduce输入的中间结果<k 2 ,List(v 2 )>中的List(v 2 )表示是一批属于同一个k 2 的value
7、 下面哪一项不是MapReduce体系结构主要部分?A
(A) Client
(B) JobTracker
(C) TaskTracker以及Task
(D) Job
8、 关于MapReduce的体系结构的描述,下列说法错误的是?C
(A) 用户可通过Client提供的一些接口查看作业运行状态
(B) 用户编写的MapReduce程序通过Client提交到JobTracker端
(C) JobTracker负责资源监控和作业调度
(D) JobTracker 会跟踪任务的执行进度、资源使用量等信息,并将这些信息告诉任务调度器(TaskScheduler)
9、 关于MapReduce的体系结构的描述,下列说法错误的是?A
(A) Task 分为Map Task 和Reduce Task 两种,分别由JobTracker 和TaskTracker 启动
(B) slot 分为Map slot 和Reduce slot 两种,分别供MapTask 和Reduce Task 使用
(C) TaskTracker 使用“slot”等量划分本节点上的资源量(CPU、内存等)
(D) TaskTracker 会周期性接收JobTracker 发送过来的命令并执行相应的操作(如启动新任务、杀死任务等)
10、 下列说法有误的是?C
(A) Hadoop MapReduce是MapReduce的开源实现,后者比前者使用门槛低很多
(B) MapReduce非共享式,容错性好
(C) MapReduce批处理、实时、数据疏散型
(D) MapReduce采用“ 分而治之”策略
多选题
1、 MapReduce相较于传统的并行计算框架有什么优势?ABCD
(A) 非共享式,容错性好
(B) 普通PC机,便宜,扩展性好
(C) what,简单
(D) 批处理、非实时、数据密集型
2、 MapReduce体系结构主要由以下那几部分构成?ABCD
(A) Client
(B) JobTracker
(C) TaskTracker
(D) Task
3、 下列关于MapReduce的体系结构的描述,说法正确的有?ABD
(A) 用户编写的MapReduce程序通过Client提交到JobTracker端
(B) JobTracker负责资源监控和作业调度
(C) TaskTracker监控所有TaskTracker与Job的健康状况
(D) TaskTracker 使用“slot”等量划分本节点上的资源量(CPU、内存等)
4、 MapReduce的作业主要包括什么?AB
(A) 从磁盘或从网络读取数据,即IO密集工作
(B) 计算数据,即CPU密集工作
(C) 针对不同的工作节点选择合适硬件类型
(D) 负责协调集群中的数据存储
5、 对于MapReduce 而言,其处理单位是split。split 是一个逻辑概念,它包含哪些元数据信息?ABCD
(A) 数据起始位置
(B) 数据长度
(C) 数据所在节点
(D) 数据大小
6、 下列关于Map 端的Shuffle的描述,哪些是正确的?BC
(A) MapReduce默认1000MB缓存
(B) 多个溢写文件归并成一个或多个大文件,文件中的键值对是排序的
(C) 当数据很少时,不需要溢写到磁盘,直接在缓存中归并,然后输出给Reduce
(D) 每个Map任务分配多个缓存,使得任务运行更有效率
7、 MapReduce的具体应用包括哪些?ABCD
(A) 关系代数运算(选择、投影、并、交、差、连接)
(B) 分组与聚合运算
(C) 矩阵-向量乘法
(D) 矩阵乘法
8、 MapReduce执行的全过程包括以下哪几个主要阶段?ABCD
(A) 从分布式文件系统读入数据
(B) 执行Map任务输出中间结果
(C) 通过 Shuffle阶段把中间结果分区排序整理后发送给Reduce任务
(D) 执行Reduce任务得到最终结果并写入分布式文件系统
9、 下列关于分布式并行编程的描述,哪些是正确的?ABC
(A) “摩尔定律”, CPU性能大约每隔18个月翻一番
(B) 分布式程序运行在大规模计算机集群上
(C) 谷歌公司最先提出了分布式并行编程模型MapReduce
(D) MapReduce是Hadoop的开源实现
10、 下列说法正确的是?ABCD
(A) MapReduce体系结构主要由四个部分组成,分别是:Client、JobTracker、TaskTracker以及Task
(B) Task 分为Map Task 和Reduce Task 两种,均由TaskTracker 启动
(C) 在MapReduce工作流程中,所有的数据交换都是通过MapReduce框架自身去实现的
(D) 在MapReduce工作流程中,用户不能显式地从一台机器向另一台机器发送消息
第八章 Hadoop再探讨
单选题
1、 Hadoop1.0的核心组件(仅指MapReduce和HDFS,不包括Hadoop生态系统内的Pig、Hive、HBase等其他组件),下列哪项是它的不足?B
(A) 抽象层次高
(B) 表达能力有限,抽象层次低,需人工编码
(C) 价格昂贵
(D) 可维护性低
2、 下面哪个选项不属于Hadoop1.0 的问题?D
(A) 单一名称节点,存在单点失效问题
(B) 单一命名空间,无法实现资源隔离
(C) 资源管理效率低
(D) 很难上手
3、 下列哪项是Hadoop生态系统中Spark的功能?D
(A) 处理大规模数据的脚本语言
(B) 工作流和协作服务引擎,协调Hadoop上运行的不同任务
(C) 支持DAG作业的计算框架
(D) 基于内存的分布式并行编程框架,具有较高的实时性,并且较好支持迭代计算
4、 在Hadoop生态系统中,Kafka主要解决Hadoop 中存在哪些的问题?A
(A) Hadoop生态系统中各个组件和其他产品之间缺乏统一的、高效的数据交换中介
(B) 不同的MapReduce任务之间存在重复操作,降低了效率
(C) 延迟高,而且不适合执行迭代计算
(D) 抽象层次低,需要手工编写大量代码
5、 下列哪一个不属于HDFS1.0 中存在的问题?B
(A) 不可以水平扩展
(B) 多点故障问题
(C) HDFS HA是热备份,提供高可用性,但是无法解决可扩展性、系统性能和隔离性
(D) 系统整体性能受限于单个名称节点的吞吐量
6、 关于HDFS Federation 的设计的描述,哪个是错误的?A
(A) 属于不同命名空间的块可以构成同一个“块池”
(B) HDFS Federation中,所有名称节点会共享底层的数据节点存储资源,数据节点向所有名称节点汇报
(C) 设计了多个相互独立的名称节点
(D) HDFS的命名服务能够水平扩展
7、 下列关于.HDFS Federation的描述,错误的是?A
(A) 不存在单点故障
(B) JobTracker“大包大揽”导致任务过重
(C) 容易出现内存溢出(分配资源只考虑MapReduce任务数,不考虑CPU、内存)
(D) 资源划分不合理(强制划分为slot ,包括Map slot和Reduce slot)
8、 下列哪一项不属于MapReduce1.0的缺陷?A
(A) 数据中心是云计算的重要载体,为各种平台和应用提供运行支撑环境
(B) 提供智能交通、智慧医疗、智能物流、智能电网等
(C) 提供分布式计算、数据挖掘、统计分析等服务
(D) 提供硬件、软件、网络等基础设施
9、 下列哪个不属于YARN体系结构中ResourceManager的功能?D
(A) 处理客户端请求
(B) 监控NodeManager
(C) 资源分配与调度
(D) 处理来自ApplicationMaster的命令
10、 下列哪个不属于YARN体系结构中ApplicationMaster的功能?D
(A) 任务调度、监控与容错
(B) 为应用程序申请资源
(C) 将申请的资源分配给内部任务
(D) 处理来自ResourceManger的命令
多选题
1、 下列选项中,哪些属于Hadoop1.0的核心组件的不足之处?ABCD
(A) 实时性差(适合批处理,不支持实时交互式)
(B) 资源浪费(Map和Reduce分两阶段执行)
(C) 执行迭代操作效率低
(D) 难以看到程序整体逻辑
2、 Hadoop的优化与发展主要体现在哪几个方面?ABC
(A) Hadoop自身核心组件MapReduce的架构设计改进
(B) Hadoop自身核心组件HDFS的架构设计改进
(C) Hadoop生态系统其它组件的不断丰富
(D) Hadoop生态系统减少不必要的组件,整合系统
3、 下列哪些属于Hadoop2.0的改进?ABCD
(A) 设计了HDFS HA
(B) 提供名称节点热备机制
(C) 设计了HDFS Federation,管理多个命名空间
(D) 设计了新的资源管理框架YARN
4、 下面哪个属于不断完善的Hadoop生态系统中的组件?ABC
(A) Pig
(B) Spark
(C) Kafka
(D) DN8
5、 HDFS1.0 主要存在哪些问题?ABCD
(A) 单点故障问题
(B) 不可以水平扩展
(C) 单个名称节点难以提供不同程序之间的隔离性
(D) 系统整体性能受限于单个名称节点的吞吐量
6、 HDFS Federation 相对于HDFS1.0 的优势主要体现在哪里?BCD
(A) 能够解决单点故障问题
(B) HDFS 集群扩展性
(C) 性能更高效
(D) 良好的隔离性
7、 JobTracker主要包括哪三大功能?ABC
(A) 资源管理
(B) 任务调度
(C) 任务监控
(D) 数据即服务
8、 YARN 体系结构主要包括哪三部分?ABC
(A) ResourceManager
(B) NodeManager
(C) ApplicationMaster
(D) DataManager
9、 在YARN体系结构中,ApplicationMaster主要功能包括哪些?ABC
(A) 当用户作业提交时,ApplicationMaster与ResourceManager协商获取资源,ResourceManager会以容器的形式为ApplicationMaster分配资源
(B) 把获得的资源进一步分配给内部的各个任务(Map任务或Reduce任务),实现资源的“二次分配”
(C) 定时向ResourceManager发送“心跳”消息,报告资源的使用情况和应用的进度信息
(D) 向ResourceManager汇报作业的资源使用情况和每个容器的运行状态
10、 YARN 的目标就是实现“一个集群多个框架”,为什么?ABC
(A) 一个企业当中同时存在各种不同的业务应用场景,需要采用不同的计算框架
(B) 为了避免不同类型应用之间互相干扰,企业就需要把内部的服务器拆分成多个集群,分别安装运行不同的计算框架,即“一个框架一个集群”
(C) 这些产品通常来自不同的开发团队,具有各自的资源调度管理机制
(D) 解决单点故障
1、 Hadoop集群安装配置的主要操作步骤
(1)创建Hadoop用户;(2)Java环境安装;(3)SSH登录权限设置;(4)Hadoop单机安装和伪分布式安装
运行一个虚拟环境 CentOS
配置网络
创建新的用户组和用户
上传文件到 CentOS并配置Java和 Hadoop环境
修改Hadoop2.2配置文件修改CentOS主机名
绑定hostname与IP
关闭防火墙
配置SSH免密码登录
启动测试Hadoop
2、Hbase表创建,添加数据、查询数据的操作命令
Create;insert;select;(修改表update)
1.HBase Shell操作连接集群
hbase shell
2. 创建表
create ‘user’,‘base_info’
3. 向表中添加数据
put ‘user’, ‘rowkey_10’, ‘base_info:username’, ‘张三’
put ‘user’, ‘rowkey_10’, ‘base_info:birthday’, ‘2014-07-10’
put ‘user’,‘rowkey_10’,‘base_info:sex’,‘1’
put ‘user’,‘rowkey_10’,‘base_info:address’,‘北京市’
4. 查询表中的所有数据
scan ‘user’
5. 查询某个rowkey的数据
get ‘user’, ‘rowkey_16’
6. 查询某个列簇的数据
get ‘user’, ‘rowkey_16’, ‘base_info’
get ‘user’, ‘rowkey_16’, ‘base_info:username’
get ‘user’, ‘rowkey_16’, {COLUMN => [‘base_info:username’, ‘base_info:sex’]}
7. 删除表中的数据
delete ‘user’, ‘rowkey_16’, ‘base_info:username’
8. 清空数据
truncate ‘user’
9. 操作列簇
alter ‘user’, NAME => ‘f2’
alter ‘user’, ‘delete’ => ‘f2’
10. 删除表
一定要先disable 表, 然后才能删除表
disable ‘user’
drop ‘user’
3、Hadoop MapReduce编程模型主要哪由两个抽象类及功能
Mapper和Reducer,
Mapper用以对切分过的原始数据进行处理,
Reducer则对Mapper的结果进行汇总,得到最后的输出在数据格式上,Mapper接受<key,value>格式的数据流,并产生一系列同样是<key,value>形式的输出,这些输出经过相应处理,形成<key,{value list}>的形式的中间结果;之后,由Mapper产生的中间结果再传给Reducer作为输入,把相同key值的{value list}做相应处理,最终生成<key,value>形式的结果数据,再写入HDFS中。
4、 pig的功能
1)使用Pig来操作hadoop处理海量数据
2)Pig为用户提供Pig Latin这样近SQL语言处理能力,让用户可以更方便地处理海量数据,简化了用户对数据进行分析处理的操作过程
3)Pig将SQL语句翻译成MR的作业的集合,并通过数据流的方式将其组合.
4)Pig既可以运行在单机环境下,此时所有的Pig进程运行在一个单独的本地JVM上,也可以运行在Hadoop分布式环境下
5、zookeepr中的角色,zookeeper的功能
角色Leader;follower;observer;
一般用于分布式应用程序服务、配置维护和命名服务等
ZooKeeper集群当中有Leader和Follower两种角色。Leader可以接收Client请求,也接收其他Server转发的写请求,负责更新系统状态。Follower也可以接收Client请求,如果是写请求将转发给Leader来更新系统状态,读请求则由Follower的内存数据库直接相应。
5、 HDFS Shell的基本操作命令
首次使用HDFS时,需要使用format 命令进行格式化
./bin/hdfs namenode -format
使用start-dfs.sh命令启动HDFS,可使用JPS命令查看是否成功启动
./sbin/start-dfs.sh
HDFS支持的命令
查看hdfs支持的所有命令
./bin/hdfs dfs
Ps:查看hadoop下put的使用方法
./bin/hadoop fs -help put
HDFS文件系统中目录创建操作
创建用户目录
Hadoop系统安装好以后,第一次使用HDFS时,需要首先在HDFS中创建用户目录。
./bin/hdfs dfs -mkdir -p /user/hadoop
用查询命令查看我们在路径user下面创建的文件夹hadoop
./bin/hdfs dfs -ls /user
创建二级目录
在hadoop目录下再创建一个input文件夹
./bin/hdfs dfs -mkdir /user/hadoop/input
根目录下创建目录
在hadoop根目录下创建一个input文件夹
./bin/hdfs dfs -mkdir /input
HDFS文件系统中目录删除操作
删除在hadoop根目录下面创建的input文件夹
./bin/hdfs dfs -rm -r /input
Hadoop的文件操作
创建文件的方式
在当前环境目录下创建hello.txt文件,这里介绍两种方法。
number one
touch hello.txt
传输文件
利用put命令将创建的hello.txt文件上传到user/hadoop/input的目录
./bin/hdfs dfs -put ./hello.txt /user/hadoop/input
./bin/hdfs dfs -ls /user/hadoop/input
在user/hadoop/input目录下利用cat命令查看hello.txt文件内容
./bin/hdfs dfs -cat /user/hadoop/input/hello.txt
HDFS中的文件下载到本地文件系统
使用-get命令将HDFS中的hello.txt文件下载到本地文件系统中的/home/hadoop/Desktop这个目录下:
./bin/hdfs dfs -get /user/hadoop/input/hello.txt /home/hadoop/Desktop