第16章 分布式内存计算平台Spark习题答案.docx
《第16章 分布式内存计算平台Spark习题答案.docx》由会员分享,可在线阅读,更多相关《第16章 分布式内存计算平台Spark习题答案.docx(18页珍藏版)》请在第一文库网上搜索。
1、第16章分布式内存计算平台Spark习题16.1 选择题1、SPark是HadooP生态(B)组件的替代方案。A.HadoopB.MapReduceC.YamD.HDFS2、以下(D)不是SPark的主要组件。A.DriverB.SparkContextC.CIusterManagerD.ResourceManager3、SPark中的EXeCUtor是(AA.执行器B.主节点C.从节点D.上下文4、下面(D)不是SPark的四大组件之一。A.SparkStreamingB.SparkM11ibC.SparkGraphXD.SparkR5、SCa1a属于哪种编程语言(C)OA.汇编语言B.机器
2、语言C.函数式编程语言D.多范式编程语言6、SPark组件中,SParkCOnIeXI是应用的(C),控制应用的生命周期。A.主节点B.从节点C.上下文D.执行器7、以下(D)不是SPark的主要组件。A.DAGSchedu1erB.TaskSchedu1erC.SparkContextD.Mu1tiSchedu1er8、SPark组件中,C1USIerManager是(B)。A.从节点B.主节点C.执行器D.上下文9、关于SPark中的RDD说法不正确的是(B)。A.是弹性分布式数据集B.是可读可写分区的集合C.存在容错机制D.是SPark中最基本的数据抽象10、GraPhX的BSP计算模型
3、中,一个超步中的内容不包括(C)。A.计算B.消息传递C.缓存D.整体同步点16.2填空题1、内存计算主要用于处理(数据密集型)的计算任务,尤其是数据量极大且需要实时分析处理的应用。2、Ignite是一个可扩展的、(容错性好的)分布式内存计算平台。3、RDD通过一种名为(血统)的容错机制进行错误的时的数据恢复。4、数据分析栈BDAS包括(SparkSQ1)、(SparkStreaming)、(SparkGraphX)、(M11ib)四个部分。5、SparkStreaming是建立在SPark上的(实时计算)框架,提供了丰富的API、基于内存的高速执行引擎,用户可以结合流式、批处理进行交互式查询
4、应用16.3简答题1、在硬件、软件、应用与体系等方面,内存计算有哪些主要特性?答: 在硬件方面,需要大容量的内存,以便尽量将待处理的数据全部存放在内存中,内存可以是单机内存或分布式内存,且内存要足够大。 在软件方面,需要有良好的编程模型和编程接口。 在应用方面,主要面向数据密集型应用,数据规模大、对实时处理性能要求高。 在体系方面,需要支持并行处理数据。2、请与M叩RedUCe相比,SPark的优势有哪些?答: 中间结果可输出。基于M叩RedUCe的计算模型会将中间结果序列化到磁盘上,而SPark将执行模型抽象为通用的有向无环图,可以将中间结果缓存在内存中。 数据格式和内存布局。SPark抽象
5、出分布式内存存储结构RDD,用于进行数据存储。SPark能够控制数据在不同节点上的分区,用户可以自定义分区策略。 执行策略。M叩RedUCe在数据Shuff1e之前总是花费大量时间来排序,Spark支持基于Hash的分布式聚合,Spark默认Shuff1e已经改为基于排序的方式。 任务调度的开销。当M叩RedUCe上不同的作业在同一个节点运行时,会各自启动一个JaVa虚拟机(JaVaVirtUaIMaChine,JVM);SPark同一节点的所有任务都可以在一个JVM上运行。 编程模型。M叩RedUCe仅仅提供了Map和RedUCe两个计算原语,需要将数据处理操作转化为M叩和RedUCe操作,
6、在一定程度增加了编程难度;SPark则提供了丰富的输出处理算子,实现了分布式大数据处理的高层次抽象。 统一数据处理。Spark框架为批处理(SParkCore)、交互式(SParkSQ1)流式(SParkStreaming)机器学习(M1Jib)、图计算(GraPhX)等计算任务提供一个统一的数据处理平台,各组件间可以共享数据。3、请描述Prege1计算模型的缺点或局限。答: 在图的划分上,采用的是简单的HaSh方式,这样固然能够满足负载均衡,但HaSh方式并不能根据图的连通特性进行划分,导致超步之间的消息传递开销影响性能。 简单的Checkpoint机制只能将状态恢复到当前超步的几个超步之前
7、,要到当前超步还需要重复计算。BSP计算模型本身有其局限性,整体同步并行对于计算速度快的WOrker,长期等待的问题无法解决。 由于Prege1目前的计算状态都是常驻内存的,对于规模继续增大的图处理可能会导致内存不足。4、请简要描述函数式编程中尾递归的含义。答:尾递归是递归的一种优化方法。递归的空间效率很低,当递归深度很深时,容易产生栈溢出的情况。尾递归就是将递归语句写在函数的最底部,这样在每次调用尾递归时,就不需要保存当前状态值,可以直接把当前的状态值传递给下次一次调用,然后清空当前的状态。占用的栈空间就是常量值,不会出现栈溢出的情况。16.4解答题1、根据用户手机上网的行为记录,基于SPa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第16章 分布式内存计算平台Spark习题答案 16 分布式 内存 计算 平台 Spark 习题 答案
