《大数据技术原理与应用》林子雨 课后简答题答案
第一章 大数据概述
1. 试述大数据的四个基本特征。
数据量大:人类进入信息社会后,数据以自然方式增长,数据每两年就会增加一倍多。
数据类型繁多:大数据的数据类型非常丰富,包括结构化数据和非结构化数据,如邮件、音频、视频等,给数据处理和分析技术提出了新的挑战。
处理速度快:由于很多应用都需要基于快速生成的数据给出实时分析结果,因此新兴的大数据分析技术通常采用集处理和独特的内部设计。
价值密度低:有价值的数据分散在海量数据中。
2. 举例说明大数据的关键技术。
大数据技术层面 功能
数据采集与预处理 利用 ETL 工具将分布在异构数据源中的数据抽到临时中间层后进行清洗、转换和集成后加载到数据仓库中,成为联机分析处理、数据挖掘的基础,也可以利用日志采集工具(如 Flume、Kafka 等)将实时采集的数据作为流计算系统的输入,进行实时处理分析。
数据存储和管理 利用分布式文件系统、NoSQL 数据库等实现对数据的存储和管理。
数据处理与分析 利用分布式并行编程模型和计算框架,结合机器学习和数据挖掘算法,实现对海量数据的处理和分析,并进行可视化呈现。
数据安全和隐私保护 构建数据安全体系和隐私数据保护体系。
3. 详细阐述大数据、云计算和物联网三者之间的区别与联系
区别 联系
大数据侧重于海量数据的存储、处理与分析,从海量数据中发现价值,服务于生产和生活;云计算旨在整合和优化各种 IT 资源并通过网络以服务的方式,廉价地提供给用户;物
联网的发展目标是实现 “ 物物相连 ”,应用创新是物联网的核心。 从整体上看,大数据、云计算和物联网这三者是相辅相成的。大数据根植于云计算,大数据分析的很多技术都来自于云计算,云计算的分布式存储和管理系统提供了海量数据的存储和管理能力,分布式并行处理框架 MapReduce 提供了数据分析能力。没有这些云计算技术作为支撑,大数据分析就无从谈起。物联网的传感器源源不断的产生大量数据,构成了大数据的重要数据来源,物联网需要借助于云计算和大数据技术,实现物联网大数据的存储、分析和处理。
第二章 大数据处理架构 Hadoop
1. 试述 Hadoop 具有哪些特性。
高可靠性。采用冗余数据存储方式,即使一个副本发生故障,其他副本也可以保证正常对外提供服务。
高效性。作为并行分布式计算平台,Hadoop 采用分布式存储和分布式处理两大核心技术能够高效地处理 PB 级数据。
高可扩展性。Hadoop 的设计目标是可以高效稳定地运行在廉价的计算机集上,可以扩
展到数以千计的计算机节点上。
高容错性。采用冗余数据存储方式,自动保存数据的多个副本,并且能够自动将失败的任务进行重新分配。
成本低。Hadoop 采用廉价的计算机集,成本比较低,普通用户也很容易用自己的 PC 搭建 Hadoop 运行环境。
运行在 Linux 操作系统上。Hadoop 是基于 Java 开发的,可以较好的运行在 Linux 系统上。
支持多种编程语言。Hadoop 上的应用程序也可以使用其他语言编写,如 C++。
2. 试述 Hadoop 的项目结构以及每个部分的具体功能。
HDFS 是 Hadoop 项目的两个核心之一,它是针对谷歌文件系统的开源实现。
HBase 是一个提供高可靠性、高性能、可伸缩、实时读写、分布式的列式数据库,一般采用 HDFS 作为其底层数据存储系统。
Hadoop MapReduce 是针对谷歌 MapReduce 的开源实现。MapReduce 是一种编程模型,用于大规模数据集(大于 1 TB)的并行运算。
Hive 是一个基于 Hadoop 的数据仓库工具,可以用于对 Hadoop 文件中的数据集进行数据整理、特殊查询和分析存储。
Pig 是一种数据流语言和运行环境,适合于使用 Hadoop 和 MapReducce 平台上查询大型半结构化数据集。
ZooKeeper 是针对谷歌 Chubby 的一个开源实现,是高效和可靠的协同工作系统,提供分布式锁之类的基本服务,用于构建分布式应用,减轻分布式应用程序所承担的协调任务。
Sqoop 主要用来在 Hadoop 和关系数据库之间交换数据,可以改进数据的互操作性。
3. 试列举单机模式和伪分布式模式的异同点。
单机模式: Hadoop 只在一台机器上运行,存储采用本地文件系统,没有采用分布式文件系统 HDFS。
伪分布式模式: Hadoop 存储采用分布式文件系统 HDFS,但是,HDFS 的名称节点和数据节点都在同一台机器上。
第三章 分布式文件系统 HDFS
1. 试述 HDFS 中的名称节点和数据节点的具体功能。
名称节点 负责管理分布式文件系统系统的命名空间(Namespace),记录分布式文件系统中的每个文件中各个块所在的数据节点的位置信息。
数据节点 是分布式文件系统 HDFS 的工作节点,负责数据的存储和读取,会根据客户端或者名称节点的调度来进行数据的存储和检索,并向名称节点定期发送自己所存储的块的列表信息。
2. HDFS 只设置唯一一个名称节点,在简化系统设计的同时也带来了一些明显的局限性,请阐述局限性具体表现在哪些方面。
命名空间的限制。名称节点是保存在内存中的,因此名称节点能够容纳对象(文件、块)的个数会受到内存空间大小的限制。
性能的瓶颈。整个分布式文件系统的吞吐量受限于单个名称节点的吞吐量。
隔离问题。由于集中只有一个名称节点,只有一个命名空间,因此无法对不同的应用程序进行隔离。
集的可用性。一旦这个唯一的名称节点发生故障,会导致整个集变得不可用。
3. 试述 HDFS 的冗余数据保存策略。
采用了多副本方式多数据进行存储。即先在集内挑选一个磁盘不太满、CPU 不太忙的数据节点作为第一个副本存放点;选取不同的机架的数据节点作为第二副本存放点;选择与第一副本存放点同机架的不同节点作为第三副本存放点;第四副本存放点从集中随机挑选节点。
4. 数据复制主要是在数据写入和数据恢复的时候发生,HDFS 数据复制是使用流水线复制的策略,请阐述该策略的细节。
每个块都会向 HDFS 集中的名称节点发出写请求,名称节点会返回一个数据节点列表给
客户端,客户端将数据写入列表中第一个数据节点时,同时把列表传给第一个节点;第一个节点在接收到数据写入本地的同时,会把自己已经接收到的数据传给第二个数据节点,同时第二个数据节点接收到数据时,会在写入的同时将数据发送给第三个节点,以此类推。最后,当文件写完的时候,数据复制也同时完成了。
5. 请阐述 HDFS 在不发生故障的情况下读文件的过程。
1) 客户端打开文件,创建输入流;
2) 输入流通过远程调用名称节点,获得文件开始部分数据块的保存位置;
3) 客户端得到位置后开始读取数据,输入流选择距离客户端最近的数据节点建立连接并读取数据;
4) 数据从该数据节点读取至客户端,当该数据块读取完毕时,关闭连接;
5) 输入流查下一个数据块;
6) 到该数据块的最佳数据节点,读取数据;
7) 当客户端读取完数据时,关闭输入流。
6. 请阐述 HDFS 在不发生故障的情况下写文件的过程。
1) 客户端创建文件和输出流;
2) HDFS 调用名称节点,在文件系统的命名空间中建一个新的文件,并执行检查;检查通过后,名称节点会构造一个新文件夹,并添加文件信息;
3) 客户端通过输出流向 HDFS 的文件写入数据;
4) 客户端写入的数据首先会被分成一个个的分包,将分包放入输出流对象的内部队列,并向名称节点申请若干个数据节点,然后通过流水线复制策略打包成数据包发送出去;
5) 为保证所有数据节点的数据都是准确的,需要数据节点向发送者发送 “ 确认包 ”,当客户端收到应答时,将对应的分包从内部队列移除。不断执行 3~5 直至数据写完;
6) 客户端关闭输出流,通知名称节点关闭文件。
第四章 分布式数据库 HBase
1. 请阐述 HBase 和传统关系数据库的区别。
主要区别 HBase 传统关系数据库
数据类型 数据模型 关系模型
数据操作 插入、查询、删除、清空,无法实现表与表之间关联 插入、删除、更新、查询、多表连接
存储模式 基于列存储,每个列族都由几个文件保存,不同列族的文件是分离的 基于行模式存储,元组或行会被连续地存储在磁盘中
数据索引 只有一个行键索引 针对不同列构建复杂的多个索引
数据维护 更新操作不会删除数据旧的版本,而是生成一个新的版本 用最新的当前值去替换记录中原来的旧值
可伸缩性 轻易地通过在集中增加或者减少硬件数量来实现性能的伸缩 很难实现横向扩展,纵向扩展的空间也比较有限。
2. 试述 HBase 各功能组件及其作用。
(1)库函数:链接到每个客户端;
(2)一个 Master 主服务器:主服务器 Master 主要负责管理和维护 HBase 表的分区信息和 Region 服务器列表;
(3)许多个 Region 服务器:Region 服务器是 HBase 中最核心的模块,负责维护分配给自己的 Region,并响应用户的读写请求。
3. 试述 HBase 的三层结构中各层次的名称和作用。
层次 名称 作用
第一层大数据etl工具有哪些 ZooKeeper 文件 记录了 -ROOT- 表的位置信息
第二层 -ROOT- 表 记录了 .META. 表的 Region 位置信息, -ROOT- 表只能有一个 Region。通过 -ROOT- 表,就可以访问.META.表中的数据
第三层 .META. 表 记录了用户数据表的 Region 位置信息, .META. 表可以有多个 Region,保存了 HBase 中所有用户数据表的 Region 位置信息
4. 试述 HBase 系统基本架构以及每个组成部分的作用。
(1)客户端
客户端包含访问 HBase 的接口,同时在缓存中维护着已经访问过的 Region 位置信息,用来加快后续数据访问过程。
(2)ZooKeeper 服务器
ZooKeeper 可以帮助选举出一个 Master 作为集的总管,并保证在任何时刻总有唯一一个 Master 在运行,这就避免了 Master 的 “ 单点失效 ” 问题。
(3)Master 主服务器
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论