欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > 大数据导论第六章作业

大数据导论第六章作业

2025/12/14 9:32:28 来源:https://blog.csdn.net/r2931887650/article/details/143371952  浏览:    关键词:大数据导论第六章作业

第六章 作业

3、试述数据仓库有哪些特性。

答:数据仓库(Data Warehouse)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。
面向主题。操作型数据库的数据组织面向事务处理任务,而数据仓库中的数据按照一定的主题城进行组织。主题是指用户使用数据仓库进行决策时所关心的重点,一个主题通常与多个操作型信息系统相关。
集成。数据仓库的数据来自分散的操作型数据,将所需数据从原来的数据中抽取出来,进行加工与集成、统- 与综合之后才能进人数据仓库。
相对稳定。数据仓库是不可更新的。数据仓库主要为决策分析提供数据,所涉及的操作主要是数据的查询。
反映历史变化。在构建数据仓库时,会每隔一定的时间 (比如每周、每天或每小时)从数据源抽取数据并加载到数据仓库。
综上所述,数据库是面向事务的设计,数据仓库是面向主题的设计。数据库-般存储在线交易数据,数据仓库存储的一般是历史数据。 数据库为捕获数据而设计,数据仓库为分析数据而设计。数据仓库(Data Warehouse)是个面向主题的、 集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。

5、试述Hadoop生态系统及其各个部分的具体功能。

答:Hadoop生态系统的子项目除了核心的HDFS和MapReduce以外,还包括ZooKeeper、HBase、Hive、Pig、Mahout、Sqoop、Flume、Ambari等,如下图所示。

其中各部分的具体功能如下。

HDFS

它是针对谷歌文件系统(GFS)的开源实现。它具有处理超大数据、流式处理、可以运行在廉价商用服务器上的优点。HDFS放宽了一部分可移植操作系统接口约束,从而实现以流的形式访问文件系统中的数据。HDFS在访问应用程序数据时,可以具有很高的吞吐率,因此对于超大数据集的应用程序而言,选择HDFS作为底层数据存储系统是较好的选择。

HBase
HBase是一一个提供高可靠性、高性能、可伸缩、实时读写、分布式的列式数据库,-般采用HDFS作为其底层数据存储系统。HBase是针对谷歌Bigtable的开源实现,二者采用了相同的数据模型,具有强大的非结构化数据存储能力。

MapReduce
Hadoop MapReduce是针对谷歌MapReduce的开源实现。MapReduce是一种编程模型,用于大规模数据集(大于1 TB)的并行运算,它将复杂的、运行于大规模集群上的并行计算过程高度地抽象到两个函数一Map和Reduce上,并且允许用户在不了解分布式系统底层细节的情况下开发并行应用程序,并将其运行于廉价的计算机集群上,完成海量数据的处理。

Hive
Hive是-一个基于Hadoop的数据仓库工具,可以用于对Hadoop文件中的数据集进行数据整理、特殊查询和分析存储。Hive的学习门槛较低,因为它提供了类似于关系数据库SQL的查询语言---HiveQL,可以通过HiveQL语句快速实现简单的MapReduce任务,Hive自身可以将HiveQL语句转换为MapReduce任务运行,而不必开发专门]的MapReduce应用,因而十分适合数据仓库的统计分析。

Pig
Pig是一种数据流语言和运行环境,适合于使用Hadoop和MapReduce平台来查询大型半结的出现大大简化了Hadoop常见的工作任务,它在MapReduce的基础上创建了更简单的过程语言抽象,为Hadoop应用程序提供了一种更加接近SQL的接口。

Mahout
Mahout是Apache软件基金会旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发者更加方便快捷地创建智能应用程序。

ZooKeeper
ZooKeeper是针对谷歌Chubby的一个开源实现,是高效和可靠的协同工作系统,提供分布式锁之类的基本服务(如统命名服务、状态同步服务、集群管理、分布式应用配置项的管理等),用于构建分布式应用,减轻分布式应用程序所承担的协调任务。ZooKeeper 使用Java编写,很容易编程接人,它使用了一一个和文件树结构相似的数据模型,可以使用Java或者C来进行编程接人。

Flume
Flume是Cloudera提供的一一个高可用的、 高可靠的、分布式的海量日志采集、聚合和传输系充。Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理并写到各种数据接收方的能力。

Sqoop
Sqoop是SQL-to-Hadoop的缩写,主要用来在Hadoop和关系数据库之间交换数据,可以改进数据的互操作性。通过Sqoop可以方便地将数据从MySQL、Oracle、PostgreSQL等关系数据库中导人Hadoop,或者将数据从Hadoop导出到关系数据库,使得传统关系数据库和Hadoop之间的数据迁移变得非常方便。Sqoop主要通过Java数据库连接和关系数据库进行交互,理论上,支持JDBC的关系数据库都可最终结 以使用Sqoop和Hadoop进行数据交互。Sqoop是专门为大数据集设计的,支持增量更新,可以将新记录添加到最近一次导出的数据源上,或者指定上次修改的时间戳。

⑩Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的安装、部署、配置和管理。Ambari目前已支持大多数Hadoop组件。

6、试述HDFS的设计要实现哪些目标。

答:总体而言,HDFS要实现以下5个目标。

兼容廉价的硬件设备。在成百上千台廉价服务器中存储数据,常会出现节点失效的情况,因此HDFS设计了快速检测硬件故障和进行自动恢复的机制,可以实现持续监视、错误检查、容错处理和自动恢复,从而在硬件出错的情况下也能实现数据的完整性。
流数据读写。普通文件系统主要用于随机读写以及与用户进行交互,而HDFS是为了满足批量数据处理的要求而设计的,因此为了提高数据吞吐率,HDFS 放松了一些POSIX的要求,从而能够以流式方式来访问文件系统数据。
大数据集。HDFS中的文件通常可以达到GB甚至TB级别,一个数百台服务器组成的集群可以支持千万级别这样的文件。
简单的文件模型。HDFS采用了“-次写人、多次读取”的简单文件模型,文件一旦完成写人,关闭后就无法再次写人,只能被读取。
强大的跨平台兼容性。HDFS是采用Java实现的,具有很好的跨平台兼容性,支持JVM的机器都可以运行HDFS。

8、试述键值数据库、列族数据库、文档数据库和图数据库的适用场合和优缺点。

答:①键值数据库

适用场合:在存在大量写操作的情况下,键值数据库可以比关系数据库取得更好的性能。因为关系数据库需要建立索引来加速查询,当存在大量写操作时,索引会频繁更新,由此会产生高昂的索引维护代价。关系数据库通常很难横向扩展,但是键值数据库天生具有良好的伸缩性,理论上几乎可以实现数据量的无限扩容。

优点:扩展性好、灵活性好,进行大量写操作时性能高。

缺点:无法存储结构化信息、条件查询效率较低

使用者:百度云数据库(Redis)、GitHub(Riak)、BestBuy(Riak)、StackOverFlow(Redis)、Instagram(Redis)

列族数据库

适用场合:主要应用于分布式数据存储与管理。列族可以被配置成支持不同类型的访问模式,-个列族也可以被设置成放人内存,以消耗内存为代价换取更好的响应性能。

优点:查找速度快、可扩展性强、容易进行分布式扩展、复杂性低

缺点:功能较少,大多不支持强事务一致性

使用者:Ebay(Cassandra)、Instagram(Cassandra)、Yahoo!(HBase)

文档数据库

适用场合:主要运用于存储、索引并管理面向文档的数据或者类似的半结构化数据。对于那些可以把输人数据表示成文档的应用而言,文档数据库是非常合适的。

优点:性能好、灵活性高、复杂性低、数据结构灵活

缺点:缺乏统一的查询语法

使用者:NBC、数据车(RMongoDB)、SAP(MongoDB)、Codecadem)(MongoDB)、Foursquare(MongoDB)

图数据库

适用场合:可用于大量复杂、互连接、低结构化的图结构场合,如社交平台、推荐系统等。

优点:灵活性高、支持复杂的图算法、可用于构建复杂的关系图谱

缺点:复杂性高、只能支持一定的数据规模

使用者:Adobe(Neo4j)、Cisco(Neo4j)、T-Mobile(Neo4j)

9、试述云数据库的概念及特性。

答:概念:云数据库是部署在云计算环境中的虚拟化数据库。云数据库是在云计算的大背景下发展起来的一种新兴的共享基础架构的数据库,它极大的增强了数据库的存储能力,避免了人员、硬件、软件的重复配置,让软硬件升级变得更加容易,同时虚拟化了许多后端功能。

特性:①动态可扩展。理论上,云数据库具有无限可扩展性,可以满足不断增加的数据存储需求。在面对不断变化的条件时,云数据库可以表现出很好的弹性。

②高可用性。云数据库不存在单点失效问题。如果一个节点失效了,剩余的节点就会接管未完成的事务。而且,在云数据库中,数据通常是冗余存储的,在地理上也是分散的。诸如 Google Amazon 和IBM 等大型云计算供应商,具有分布在世界范围内的数据中心,通过在不同地理区间内进行数据复制,可以提供高水平的容错能力。

③较低的使用代价。云数据库厂商通常采用多租户(Multi-tenancy)的形式,同时为多个用户提供服务,这种共享资源的形式对于用户而言可以节省开销,而且用户采用“按需付费”的方式使用云计算环境中的各种软、硬件资源,不会产生不必要的资源浪费。另外,云数据库底诸通常采用大量廉价的商业服务器,这大大降低了开销。

④用用据用户不必控制运行原始数据库的机器,也不必了解它身在何用户只需要一个有效的连接字符串(URL)就可以开始使用云数据库,而且就像使用本地数据一样。许多基于MySQL 腾讯云数据阿里云RDS等),完全兼容 MySO协议,用户可通过基于MySQL 协议的客户端或者 API 访问实例。用户可无缝地将原有 MySQL应用迁移到云存储平台,无需进行任何代码改造。

⑤高性能。云数据库采用大型分布式存储服务集群,支撑海量数据访问,多机房自动冗余备份,自动读写分离。

⑥免维护。用户不需要关注后端机器及数据库的稳定性、网络问题、机房灾难、单库压力等各种风险,云数据库服务商提供“7x24h”的专业服务,扩容和迁移对用户透明且不影响服务,并且可以提供全方位、全天候立体式监控,用户无需半夜去处理数据库故障。

⑦安全。云数据库提供数据隔离,不同应用的数据会存在于不同的数据库中而不会相互影响;提供安全性检查,可以及时发现并拒绝恶意攻击性访问;提供数据多点备份,确保不会发数据丢失。

13、试述在Hadoop体系架构中HBase与其他组成部分的相互关系。

答:HBase利用Hadoop MapReduce来处理HBase中的海量数据,实现高性能计算;利用ZooKeeper作为协同服务,实现稳定服务和失败恢复;使用HDFS作为高可靠的底层数据存储系统,利用廉价集群提供海量数据存储能力。当然,HBase 也可以直接使用本地文件系统而不用HDFS作为底层数据存储系统。不过,为了提高数据可靠性和系统的健壮性,发挥HBase处理大数据量等功能,-般都使用HDFS作为HBase的底层数据存储系统。此外,为了方便在HBase上进行数据处理,Sqoop为HBase提供了高效、便捷的关系数据库管理系统数据导入功能,Pig和Hive为HBase提供了高层语言支持。下图描述的就是所述关系。

16、试述HBase的系统架构及其每个组件的功能。

答:(1)表:HBase采用表来组织数据,表由行和列组皮,列划分为若干午列族

(2)行键:每个HBase表都由若干行组成,每个行由行键来标识 物问表中的行只有3种方式:通过单个行键访问、通过一个行健的区间来访问,全表扫描。行健可以是任意字符串(最大长度是64KB,实际应用中长度一般为10~100Byte),在HBase内部,行键保存为字节数组。存储时,数据按照行键的字典序存储。在设计行键时,要充分考虑这个特性,将经常一起读取的行存储在一起。

(3)列族:一个HBase表被分组虚许多“列族”的事合,它是基本的边问控制单元到族需要在表创建时就定义好,数量不能太多(HBase的一些缺陷使得列族的数量只限于几十个),而且不能频繁修改。存储在一个列族当中的所有数据,通常都属于同一种数据类型,这意味着具有更高的压缩率。表中的每个列都归属于某个列族,数据可以被存放到列族的某个列下面,但是在把数据存放到这个列族的某个列下面之前,必须首先创建这个列族。在创建完列族以后,就可以使用同一个列族当中的列。列名都以列族作为前缀。

(4)列限定符:列族里的数据通过列限定符(或列)来定位。列限定符不用事先定义,也不需要在不同行之间保持一致。列限定符没有数据类型,总被视为字节数组byte。

(5)单元格:在HBase表中,通过行键、列族和列限定符确定一个“单元格”(Cell)。单元格中存储的数据没有数据类型,总被视为字节数组byte]。每个单元格中可以保存一个数据的多个版本,每个版本对应一个不同的时间戳。HBase是以单元格为单位来写入和读取数据的,这一点和关系数据库具有很大的区别。在关系数据库中,数据以行为单位,一行一行写入,一行一行读取。而在HBase数据库中,写入数据时,是一个单元格一个单元格地写入,读取数据时,也是一个单元格一个单元格地读取。

(6)时间戳:每个单元格都保存着同一份数据的多个版本,这些版本采用时间截进行索引。

17、试述Spanner服务器的组织方式。

答:一个Zone包括-一个 Zonemaster和- -百至几千个Spanserver。Zonemaster 把数据分配给Spanserver, Spanserver 把数据提供给客户端。客户端使用每个Zone上面的Locationproxy来定位可以为自己提供数据的Spanserver。Universemaster是个控制台,它显示了关于Zone的各种状态信息,可以用于相互之间的调试。Placentriver会周期性地与Spansever进行交互,来发现那些需要被转移的数据,或者是为了满足新的副本约束条件,或者是为了进行负载均衡。如下图是它的组织方式。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词