《Spark编程基础》(Scala版)第一章简答题答案(自制)

随笔2天前发布 安东安
2 0 0

合集 – 分布式数据处理-《Spark编程基础》(Scala版)课后答案(7)

1.《Spark编程基础》(Scala版)第一章简答题答案(自制)05-162.《Spark编程基础》(Scala版)第二章简答题答案(自制)05-163.《Spark编程基础》(Scala版)第三章简答题答案(自制)05-164.《Spark编程基础》(Scala版)第四章简答题答案(自制)05-165.《Spark编程基础》(Scala版)第六章简答题答案(自制)05-166.《Spark编程基础》(Scala版)第七章简答题答案(自制)05-167.《Spark编程基础》(Scala版)第八章简答题答案(自制)05-16

收起

1 大数据技术概述

简答题

T1:请阐述大数据处理的基本流程。🌱

答:大数据的基本处理流程,主要包括数据采集、存储管理、处理分析、结果呈现等环节。

T2:请阐述大数据的计算模式及其代表产品。

答:

大数据计算模式 解决问题 代表产品
批处理计算 针对大规模数据的批量处理 MapReduce、Spark 等
流计算 针对流数据的实时计算 Flume、Storm等
图计算 针对大规模图结构数据的处理 GraphX、Hama等
查询分析计算 大规模数据的存储管理和查询分析 Hive等

T3 请列举 Hadoop 生态系统的各个组件及其功能。🌱

答:

① HDFS:是 Hadoop 分布式文件系统;提供了廉价服务器集群中进行大规模分布式文件存储的能力。

主从结构:一个 HDFS 集群包括一个名称节点和若干数据节点。支持并发访问数据节点,加快访问速度。

② MapReduce:是一种分布式并行编程模型;用于大规模数据集的并行运算。

迭代式操作:分布式文件系统的大规模数据集会切片成多个小数据块,各个小数据块交个不同的 Map 任务并行处理,输出作为 Reduce 的输入,Reduce 输出后会写回分布式文件系统。

③ YARN:是负责集群资源调度管理的组件。

集群上可以部署 YARN,在 YARN 之上又可以部署其他计算框架,而 YARN 主要就负责为每个框架进行资源调度。

④ HBase:是一个高可靠、高性能、面向列、可伸缩的分布式数据库;主要用来存储非结构化和半结构化的松散数据,同时支持超大规模的数据存储。

于 HDFS 相比,没有名称节点数据节点这种东西,数据是通过多维的稀疏表格进行存储;

⑤ Hive:是一个基于 Hadoop 数据仓库的工具;可以用于对存储在 Hadoop 文件中的数据集用内置的 HiveSQL 进行管理。

作为一个工具,有类似数据库 SQL 语言的查询语言——HiveSQL;可以将 HiveQL 语句快速转换成 MapReduce 使用。

⑥ Flume:是一个高可用的、高可靠的、分布式的海量日志采集、聚合和传输系统。

能在日志系统中筛选数据发送方来收集数据,也能对数据进行改写,转交到数据接收方。

⑦ Sqoop:用于改进数据的互操作性,支持 Hadoop 和关系数据库之间交换数据的工具。

类似于你一个笔记软件的文件格式能够通过格式转化工具(这里就类似于 Sqoop)转化为其他格式,其他格式也能通过这个工具转回来。

T4 分布式文件系统 HDFS 的名称节点和数据节点的功能分别是什么?

答:

① 名称节点:作为中心服务器,负责管理文件系统的命名空间及客户端对文件的访问。

② 数据节点:通常一个节点运行一个数据节点进程,负责处理文件系统客户端的读/写请求,在名称节点的统一调度下进行数据块的创建、删除和复制等操作。

T5 试阐述 MapReduce 的基本设计思想。

答:MapReduce 的基本设计思想是“计算向数据靠拢”。大数据背景下移动计算比移动数据更加经济。本着这个理念,在一个集群中,只要有可能,MapReduce 框架就会将 Map 程序就近地在 HDFS 数据所在的节点运行,即将计算节点和存储节点放在一起运行,从而减少了节点间的数据移动开销。

T6 YARN 的主要功能是什么?使用 YARN 可以带来哪些好处?

答:

① 为在 YARN 之上部署的各种计算框架提供统一的资源调度管理服务(包括 CPU、内存等资源),并且能够根据各种计算框架的负载需求,调整各自占用的资源,实现集群资源共享和资源弹性收缩。

② (1) 提高集群的利用率。(2) 避免数据跨集群移动。(3)降低企业运维成本。

T7 试阐述 Hadoop 生态系统中 HBase 与其他部分的关系。

答:

并行计算、协同、存储:

① HBase 利用 MapReduce 来处理 HBase 中的海量数据,实现高性能计算;

② 利用 Zookeeper 作为协同服务,实现稳定服务和失败恢复;

③ 使用 HDFS 作为高可靠的底层存储,利用廉价集群提供海量数据存储能力;

为了方便数据处理,

④ Sqoop 为 HBase 提供了高效、便捷的 RDBMS 数据导入功能;

⑤ Pig 和 Hive 为 HBase 提供了高层语言支持。

T8 数据仓库 Hive 的主要功能是什么?

答:对存储在 Hadoop 文件中的数据集用内置的 HiveSQL 进行管理;也可以将其查询语言 HiveSQL 的语句快速转换成 MapReduce 任务进行运行。

T9 Hadoop 主要有哪些缺点?相比之下,Spark 具有哪些优点?🌱

答:

① Hadoop 的缺点:
(1)表达能力有限。计算都必须要转化成 Map 和 Reduce 两个操作,难以描述复杂的数据处理过程;

(2)磁盘 I/O 开销大。每次执行时都需要从磁盘读取数据,并且在计算完成后需要将中间结果写入到磁盘中,I/O开销较大;

(3)延迟高。一次计算可能需要分解成一系列按顺序执行的 MapReduce 任务,任务之间的衔接由于涉及到 I/O 开销,会产生较高延迟。而且,在前一个任务执行完成之前,其他任务无法开始,因此, 难以胜任复杂、多阶段的计算任务。

② Spark 的优点:

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

(2)Spark 提供了内存计算,中间结果直接放到内存中,带来了更高的运算效率;

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

T10 如何实现 Spark 与 Hadoop 的统一部署?

答:在 YARN 之上除了部署 Hadoop 的原有计算框架,如 MapReduce,同时,部署 Spark 计算框架,实现 Spark 和 Hadoop 的统一部署。

T11 Flink 相对于 Spark 而言,在实现机制上有什么不同?

答:

① Flink 支持增量迭代,具有迭代进行自动优化的功能。

② 两者均支持流计算,但是 Flink 是一行一行处理数据,而 Spark 是基于 RDD 的小批量处理。

T12 Beam 的设计目的是什么,具体有哪些优点?

答:

① 让开发者可以使用 Beam SDK 来创建数据处理管道,让开发者的程序可以在任何支持的执行引擎上运行。

② Beam 通过使用一套高层抽象的 API 屏蔽了多种计算引擎的区别,开发者只需编写一套代码就可以运行在不同的计算引擎上。

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...