云计算和云存储 期中试卷
时间:2025-06-24 12:40:55 阅读(143)
( 2022 -2023 学年第 1 学期)。
。信息工程。学院。 。 。班级(年)级 课程 。云计算和云存储。
题目。 | 一。 | 二。 | 三。 | 四。 | 五。 | …。 | 总分。 |
得分。 | |||||||
阅卷人。 |
一、单项选择题(每题) 3 分,共 21 分)。
1.OpenStack NASA(国家航空航天局)和 Rackspace 合作研发并发起的,以 Apache 许可证授权的自由软件和开源代码项目。openstack 技术属于()实现架构。(A )
(A)基础设置即服务; (B)平台即服务;
(C)软件是服务; (D)硬件是服务;
2.云资源仅供两个或两个以上特定单位组织的员工使用,此外,人员和机构无权租赁和使用云计算资源,例如,深圳酒店联盟成立的关于酒店的云服务,这种云服务属于(B)
(A)私有云; (B)社区云;
(C)公共云; (D)混合云;
3.以下哪个支持将 RDD 数据长期存储在磁盘文件中进行数据重用 (B)。
(A)cache() ; (B)checkpoint();
(C)persist (); (D)memory();
4.软件架构的演变过程很长,经过几十年的发展,主要经历了()的过程。
(A)cache() ; (B)checkpoint();
(C)persist (); (D)memory();
4.软件架构的演变过程很长,经过几十年的发展,主要经历了()的过程。(A)。
(A)单体架构-分布式架构-SOA 架构-微服务架构。
(B)分布式架构-单体架构-微服务架构- SOA 架构。
(C)单体架构-微服务架构-分布式架构-SOA 架构。
(D)分布式架构- SOA 架构-单体架构-微服务架构。
5.当需要在不同长度的时间段内比较多个服务器的性能时,,由于不同组数据的测量尺度差异太大,或者不同的数据量纲,使用()指标可以更好地消除测量尺度和测量大纲对结果的影响。 ( C)
(A)平均值; (B)方差;
(C)变异系数; (D)标准差;
6.软件系统的高可靠性(也叫可用性英文描述为 HA,High Available)有一个标准来衡量它的可靠性-9 的个数。5 个 9 表示软件系统连续运行 1 最有可能的业务中断时间是一年中最多的 ( D)
(A)87.6 小时; (B)8.76 小时;
(C)52.6 分钟; (D)5.26 分钟;
7.将键值对 RDD 分组具有相同键的元素,什么操作可以使用: (B)。
(A)sortByKey(); (B)groupByKey();
(C)reduceByKey(); (D)keys();
二、多项选择题(每题) 4 分数,共 8 分)。
1.Spark 设计遵循“一个软件需要满足不同的应用场景”的理念,一套完整的生态系统逐渐形成c;以下哪些操作计算可以支持#xff1a; (ABCD)
(A)图计算(GraphX); (B)SQL #xff08即席查询;Spark SQL);
(C)机器学习(MLlib); (D)流量计算(Spark Streaming);
2.spark 部署模式包括: (ABCD)
- (A)本地模式 (B)standalone 模式;
- (C)spark on yarn 模式; (D)mesos 模式:3.简答题(每题 10 分,共 60 分)1. 云计算技术主要有三个显著特点:资源池化弹性伸缩,安全可靠简要描述这三个特征(10 分)。资源池化:。资源池化:。"。云。”。规模相当大,支持用户在任何位置获取应用服务,并使用各种终端。要求的资源来自。
- “。云。”。,而不是固定的有形实体。云计算不针对特定应用,同一个。“。云。”。它可以同时支持不同的应用程序运行,
- “。
- 云。
”。
可动态伸缩规模,满足应用程序和用户规模增长的需要。
- 安全可靠:“云”采用数据多副本容错、计算节点同构可互换等措施,确保服务的高可靠性,使用云计算比使用本地计算机更可靠。
- 2. RDD 依赖关系可分为窄依赖和宽依赖,请分别介绍窄依赖和宽依赖,并举例说明(10 分)。 狭窄依赖:是指每个父RDD的Partition最多被子RDD的Partition使用例如map、 filter、union等操作都会产生狭窄依赖;(独生子女)。 宽依赖:是指多个子RDDPartition使用的父RDDPartition,例如groupbykey,例如groupbykey、 reduceByKey、sortbyKey等操作会产生宽依赖;(超生)。
- 3. RDD(Resilient Distributed Dataset)弹性分布式数据集,是 Spark 最基本的数据处理模型。代码中的抽象类,它代表了一个可以并行计算的弹性、不可变、可分区和元素的集合。请简要介绍 RDD 的 5 核心属性(10 分)RDD由一系列partition组成。
- 。
- (block块对应partition),textfile底部调用MR读取hdfs上数据的方法。默认情况下,block块对应split。split的大小与block相同,可以自行调整。
- 每个partition的函数作用(split)上。
- 。
- RDD之间有一系列的依赖关系(容错机制)。分区器作用于K、V格式的RDD。提供一系列最佳计算位置。按照“移动数据不如移动计算”的概念,Spark在任务调度时,将计算任务尽可能分配到所需处理数据块的存储位置。
- 4. RDD 前面的计算结果通过缓存或检查点技术持久,,并供后面的 RDD 反复用。请简要说明cache,persist 和checkpointtt 这 3 持久技术的差异。(10 分)。Cache 缓存只是把数据放进去。临时。
- 保存起来。Cache 内存通常存储缓存数据c;可靠性低。不切断血缘依赖只会在血缘关系中增加新的依赖性,一旦出现问题可以重新读取数据。
- persisit:将数据。
- 临时。
- 存储在磁盘文件中的数据重用,涉及磁盘IO,性能低但是数据安全。如果作业执行完毕,临时保存的数据文件将丢失。
- CheckPoint:将数据长期存储在磁盘文件中进行数据重用,涉及磁盘IO,性能低但是数据安全。包装数据安全,一般来说,当前需要持久的RDD将被重新创建和保存。
- Checkpoint 检查点将切断血缘依赖性,重建新的血缘关系。
- cache 机制是每次计算一个 cache 的 partition 就直接将其 cache 到内存了。但 等到checkpoint job 结束后,开始另一个特殊的启动 job 去完成 checkpoint 。
- 5. Hadoop 的 MR 框架和Spark 数据处理框架,请简要说明他们的关系,以及我们在使用时如何选择 (10 分)。
- Spark将运算中的数据放入内存,迭代计算效率会更高b;MR的中间结果需要着陆磁盘,因此,大量磁盘IO操作,会影响性能。
- MR是基于过程,基于线程的Spark。MR是多进程单线程模型,Spark是多进程多线程模型;另外,Spark是一种粗粒度资源应用模式,MR是细粒度资源的应用模式。
Spark容错性高,通过弹性分布数据集RDD实现高容错,RDD是节点内存中一组分布式只读数据,这些集合是弹性,某部分数据丢失或出错重建可以通过整个数据集计算过程的血缘来实现b;需要重新计算MR的容错性,成本高。
Spark更通用c;Spark提供transformation和action两类多功能API,此外,还有流式处理SparkStreaming模块,机器学习,图计算;MR只提供Map和Reduce方法,没有其他模块其实MR是有机器学习的,基本没人用。
更丰富的Spark框架生态,首先是RDD、血液Lineage,执行无环图DAG,Stage分类等c;很多时候,Spark作业需要在不同的场景中运行,此时可根据不同场景进行调整;MR计算框相对简单,性能相对较弱,单运行稳定适合在后台长时间运行。
6. Spark 包含 5 大核心模块请简要介绍每个模块#xff08;10 分)。
1、Spark Core:包含了 Spark 核心和基础功能,为其他 Spark 功能模块提供了核心层 支撑,可类比 Spring 框架中的 Spring Core。
2、Spark SQL:官方文件介绍如下图,Spark SQL 适用于检查结构化表和非结构化数据 询问,并且在运行过程中可以自适应执行计划,支持 ANSI SQL(即标准的结构化查询语言)。
3、Spark Streaming:是 Spark 流式计算平台上实时数据的组件,而流式数据指的是 大数据流是实时或接近实时时效处理的c;Spark用于处理常见的流式数据、Storm和 Samza等框架。
4、Spark MLlib:是 Spark 提供机器学习算法库。MLlib 不仅仅是模型评估,数据 导入等额外功能,它还提供了一些更底层的机器学习原语。
5、Spark GraphX:是 Spark 面向图计算提供的框架和算法库。
四、编程题 (每题 11 分,共 11 分)。
.map(x => { 。
var num = 0。
var sum = 0。
for (i <- x._2) { 。
sum = sum + i。
num = num + 1。
}。
val avg = sum / num。
(x._1, avg)。
})。
a.collect.foreach(x => println(x._1+"\t"+x._2))。 ///关闭连接。 sc.stop()。 }}。