还剩5页未读,继续阅读
文本内容:
学年第一学期Spark编程基础课程期末考试试卷(B)共页(团卷考试)适用学生_____________学院专业级班姓名学号题目—二三四总分得分单选题本大题共20小题,每小题2分,共40分
1.下列不属于Spark生态系统的是(A.SparkStreaming B.Storm C.SharkSQL D.SparkR
2.以下说法正确的是(A.数组中的元素都属于同一个数据类型B.默认情况下,Scala使用的是可变映射C.List中不可以存放重复对象D.Set中nJ以有重复对象且Set中元素是有序的
3.spark.deploy.recoveryMode不支持那种(C.NONE D.Hadoop
4.表达式“fori-1to3;ififprinti+j+的输出结果走4A.343545B.123456C.246D.
12465.有如下函数定义deffacn:lnt:lnt={var res=0fori-1ton{res+=i则fac
(5)的输出结果是()A.14B.15C.O D.
56.关于累加器,下面哪个是错误的(oA.支持加法B.支持数值类型C.可并行D.不支持自定义类型
7.在图的属性转换过程中,哪个不是图的属性转换方法(oA.mapEdges B.mapTriplets C.mapDegree D.mapvertices
8.下面哪一种全部是转化操作?A.map、take、reduceByKey B.map、filter^collectC.map、zip、reduceByKey D.map、join、take
9.Dstream的转换操作中,将RDD进行聚合的操作是(.A.flatmap()B.reduce()C.count()D.union()
10.下列适合Spark大数据处理场景的是()A,复杂的批处理B.基于历史数据的交互式查询C.基丁•实时数据流的数据处理D.PB级的数据存储
11.卜,列不属于SparkStreaming的输出操作的是()A.saveAsTextFiles B.saveAsStreamingFilesC.saveAsHadoopFiles D.saveAsObjectFiles
12.DataFrame和RDD最大的区别()A.科学统计支持B.多了schema C.存储方式不一样D.外部数据源支持
13.下面哪个属性是图无法获取到的()A.VertexRDD B.numVerticesC.EdgeVertexD.EdgeRDD
14.下列不是MLlib数据类型的是(A.本地向量B.标记向量C.本地矩阵D.向量矩阵
15.下列不属于大数据技术的是(工A.大数据采集技术B.大数据存储及管理技术C.财务报表分析技术D,大数据分析及挖掘技术填空题本大题有9小题,共10空,每空2分,共20分
1.Scala是,每个值都是一个对象,包括基本数据类型和函数,每个操作都是方法的调用Scala是一门语言,每个函数都是一个值
2.Spark中使用对RDD的关系进行建模
3.Spark的一个重要特点是基于计算的,因而更快
4.Scala中没有基本类型的概念,Scala中没有原生的数据类型,所有的数据类型都是
5.在特征提取过程中,通过计数方法将一组文本文档转换为向量使用方法
6.Stage的Task的数量由的决定
7.SparkJob默认的调度模式是
8.如果一个RDD在计算过程中出错,可以直接通过它的父RDD重新计算得到,这就是Spark基于的容错机制.
9.Spark采用和堆外内存(Off-heapmemory)的规划机制三.简答题本大题有5小题,每小题6分,共30分
1.spark的有几种部署模式,每种模式特点?
2.Spark中Worker的主要工作是什么?
3.什么是RDD宽依赖和窄依赖?
4.spark有哪些组件?
5.Spark为什么比mapreduce快?四.程序题本大题有2小题,每小题10分,共20分使用Spark编程对E:\\hello.txt中的单词进行统计,完成程序中的代码importorg.apache.spark.{SparkConf,SparkContext}objectSparkWordCountWithScala{def mainargs:Array[String]:Unit={val conf=newSparkConf〃设置运行模式为localconf.setMasterlocar〃设置任务名conf.setAppNameCWordCount〃创建SparkCore的程序入口〃读取文件生成RDDval file:RDD[String]=sc.textFileE:\\hello.txt〃把每一行数据按照分割〃让每一个单词都出现一次〃单词计数〃按照单词出现的次数降序排序〃将最终的结果进行保存sortRdd.saveAsTextFileE:\\resultsc.stop学年第一学期课程期末考试试卷(B)共页(团卷考试)适用学生_____________学院专业级班姓名学号题目—•二三四总分得分单选题本大题共20小题,每小题2分,共40分
1.B
2.A
3.D
4.A
5.B
6.D
7.C
8.C
9.B
10.D
11.B
12.B
13.C
14.D
15.C填空题本大题有9小题,共10空,每空2分,共20分
1.纯面向对象的、函数式编程
2.DAG
3.内存
4.对象
5.Tokenizer
6.Partition
7.FIFO
8.Lineage
9.堆内内存(On-heapmemory)三.简答题本大题有5小题,每小题6分,共30分
1.spark的有几种部署模式,每种模式特点?1)本地模式Spark不一定非要跑在hadoop集群,可以在本地,起多个线程的方式来指定将Spark应用以多线程的方式直接运行在本地,一般都走为了方便调试,本地模式分三类•local只启动一个executor•local[k]:启动k个executor•local启动跟cpu数目相同的executor2)standalone模式分布式部署集群,自带完整的服务,资源管理和任务监控是Spark自己监控,这个模式也是其他模式的基础,3)Sparkonyarn模式分布式部署集群,资源和任务监控交给yarn管理,但是目前仅支持粗粒度资源分配方式,包含cluster和client运行模式,cluster适合生产,driver运行在集群子节点,具有容错功能,client适合调试,dirver运行在客户端•SparkOnMesos模式官方推荐这种模式当然,原因之一是血缘关系正是由于Spark开发之初就考虑到支持Mesos,因此,目前而言,Spark运行在Mesos上会比运行在YARN上更加灵活,更加自然
2.Spark中Worker的主要工作是什么?答主要功能管理当前节点内存,CPU的使用状况,接收master分配过来的资源指令,通过ExecutorRunner启动程序分配任务,worker就类似于包工头,管理分配新进程,做计算的服务,相当于process服务需要注意的是1worker会不会汇报当前信息给master,worker心跳给master主要只有workid,它不会发送资源信息以心跳的方式给mater,master分配的时候就知道work,只有出现故障的时候才会发送资源2worker不会运行代码,具体运行的是Executoi■是可以运行具体appliaction写的业务逻辑代码,操作代码的节点,它不会运行程序的代码的
3.什么是RDD宽依赖和窄依赖?RDD和它依赖的parent RDDs的关系有两种不同的类型,即窄依赖narrow dependency和宽依赖widedependency1窄依赖指的是每一个parentRDD的Partition最多被子RDD的一个Partition使用2宽依赖指的是多个子RDD的Partition会依赖同一个parentRDD的Partition
4.spark有.哪些组件?答主要有如下组件1master管理集群和行点,不参与计算2worker计算节点,进程本身不参与计算,和master汇报3Driver运行程序的main方法,创建sparkcontext对象4sparkcontext控制整个application的生命周期Scala/Java/PythonMUbSpark GraphX组件machineStreaming graphteaming核心库SparkcoreHDFS/Hive/hadoopStorage/Cassandra数甥源集群
5.Spark为什么比mapreduce快?答1基于内存计算,减少低效的磁盘交互;2高效的调度算法,基于DAG;3)容错机制Linage,精华部分就是DAG和Lingae四.程序题本大题有2小题,每小题10分,共20分使用Spark编程对ENhello.txt中的单词进行统计,完成程序中的代码
1.val sc=new SparkContextconf
2.val word:RDD[String]=file.flatMap_.split,
3.val wordOne:RDD[String,Int]=word.map_,
14.val wordCount:RDD[String,Int]=wordOne.reduceByKey_+_
5.val sortRdd:RDD[String,Int]=wordCount.sortBytuple=tuple._2,false。