《大数据技术原理与应用》林子雨 课后简答题答案

阅读: 评论:0

2024年2月8日发(作者:)

《大数据技术原理与应用》林子雨 课后简答题答案

《大数据技术原理与应用》林子雨 课后简答题答案

第一章 大数据概述

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 的三层结构中各层次的名称和作用。

层次 名称 作用

第一层 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 主服务器

Master 主服务器主要负责表和 Region 的管理工作:管理用户对表的增加、删除、修改、查询等操作;实现不同 Region 服务器之间的负载均衡;在Region分裂或合并后,负责重新调整 Region 的分布;对发生故障失效的 Region 服务器上的 Region 进行迁移。

(4)Region 服务器

Region 服务器是 HBase 中最核心的模块,负责维护分配给自己的 Region,并响应用户的读写请求。

第五章 NoSql 数据库

1. 请比较关系数据库和 NoSQL 数据库的优缺点。

数据库 优点 缺点

关系数据库 以完善的关系代数理论作为基础,有严格的标准,支持事务 ACID 四性,借助索引机制可以实现高效的查询,技术成熟,有专业公司的技术支持 可扩展性较差,无法较好地支持海量数据存储,数据模型过于死板,无法较好支持

Web2.0 应用,事务机制影响了系统的整体性能等

NoSQL 数据库 可以支持超大规模数据存储,灵活的数据模型可以很好支持

Web2.0 应用,具有强大的横向扩展能力等 缺乏数学理论基础,复杂查询性能不高,一般不能实现事务强一致性、很难实现数据完整性,技术尚不成熟,缺乏专业团队的技术支持,维护较困难等

2. 试述 NoSQL 数据库的四大类型。

键值数据库:使用一个哈希表,表中有一个特定的 Key 和一个指针指向特定的

Value,Key 可以用来定位 Value,即存储和检索具体的 Value。

列族数据库:一般采用列族数据模型,数据库由多个行构成,每行数据包含多个

列族,不同的行可以具有不同数量的列族,属于同一列族的数据会被存放在一起。

文档数据库:以文档作为最小单位,大都假定文档以某种标准化格式封装并对数据进行加密,同时用多种格式进行解码。

图数据库:使用图作为数据模型来存储数据。

3. 试述键值数据库、列族数据库、文档数据库和图数据库的适用场合和优缺点。(主要是优缺点,相应产品了解即可)

数据库类型 优点 缺点 场合 产品

键值数据库 扩展性好、灵活性好、大量写操作是性能高 无法存储结构化 内容缓存 Redis、SimpleDB

列族数据库 查找速度快、可扩展性强、容易进行分布式扩展、复杂性低 功能较少大都不支持强事务一致性 分布式数据存储与管理 BigTable、HBase、HadoopDB

文档数据库 性能好、灵活性高、复杂性低、数据结构灵活 缺乏统一的查询语法 存储、索引并管理面向文档的数据或者类似的半结构化数据 MongoDB、SisoDB

图数据库 灵活性高、支持复杂的图算法、可用于构建复杂的关系图谱 复杂性高、只能支持一定的数据规模 应用于大量复杂、互连接、低结构化的图结构场合 Neo4J、OrientDB

4. 试述 CAP 理论的具体含义。

C(Consistency):一致性。在分布式环境中,多点的数据是一致的。

A(Availability):可用性。指能够快速获取数据,且在确定的时间内返回操作结果。

P(Tolerance of Network Partition):分区容忍性,指当出现网络分区的情况时,分离的系统也能正常运行。

5. 述数据库的 ACID 四性的含义。

A(Atomicity):原子性。 指事务必须是原子工作单元,对于其数据修改,要么全都执行,要么全都不执行。

C(Consistency):一致性。 指事务在完成时,必须使所有的数据都保持一致状态。

I(Isolation):隔离性。 指并发事务所做的修改必须与其他并发事务所做的修改隔离。

D(Durability):持久性。 指事务完成之后,它对于系统的影响是永久性的,该修改即使出现致命的系统故障也将一直保持。

第六章 云数据库

1. 云数据库有哪些特性。

动态可扩展、高可用性、较低的使用代价、易用性、高性能、免维护、安全。

2. 试述 UMP 系统的功能。

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

1. 容灾

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

为了实现容灾,UMP 系统会为每个用户创建两个 MySQL 实例,一个是主库,一个是从库,而且,这两个 MySQL 实例之间互相把对方设置为备份机,任意一个

MySQL 实例上面发生的更新都会复制到对方。同时,Proxy 服务器可以保证只向主库写人数据。

2. 读写分离

由于每个用户都有两个 MySQL 实例,即主库和从库,因此 UMP 系统可以充分利用主从库实现用户读写操作的分离,实现负载均衡。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 系统设计了多种机制来保证数据安全。

数据库连接。

2.数据访问 IP 白名单。

3.记录用户操作日志。

拦截。

3. 试述 UMP 系统的组件及其具体作用。

1. Controller 服务器:向 UMP 集群提供各种管理服务,实现集群成员管理、元数据存储、MySQL 实例管理、故障恢复、备份、迁移、扩容等功能。

2. Web 控制台:向用户提供系统管理界面。

3. Proxy 服务器:向用户提供访问 MySQL 数据库的服务。除了数据路由的基本功能外,Proxy 服务器中还实现了屏蔽MySQL实例故障、读写分离、分库分表、资源隔离、记录用户访问日志等功能。

4. Agent服务器:管理每台物理机上的 MySQL 实例,执行主从切换、创建、删除、备份、迁移等操作,同时还负责收集和分析 MySQL 进程的统计信息、慢查询日志(Slow Query Log)和 bin-log。

5. 日志分析服务器:存储和分析 Proxy 服务器传入的用户访问日志,并支持实时查询一段时间内的慢日志和统计报表。

6. 信息统计服务器:定期对采集到的用户的连接数、QPS 数值以及 MySQL 实例的进程状态用 RRDtool 进行统计。

7. 愚公系统:是一个进行增量复制的工具,它结合了全量复制和 bin-log 分析,可以实现在不停机的情况下动态扩容、缩容和迁移。

第七章 MapReduce

1. 试述 Map 函数和 Reduce 函数的输入、输出以及处理过程。

Map 函数的输入为分布式文件系统的文件块,这些文件快的格式是任意的。Map

函数将输入的元素转换成 形式的键值对,键和值的类型也是任意的。

Reduce函数的输入是 Map 函数输出的结果即中间结果,其任务是将输入的一系列具有相同键的键值对以某种方式组合起来,输出处理后的键值对,输出结果会合并成一个文件。

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

1) MapReduce 框架使用 InputFormat 模块做 Map 前的预处理,然后将输入文件切分为逻辑上的多个 InputSplit。

2) 通过 RecordReader 根据 InputSplit 中的信息来处理 InputSplit 中的具体记录,加载数据并转换为适合 Map 任务读取的键值对,输入给Map任务。

3) Map 任务会根据用户自定义的映射规则,输出一系列的 作为中间结果。

4) Shuffle:对 Map 任务输出结果进行分区、排序、合并、归并等操作,得到

形式的中间结果,再交给对应的 Reduce 进行处理。

5) Reduce 以一系列 中间结果作为输入,执行用户定义的逻辑,输出结果给 OutputFormat 模块。

6) OutputFormat 模块会验证输出目录是否存在以及输出结果类型是否符合配置文件中的配置类型,如果都满足,就输出 Reduce 的结果到分布式文件系统。

3. Shuffle 过程是 MapReduce 过程的核心,也被称为奇迹发生的地方,试分析 Shuffle 过程的作用。(答案不全,看书 P135)

对 Map 任务输出结果进行分区、排序、合并、归并等处理并交给 Reduce 的过程,减少磁盘 I/O 的读写次数,并减小从 Map 到 Reduce 之间的数据传递量。

4. 早期版本的 HDFS,其默认块(Block)大小为 64MB,而较新的版本默认为

128MB,采用较大的块有什么影响和优缺点。

采用较大的块说明分片的数量较小,那么 Map 任务也较少,导致任务的并行化程度不高,不能充分利用集群资源,拖慢作业运行速度。

采用较小的块,说明 Map 任务较多,而创建多个 Map 任务进程需要耗费大量时间。

块的大小设置主要从以下考虑:减少磁盘寻道时间、减少 NameNode 内存消耗、Map 崩溃问题、监管时间问题、问题分解问题、约束 Map 输出。

第八章 Hadoop 再探讨

1. 请描述 HDFS HA 架构组成组件及其具体功能。

在一个典型的 HA 集群中,一般设置两个名称节点,其中一个名称节点处于

“ 活跃 ” 状态,另一个处于 “ 待命 ” 状态。处于活跃状态的名称节点负责对外处理所有客户端的请求,处于待命状态的名称节点则作为备用节点,保存足够多的系统元数据,当名称节点出现故障时提供快速恢复能力。也就是说,在

HDFS HA 中,处于待命状态的名称节点提供了 “ 热备份 ”,一旦活跃名称节点出现故障,就可以立即切换到待命名称节点,不会影响到系统的正常对外服务。

2. 请分析 HDFS HA 架构中数据节点如何和名称节点保持通信。

在 HDFS 联邦中,所有名称节点会共享底层的数据节点存储资源。每个数据节点要向集群中所有的名称节点注册,并周期性地向名称节点发送 “ 心跳 ” 和块信息,报告自己的状态,同时也会处理来自名称节点的指令。

3. 请阐述 MapReduce 1.0 体系结构中存在的问题。

1)存在单点故障问题。

2)JobTracker “ 大包大揽 ” 导致任务过重。

3)容易出现内存溢出。

4)资源划分不合理。

第九章

1、Spark是基于内存计算的大数据计算平台,试述Spark的主要特点。

答:Spark具有如下4个主要特点:

①运行速度快;②容易使用;③通用性;④运行模式多样。

2、Spark的出现是为了解决Hadoop MapReduce的不足,试列举Hadoop

MapReduce的几个缺陷,并说明Spark具备哪些优点。

答:(1)Hadoop存在以下缺点:

①表达能力有限;②磁盘IO开销大;③延迟高

(2)Spark主要有如下优点:

①Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供了多种数据集操作类型,编程模型比MapReduce更灵活;

②Spark提供了内存计算,中间结果直接存放内存中,带来更高的迭代运算效率;

③Spark基于DAG的任务调度执行机制,要优于MapReduce的迭代执行机制。

3、美国加州大学伯克利分校提出的数据分析的软件栈BDAS认为目前的大数据处理可以分为哪三个类型?

答:①复杂的批量数据处理:时间跨度通常在数十分钟到数小时之间;

②基于历史数据的交互式查询:时间跨度通常在数十秒到数分钟之间;

③基于实时数据流的数据处理:时间跨度通常在数百毫秒到数秒之间。

4、Spark已打造出结构一体化,功能多样化的大数据生态系统,试述Spark的生态系统。

答:Spark的设计遵循“一个软件栈满足不同应用场景”的理念,逐渐形成一套完整生态系统,既能够提供内存计算框架,也可以支持SQL即席查询、实时流式计算、机器学习和图计算等。Spark可以部署在资源管理器YARN之上,提供一

站式的大数据解决方案。因此,Spark所提供的生态系统同时支持批处理、交互式查询和流数据处理。

5、从Hadoop+Storm架构转向Spark架构可带来哪些好处?

答:(1)实现一键式安装和配置、线程级别的任务监控和告警;

(2)降低硬件集群、软件维护、任务监控和应用开发的难度;

(3)便于做成统一的硬件、计算平台资源池。

6、试述“Spark on YARN”的概念。

答:Spark可以运行与YARN之上,与Hadoop进行统一部署,即“Spark on YARN”,其架构如图所示,资源管理和调度以来YARN,分布式存储则以来HDFS。

7、试述如下Spark的几个主要概念:RDD、DAG、阶段、分区、窄依赖、宽依赖。

答:①RDD:是弹性分布式数据集(Resilient Distributed Dataset)的英文缩写,是分布式内存的一个抽象概念,提供了一种高度受限的共享内存模型。

②DAG:是Directed Acyclic Graph(有向无环图)的英文缩写,反映RDD之间的依赖关系。

③阶段:是作业的基本调度单位,一个作业会分为多组任务,每组任务被称为“阶段”,或者也被称为“任务集”。

④分区:一个RDD就是一个分布式对象集合,本质上是一个只读的分区记录集合,每个RDD可以分成多个分区,每个分区就是一个数据集片段。

⑤窄依赖:父RDD的一个分区只被一个子RDD的一个分区所使用就是窄依赖。

⑥宽依赖:父RDD的一个分区被一个子RDD的多个分区所使用就是宽依赖。

8、Spark对RDD的操作主要分为行动(Action)和转换(Transformation)两种类型,两种类型操作的区别是什么?

答:行动(Action):在数据集上进行运算,返回计算值。

转换(Transformation):基于现有的数据集创建一个新的数据集。

第十章

1.试述流数据的概念

流数据,即数据以大量、快速、时变的流形式持续到达

2.试述流数据的特点

流数据具有如下特征:

数据快速持续到达,潜在大小也许是无穷无尽的

数据来源众多,格式复杂

数据量大,但是不十分关注存储,一旦经过处理,要么被丢弃,要么被归档存储

注重数据的整体价值,不过分关注个别数据

数据顺序颠倒,或者不完整,系统无法控制将要处理的新到达的数据元素的顺序

3. 试述流计算的需求

对于一个流计算系统来说,它应达到如下需求:

高性能:处理大数据的基本要求,如每秒处理几十万条数据

海量式:支持TB级甚至是PB级的数据规模

实时性:保证较低的延迟时间,达到秒级别,甚至是毫秒级别

分布式:支持大数据的基本架构,必须能够平滑扩展

易用性:能够快速进行开发和部署

可靠性:能可靠地处理流数据

4. 列举几个常见的流计算框架

目前有三类常见的流计算框架和平台:商业级的流计算平台、开源流计算框架、公司为支持自身业务开发的流计算框架

1商业级:IBM InfoSphere Streams和IBM StreamBase

2较为常见的是开源流计算框架,代表如下:

Twitter Storm:免费、开源的分布式实时计算系统,可简单、高效、可靠地处理大量的流数据

Yahoo! S4(Simple Scalable Streaming System):开源流计算平台,是通用的、分布式的、可扩展的、分区容错的、可插拔的流式系统

3公司为支持自身业务开发的流计算框架:

Facebook Puma

Dstream(百度)

银河流数据处理平台(淘宝)

5. 试述流计算的一般处理流程

流计算的处理流程一般包含三个阶段:数据实时采集、数据实时计算、实时查询服务

6. 试列举几个Storm框架的应用领域

Storm框架可以方便地与数据库系统进行整合,从而开发出强大的实时计算系统

Storm可用于许多领域中,如实时分析、在线机器学习、持续计算、远程RPC、数据提取加载转换等

7. Storm的主要术语包括Streams,Spouts、Bolts、Topology和Stream

Groupings,请分别简要描述这几个术语

1. Streams:Storm将流数据Stream描述成一个无限的Tuple序列,这些Tuple序列会以分布式的方式并行地创建和处理

2. Storm框架可以方便地与数据库系统进行整合,从而开发出强大的实时计算系统

3. Bolt:Storm将Streams的状态转换过程抽象为Bolt。Bolt即可以处理Tuple,也可以将处理后的Tuple作为新的Streams发送给其他Bolt

4. Topology:Storm将Spouts和Bolts组成的网络抽象成Topology,它可以被提交到Storm集群执行。Topology可视为流转换图,图中节点是一个Spout或Bolt,边则表示Bolt订阅了哪个Stream。当Spout或者Bolt发送元组时,它会把元组发送到每个订阅了该Stream的Bolt上进行处理

5. Topology:Storm将Spouts和Bolts组成的网络抽象成Topology,它可以被提交到Storm集群执行。Topology可视为流转换图,图中节点是一个Spout或Bolt,边则表示Bolt订阅了哪个Stream。当Spout或者Bolt发送元组时,它会把元组发送到每个订阅了该Stream的Bolt上进行处理

8. 一个Topolog由哪些组件组成?

Topology里面的每个处理组件(Spout或Bolt)都包含处理逻辑, 而组件之间的连接则表示数据流动的方向

9. Storm集群中的Master节点和Work节点各自运行什么后台进程?这些进程又分别负责什么工作?

Storm集群采用“Master—Worker”的节点方式:

Master节点运行名为“Nimbus”的后台程序(类似Hadoop中的“JobTracker”),负责在集群范围内分发代码、为Worker分配任务和监测故障

Worker节点运行名为“Supervisor”的后台程序,负责监听分配给它所在机器的工作,即根据Nimbus分配的任务来决定启动或停止Worker进程,一个Worker节点上同时运行若干个Worker进程

10. 试述Zookeeper在Storm框架中的作用

Storm使用Zookeeper来作为分布式协调组件,负责Nimbus和多个Supervisor之间的所有协调工作。借助于Zookeeper,若Nimbus进程或Supervisor进程意外终止,重启时也能读取、恢复之前的状态并继续工作,使得Storm极其稳定

11. 试述Storm框架的工作流程

Storm的工作流程如下图所示:

所有Topology任务的提交必须在Storm客户端节点上进行,提交后,由Nimbus节点分配给其他Supervisor节点进行处理

Nimbus节点首先将提交的Topology进行分片,分成一个个Task,分配给相应的Supervisor,并将Task和Supervisor相关的信息提交到Zookeeper集群上

Supervisor会去Zookeeper集群上认领自己的Task,通知自己的Worker进程进行Task的处理

说明:在提交了一个Topology之后,Storm就会创建Spout/Bolt实例并进行序列化。之后,将序列化的组件发送给所有的任务所在的机器(即Supervisor节点),在每一个任务上反序列化组件

第11章

1、试述BSP模型中的超步的3个组件及具体含义。

答:①局部通信。每个参与的处理器都有自身的计算任务,它们只读取存储在本地内存中的值,不同处理器的计算任务都是异步并且独立的。

②通信。处理器群相互交换数据,交换的形式是,由一方发起推送(Put)和获取(Get)操作

③栅栏同步。当一个处理器遇到“路障”(或栅栏),会等其他所有的处理器完成它们的计算步骤;每一次同步也是一个超步的完成和下一个超步的开始。

2、Pregel为什么选择一种纯消息传递模型?

答:采用这种做法主要基于以下两个原因。

①消息传递具有足够的表达能力,没有必要使用远程读取或共享内存的方式。

②有助于提升系统整体性能。大型图计算通常是由一个集群完成的,集群环境中执行远程数据读取会有较高的时间延迟;Pregel的消息模式采用异步和批量的方式传递消息,因此可以缓解远程 读取的延迟。

4、请简述Aggregator的作用,并以具体Aggregator的作用,并以具体Aggregator的例子做说明。

答:Aggregator提供了一种全局通信、监控和数据查看的机制。Aggregator的聚合功能,允许在整型和字符串类型上执行最大值、最小值、求和操作,比如可以定义一个“Sum”Aggregator来统计每个顶点的出射边数量,最后相加可以得到整个图的边的数量。Aggregator还可以实现全局协同的功能,比如当可以设计“and”Aggregator来决定在某个超步中Compute()函数是否执行某些逻辑分支,只有当“and”Aggregator显示所有顶点都满足了某条件时,才去执行这些逻辑分支。

6、简述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章

1、试述数据可视化的概念。

答:数据可视化是指将大型数据集中的数据以图形图像形式表示,并利用数据分析和开发工具发现其中未知信息的处理过程。数据可视化技术的基本思想是将数据库中每一个数据项作为单个图元素表示,大量的数据集构成数据图像,同时将数据的各个属性值以多维数据的形式表示,可以从不同的维度观察数据,从而对数据进行更深入的观察和分析。

2、试述数据可视化的重要作用。

答:①观测、跟踪数据。利用变化的数据生成实时变化的可视化图表,可以让人们一眼看出各种参数的动态变化过程,有效跟踪各种参数值。

②分析数据。利用可视化技术,实时呈现当前分析结果,引导用户参与分析过程,根据用户反馈信息执行后续分析操作,完成用户与分析算法的全程交互,实现数据分析算法与用户领域知识的完美结合。

③辅助理解数据。帮助普通用户更快、更准确地理解数据背后的定义。

④增强数据吸引力。枯燥的数据被制成具有强大视觉冲击力和说服力的图像,可以大大增强读者的阅读兴趣。

3、可视化工具主要包含哪些类型?各自的代表产品有哪些?

答:主要包括入门级工具(Excel)、信息图表工具(Google Chart API、D3、、Raphael、Flot、Tableau、大数据魔镜)、地图工具(Modest Maps、Leaflet、PolyMaps、OpenLayers、Kartography、Google Fushion Tables、Quanum

GIS)、时间线工具(Timetoast、Xtimeline、Timeslide、Dipity)和高级分析工具(Processing、NodeBox、R、Weka和Gephi)等。

第十三章

1. 试分析推荐系统的动机以及所能解决的问题。

答:为了让用户从海量信息中高效地获得自己所需的信息,推荐系统应运而生。

推荐系统是大数据在互联网领域的典型应用,它可以通过分析用户的历史记录来了解用户的喜好,从而主动为用户推荐其感兴趣的信息,满足用户的个性化

推荐需求

推荐系统是自动联系用户和物品的一种工具,和搜索引擎相比,推荐系统通过研究用户的兴趣偏好,进行个性化计算。推荐系统可发现用户的兴趣点,帮助用户从海量信息中去发掘自己潜在的需求

4. 试列举几种推荐算法,并进行简要描述

答: 基于用户的协同过滤(UserCF),基于物品的协同过滤(ItemCF)

UserCF算法的实现主要包括找到和目标用户兴趣相似的用户集合和找到该集合中的用户所喜欢的、且目标用户没有听说过的物品推荐给目标用户

ItemCF算法是给目标用户推荐那些和他们之前喜欢的物品相似的物品。ItemCF算法主要通过分析用户的行为记录来计算物品之间的相似度

12. 现有用户a、b、c和物品A、B、C、D、E,其关系如图所示,请使用基于用户的协同过滤算法,给出物品到用户倒排表的建立过程及用户相似度矩阵,并给用户c的推荐列表

用户对应物品列表

用户a 物品A、B、C

用户b 物品B、C、D、E

用户c 物品B、C

物品对应用户列表

物品A 用户a

物品B 用户a、b

物品C 用户a、b、c

物品D 用户b

物品E 用户b

相似度矩阵

a b c

a 0 2 1

b 2 0 1

c 1 1 0

W(A,B) = 2/√3*4

W(A,C) = 1/√3*2

W(B,C) = 1/√4*2

P(c,B)= CA+CB = 1/√3*2+1/√4*2

P(c,C)= CA+CB = 1/√3*2+1/√4*2

P(c,A) = CA = 1/√3*2

P(c,D) = CB = 1/√4*2

P(c,E) = CB = 1/√4*2

给予用户c的推荐列表为: A、B、C

① 论述“德国工业4.0”、“日本工业白皮书”内涵,说清国际上关于工业4.0的要求、工业物联网的内涵;②分析上述两个佛山市制造业的现状,与国际上工业4.0要求的差距;③如何在佛山市上述两个制造业的生产、仓储等环节布局传感器,进行生产、仓储等环节的数据采集;④将人力资源数据、行政管理数据、销售数据、市场数据以及生产、仓储数据进行整合构成企业大数据资源;⑤进行大数据分析框架设计,给出工业产品智能制造的路径以及个性化工业产品设计的思路;⑥进行工业大数据运营,从而使运营大数据的企业自身能够盈利的措施。

论述题:

结合大数据、人工智能技术,论述佛山市陶瓷制造业如何进行产业升级?

德国工业4.0可以概括为:一个核心,两个重点,三大集成,四个特征和六项措施。一个核心:互联网+制造业,将信息物理融合系统(CPS)广泛深入地应用于制造业,构建智能工厂、实现智能制造。两个重点:领先的供应商策略,成为“智能生产”设备的主要供应者;主导的市场策略,设计并实施一套全面的知识和技术转化方案,引领市场发展。三大集成:企业内部灵活且可重新组合的纵向集成,企业之间价值链的横向集成,全社会价值链的端到端工程数字化集成。四个特征:生产可调节,可自我调节以应对不同形势;产品可识别,可以在任何时候把产品分辨出来;需求可变通,可以根据临时的需求变化而改变设计、构造、计划、生产和运作,并且仍有获利空间;四是过程可监测,可以实时针对商业模式全过程进行监测。六项措施:实现技术标准化和开放标准的参考体系;建立复杂模型管理系统;建立一套综合的工业宽带基础设施;建立安全保障机制和规章制度;创新工作组织和设计方式;加强培训和持续职业教育。

比较德国工业4.0与佛山市制造业的现状,一个重要的区别在于,德国工业

4.0战略是一个革命性的基础性的科技战略。其立足点并不是单纯提升某几个工业制造技术,而是从制造方式最基础层面上进行变革,从而实现整个工业发展的质的飞跃。因此,德国工业4.0战略的核心内容并不拘泥于工业产值数据这个层面上“量的变化”,而更加关注工业生产方式的“质的变化”。相对于德国工业4.0,佛山制造业强调的是在现有的工业制造水平和技术上,通过“互联网+”这种工具的应用,实现结构的变化和产量的增加。这种区别就好比佛山制造业是在工业现阶段水平和思维模式上寻求阶段内的改进和发展,德国则是寻求从工业3.0阶段跨越到工业4.0阶段,实现“质的变化”。这种战略思想上的差别应该说是客观条件的反映,符合现实基础,但也说明佛山制造业缺少战略上的理论深度和技术高度,也缺少市场上的感召力和影响力。

回顾佛山市这两年陶瓷行业的生产发展状况,我们可以清晰地看到持续稳健和相对高速发展的企业是坚守制造业本质的企业且生产效率和生产环境保持领先行业的进步速度,例如喷墨技术比较成熟地运用于陶瓷行业,是陶瓷行业迈向工业4.0的发端。很多人更多地担心喷墨技术会加剧陶瓷行业的同质化,却忽略了喷墨技术的运用恰恰会加剧陶瓷制造业的分化,因为更优秀的企业更有机会靠近工业4.0。

而对于陶瓷产业的仓储,加上各种RFID标签以及各种传感器等,集成了信息技术、条码技术、电子标签技术、web技术及计算机应用技术等,将仓库管理、无线扫描、电子显示、web应用有机的结合,实现信息资源充分利用,加快网络化进程。加上物联网技术的仓储技术能实时掌控库存情况,对库位状态进行监控,通过数字分析等方法整合资源,更为充分利用有限仓库空间。而这意味着公司管理模式的全新转变,从传统的“结果导向”转变成“过程导向”;从数据录入转变为数据采集及录入;从人工找货转变成为导向定位取货,避免了可能发生的人为错误,极大程度提升了管理效率,节约了成本。在企业运营过程中,随着依靠经验管理的工作方式向依靠数字分析转变,公司将能加速资金周转,提升供应链响应速度。

利用大数据技术以及物联网技术,可以减少人力资源的浪费以及管理精力的消耗,从而使陶瓷业通过运营大数据从而自身能够盈利。将人力资源数据、行政管理数据、销售数据、市场数据以及生产、仓储数据进行整合构成企业大数据资源,然后,使得企业了解用户,锁定资源,规划生产,开展服务等,进而使得企业能够盈利。

《大数据技术原理与应用》林子雨 课后简答题答案

本文发布于:2024-02-08 11:13:01,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170736198167349.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   用户   节点   进行   计算
留言与评论(共有 0 条评论)
   
验证码:
排行榜

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23