MOOC Spark编程基础-厦门大学 中国大学慕课答案_第1页
MOOC Spark编程基础-厦门大学 中国大学慕课答案_第2页
MOOC Spark编程基础-厦门大学 中国大学慕课答案_第3页
MOOC Spark编程基础-厦门大学 中国大学慕课答案_第4页
MOOC Spark编程基础-厦门大学 中国大学慕课答案_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MOOCSpark编程基础-厦门大学中国大学慕课答案第1章大数据技术概述单元测验1、问题:大数据计算模式有以下四种,对电子商务网站购物平台数据的实时分析处理过程属于哪一种?选项:A、批处理计算B、流计算C、图计算D、查询分析计算正确答案:【流计算】2、问题:大数据技术及其代表性的软件种类很多,不同的技术有其不同应用场景,都对应着不同的大数据计算模式,请问软件产品Pregel主要应用于以下哪种计算模式?选项:A、批处理计算B、流计算C、图计算D、查询分析计算正确答案:【图计算】3、问题:经过多年的发展,Hadoop生态系统不断完善和成熟,目前已经包含多个子项目,其中YARN的主要功能是?选项:A、分布式并行编程模型B、数据仓库工具C、负责集群资源调度管理的组件D、分布式海量日志采集、聚合和传输系统正确答案:【负责集群资源调度管理的组件】4、问题:Hadoop生态系统中用于构建数据仓库并允许用户输入SQL语句进行查询的功能组件是?选项:A、SparkB、PregelC、FlumeD、Hive正确答案:【Hive】5、问题:MapReduce的一个基本设计思想是?选项:A、计算向数据靠拢B、数据向计算靠拢C、提高数据的串行计算速度D、提高数据的冗余度正确答案:【计算向数据靠拢】6、问题:Hadoop的生态系统组件之一Sqoop的功能是?选项:A、提供高可靠性、高可用、分布式的海量日志采集B、用来存储非结构化和半结构化的松散数据C、负责集群资源调度管理的组件D、用来在Hadoop和关系数据库之间的交换数据,改进数据的互操作性正确答案:【用来在Hadoop和关系数据库之间的交换数据,改进数据的互操作性】7、问题:以下哪一项不是Hadoop的缺点?选项:A、计算表达能力有限B、数据文件被分布存储到多台机器上C、计算延迟高D、磁盘I/O开销大正确答案:【数据文件被分布存储到多台机器上】8、问题:网络中很多数据是以图的形式呈现的,比如社交网络、交通事故,现场证据采集等,为了解决大型图的分布式计算问题,最适合采用以下哪种计算框架:选项:A、SparkCoreB、DremelC、PregelD、Storm正确答案:【Pregel】9、问题:用户在使用HDFS时,仍然可以像普通文件系统那样用文件名去访问文件,以下哪个选项是正确的访问方式?选项:A、把文件名发送给名称节点,根据文件名直接在名称节点上获取数据B、把文件名发送给数据节点,根据文件名直接在数据节点上获取数据C、把文件名发送给名称节点,根据文件名在名称节点上找到数据块的实际存储信息,客户端再到数据节点上获取数据D、以上说法都不对正确答案:【把文件名发送给名称节点,根据文件名在名称节点上找到数据块的实际存储信息,客户端再到数据节点上获取数据】10、问题:大数据处理的基本流程有以下哪四个步骤?选项:A、数据采集B、存储管理C、处理分析D、结果呈现E、数据安全和隐私保护正确答案:【数据采集#存储管理#处理分析#结果呈现】11、问题:目前学术界和业界比较认可的关于大数据的四个特点是?选项:A、数据量大B、数据类型多C、处理速度快D、数据可重复使用E、价值密度低正确答案:【数据量大#数据类型多#处理速度快#价值密度低】12、问题:Hadoop两大核心组成部分是什么?选项:A、分布式文件系统HDFSB、分布式协作服务ZookeeperC、资源调度管理框架YARND、分布式计算框架MapReduce正确答案:【分布式文件系统HDFS#分布式计算框架MapReduce】13、问题:与Hadoop相比,Spark主要有以下哪些优点?选项:A、提供多种数据集操作类型而不仅限于MapReduceB、数据集中式计算更加高效C、提供了内存计算,带来了更高的迭代运算效率D、基于DAG的任务调度执行机制正确答案:【提供多种数据集操作类型而不仅限于MapReduce#提供了内存计算,带来了更高的迭代运算效率#基于DAG的任务调度执行机制】14、问题:YARN是负责集群资源调度管理的组件。不同的计算框架统一运行在YARN框架之上,具有哪些优点:选项:A、计算资源按需伸缩B、不同负载应用混搭,集群利用率高C、共享底层存储,避免数据跨集群迁移D、大大降低了运维成本正确答案:【计算资源按需伸缩#不同负载应用混搭,集群利用率高#共享底层存储,避免数据跨集群迁移#大大降低了运维成本】15、问题:关于Hadoop生态系统中HBase与其它部分的关系,以下说法正确的有:选项:A、HBase利用MapReduce来处理HBase中的海量数据,实现高性能计算B、利用Zookeeper作为协同服务,实现稳定服务和失败恢复C、使用HDFS作为高可靠的底层存储,利用廉价集群提供海量数据存储能力D、利用Pig和Hive为HBase提供了高层语言支持E、使用Sqoop为HBase提供了高效便捷的RDBMS数据导入功能正确答案:【HBase利用MapReduce来处理HBase中的海量数据,实现高性能计算#利用Zookeeper作为协同服务,实现稳定服务和失败恢复#使用HDFS作为高可靠的底层存储,利用廉价集群提供海量数据存储能力#利用Pig和Hive为HBase提供了高层语言支持#使用Sqoop为HBase提供了高效便捷的RDBMS数据导入功能】16、问题:Spark的设计遵循“一个软件栈满足不同应用场景”的理念,逐渐形成了一套完整的生态系统,可以支持以下哪些操作计算:选项:A、SQL即席查询(SparkSQL)B、流式计算(SparkStreaming)C、机器学习(MLlib)D、图计算(GraphX)正确答案:【SQL即席查询(SparkSQL)#流式计算(SparkStreaming)#机器学习(MLlib)#图计算(GraphX)】17、问题:Flink和Spark一样,都是基于内存的计算框架,都支持流计算,在流式处理方面,以下选项是Flink的主要特点的有:选项:A、Flink是一行一行地处理数据B、Flink可以支持毫秒级的响应C、Flink只能支持秒级的响应D、Flink支持增量迭代,具有对迭代进行自动优化的功能正确答案:【Flink是一行一行地处理数据#Flink可以支持毫秒级的响应#Flink支持增量迭代,具有对迭代进行自动优化的功能】第2章Scala语言基础单元测验1、问题:以下哪个选项不是Scala的数据类型?选项:A、AByte,Short,Int,UnitB、Integer,VoidC、Long,Char,StringD、Float,Double,Boolean正确答案:【Integer,Void】2、问题:Scala关于变量定义、赋值,错误的是?选项:A、vala=3B、vala:String=3C、varb:Int=3;b=6D、varb=HelloWorld!;b=123正确答案:【vala:String=3】3、问题:下面四个选项中,哪一个选项中a的取值与其他三个选项不同?选项:A、vala=3B、vala:Double=1+2C、vara=1;a+=2D、valb=1.+(2);vala=b.toInt正确答案:【vala:Double=1+2】4、问题:下面输出与其他不一致的是?选项:A、println(HelloWorld)B、print(HelloWorld\n)C、printf(Hello%s,World\n)D、valw=World;println(Hello$w)正确答案:【valw=World;println(Hello$w)】5、问题:关于元组Tuple说法错误的是?选项:A、元组可以包含不同类型的元素B、元组是不可变的C、访问元组tuple第一个元素的方式为tuple._1D、元组最多只有2个元素正确答案:【元组最多只有2个元素】6、问题:以下对集合的描述有误的是?选项:A、Set是一组没有先后次序的值B、Map是一组(键,值)对偶C、每个Scala集合特质或类都有一个带有apply方法的伴生对象,可以用此方法来构建该集合中的实例D、为了顾及安全性问题,Scala仅支持不可变集合而不支持可变集合正确答案:【为了顾及安全性问题,Scala仅支持不可变集合而不支持可变集合】7、问题:有关操作符优先级的描述不正确的是?选项:A、*=的优先级低于+B、的优先级高于C、+的优先级高于!D、%的优先级高于+正确答案:【+的优先级高于!】8、问题:对集合(Set)进行操作Set(2,0,1)+1+1-1之后的结果为?选项:A、Set(2,0,1,1)B、Set(2,0,1)C、Set(2,0)D、以上均不正确正确答案:【Set(2,0)】9、问题:如果需要使用scala库中的sqrt函数,如sqrt(2),下列引用包的方式错误的是?选项:A、importscala.math._B、importsqrtC、importmath._D、importmath.sqrt正确答案:【importsqrt】10、问题:关于辅助构造器,以下说法正确的是?选项:A、辅助构造器的必须调用主构造器B、辅助构造器的可以直接调用超类的主构造器C、辅助构造器的参数可以是任意多个D、辅助构造器的名称和类名相同正确答案:【辅助构造器的参数可以是任意多个】11、问题:Scala中,类成员的缺省访问级别是?选项:A、publicB、privateC、protectedD、以上都不对正确答案:【public】12、问题:以下关于闭包描述错误的是?选项:A、闭包是一个函数,其返回值依赖于声明在函数包部的一个或多个变量B、通常来讲,可以将闭包看作是可以访问一个函数里面局部变量的另一个函数C、对于defmulBy(factor:Double)=(x:Double)=factor*x;valtriple=mulBy(3);,函数triple是一个闭包D、对于defmulBy(factor:Double)=(x:Double)=3*x;valtriple=mulBy(3);,函数triple是一个闭包正确答案:【对于defmulBy(factor:Double)=(x:Double)=3*x;valtriple=mulBy(3);,函数triple是一个闭包】13、问题:高阶函数是指?选项:A、在程序中应该首先被定义的函数B、将函数作为参数,并返回结果为函数的函数C、函数参数为函数或返回结果为函数的函数D、执行时间长的函数正确答案:【函数参数为函数或返回结果为函数的函数】14、问题:对于以下代码描述有误的是?valdata=Map(1-One,2-Two)valres=for((k,v)-data;if(k1))yieldv选项:A、运行后res的结果为List(Two)B、运行后res的结果为List(One,Two)C、对映射data中的每一个(键,值)对,k被绑定对键,而v则被绑定到值D、其中的if(k1)是一个守卫表达式正确答案:【运行后res的结果为List(One,Two)】15、问题:Scala中,下面的哪个类定义是不正确的?选项:A、classCounter{defcounter=“counter”}B、classCounter{valcounter=“counter”}C、classCounter{varcounter:String}D、classCounter{defcounter(){}}正确答案:【classCounter{varcounter:String}】16、问题:以下关于类和单例对象的对比说法正确的是?选项:A、单例对象不可以定义方法,而类可以B、单例对象不可以带参数,而类可以C、单例对象不可以定义私有属性,而类可以D、单例对象不可以继承,而类可以正确答案:【单例对象不可以带参数,而类可以】17、问题:Scala语言中,关于List的定义,不正确的是?选项:A、vallist=List(1,2,3)B、vallist=List[Int](1,2,3)C、vallist=List[String]('A','B','C')D、vallist=List[String]()正确答案:【vallist=List[String]('A','B','C')】18、问题:对于Map(book-5,pen-2).map(m=m._1-m._2*2)的结果,下面哪个是正确的?选项:A、Map(bookbook-5,penpen-2)B、Map(bookbook-10,penpen-4)C、Map(book-10,pen-4)D、Map(book-5,pen-2,book-5,pen-2)正确答案:【Map(book-10,pen-4)】19、问题:以下单例对象,定义错误的是?选项:A、objectPerson{varPID=“”}B、objectPerson(PID:String){}C、objectPerson{defPID=“”}D、objectPersonA{valPID=“”}正确答案:【objectPerson(PID:String){}】20、问题:表达式for(i-1to3;j-1to3;ifi!=j){print((10*i+j));print()}输出结果正确的是?选项:A、111213212223313233B、111321233133C、121321233132D、111221223132正确答案:【121321233132】21、问题:以下程序段的输出结果是importutil.control.Breaks._valarray=Array(2,6,10,5,4)for(i-array){breakable{if(i5)breakprintln(i)}}选项:A、2,6,4B、2,5,4C、6,10,5D、10,5,4正确答案:【2,5,4】22、问题:以下选项说法错误的是?abstractclassCar{valcarBrand:Stringdefinfo()defgreeting(){println(“welcome”)}}选项:A、类Car不能被实例化B、Car是一个抽象类C、carBrand是一个抽象成员D、info和greeting都是Car的抽象方法正确答案:【info和greeting都是Car的抽象方法】23、问题:类classCounter{varvalue=0},Scala采用类似Java中的getter和setter方法,value字段默认定义的方法是?选项:A、value,value_B、value,value_=C、getter,setterD、getValue,setValue正确答案:【value,value_=】24、问题:defpw(x:Int):Int={if(x==0)1else2*pw(x-1)},求pw(5)?选项:A、15B、120C、32D、16正确答案:【32】25、问题:以下哪些选项属于Scala的基本特性?选项:A、是一门类Java的多范式语言B、运行于Java虚拟机(JVM)之上,并且兼容现有的Java程序C、是一门纯粹的面向对象的语言D、是一门函数式语言,支持高阶函数,允许嵌套多层函数,并支持柯里化(Currying)正确答案:【是一门类Java的多范式语言#运行于Java虚拟机(JVM)之上,并且兼容现有的Java程序#是一门纯粹的面向对象的语言#是一门函数式语言,支持高阶函数,允许嵌套多层函数,并支持柯里化(Currying)】26、问题:关于主构造器,以下说法正确的是?选项:A、主构造器在每个类都可以定义多个B、主构造器的参数可以直接放在类名后C、主构造器会执行类定义中的所有语句D、主构造器中可以使用默认参数正确答案:【主构造器的参数可以直接放在类名后#主构造器会执行类定义中的所有语句#主构造器中可以使用默认参数】27、问题:Scala中,关于包的引用正确的是?选项:A、包和其成员可以用importB、可以引用某个文件夹下的特定文件C、可以引用某个文件夹下的所有文件D、包引用只能在编译单元的开始处正确答案:【包和其成员可以用import#可以引用某个文件夹下的特定文件#可以引用某个文件夹下的所有文件】28、问题:Scala里的函数是“头等公民”,以下哪些说法是正确的?选项:A、将函数赋值给变量B、将函数作为参数传递给其他函数C、将函数作为其他函数的返回值D、以上说法都不正确正确答案:【将函数赋值给变量#将函数作为参数传递给其他函数#将函数作为其他函数的返回值】29、问题:以下关于特质的说法正确的是?选项:A、类可以实现任意数量的特质B、特质可以要求实现它们的类具备特定的字段、方法或超类C、与Java接口(Interface)相同,Scala特质不可以提供方法和字段的实现D、当将多个特质叠加在一起时,顺序很重要,其方法先被执行的特质排在更后面正确答案:【类可以实现任意数量的特质#特质可以要求实现它们的类具备特定的字段、方法或超类#当将多个特质叠加在一起时,顺序很重要,其方法先被执行的特质排在更后面】30、问题:对于元组valt=(1,3.14,Fred)说法正确的是?选项:A、t_1等于1B、t的类型为Tuple3[Int,Double,java.lang.String]C、val(first,second,_)=t//second等于3.14D、t._0无法访问,会抛出异常正确答案:【t的类型为Tuple3[Int,Double,java.lang.String]#val(first,second,_)=t//second等于3.14#t._0无法访问,会抛出异常】31、问题:Scala语言中,下面描述正确的是?选项:A、Scala中,Float是AnyVal的子类B、Scala中,Int是Long的子类C、Scala中,Double是AnyRef的子类D、Scala中,Long是AnyVal的子类正确答案:【Scala中,Float是AnyVal的子类#Scala中,Long是AnyVal的子类】32、问题:对于valprices=Map(book-5,pen-2,sticker-1)结果说法正确的是?选项:A、prices(sticker)//等于1B、(prices+(shoes-30))(shoes)//等于30C、(prices-pen)(book)//等于5D、prices(sock)//等于0正确答案:【prices(sticker)//等于1#(prices+(shoes-30))(shoes)//等于30#(prices-pen)(book)//等于5】33、问题:Scala中,类和它的伴生对象说法正确的是?选项:A、类和它的伴生对象定义在同一个文件中B、类和它的伴生对象可以有不同的名称C、类和它的伴生对象可以互相访问私有特性D、类有静态方法,伴生对象没有静态方法正确答案:【类和它的伴生对象定义在同一个文件中#类和它的伴生对象可以互相访问私有特性】34、问题:关于数组vala=Array(1,2,3)下列说法正确的是?选项:A、valb=2*a//b等于Array(2,4,6)B、valb=a.map(_*2)//b等于Array(2,4,6)C、valb=for(elem-a)yield2*elem//b等于Array(2,4,6)D、valb=for(elem-aifelem%2==0)yield2*elem//b等于Array(4)正确答案:【valb=a.map(_*2)//b等于Array(2,4,6)#valb=for(elem-a)yield2*elem//b等于Array(2,4,6)#valb=for(elem-aifelem%2==0)yield2*elem//b等于Array(4)】35、问题:关于Scala的类层级结构,以下说法正确的是?选项:A、AnyVal是所有值类型的父类B、Nothing是所有其他类型的子类C、null可以赋值给Char类型的变量D、Null是所有引用类型的子类正确答案:【AnyVal是所有值类型的父类#Nothing是所有其他类型的子类#Null是所有引用类型的子类】36、问题:以下关于Scala各种数据结构的说法正确的是?选项:A、集合(Set)是不重复元素的容器B、迭代器(Iterator)是一种提供了按顺序访问容器元素的数据结构C、映射(Map)是一系列键值对的容器,在一个映射中,键是唯一的,值也是唯一的D、列表(List)一旦被定义,其值就不能改变正确答案:【集合(Set)是不重复元素的容器#迭代器(Iterator)是一种提供了按顺序访问容器元素的数据结构#列表(List)一旦被定义,其值就不能改变】37、问题:valbooks=List(“Hadoop”,”Hive”,”Mapreduce”),以下哪些操作能将字符串全部变成大写?选项:A、books.map(s=s.toUpperCase)B、for(book-books)yieldbook.toUpperCaseC、books.map(_.toUpperCase)D、for(book-books;c-book)yieldc.toUpperCase正确答案:【books.map(s=s.toUpperCase)#for(book-books)yieldbook.toUpperCase#books.map(_.toUpperCase)】38、问题:在Scala中,关于Nothing,null,Null,Option,Some,None的说法正确的是?选项:A、Nothing是所有其他类型的子类,没有实例,主要用于异常处理函数的返回类型B、null表示一个空对象,可以赋值给任何引用类型C、类Option是一个抽象类,有一个具体子类Some和一个对象None,分别表示有值和无值的情况D、Null是所有引用类型的子类,其唯一的实例是null正确答案:【Nothing是所有其他类型的子类,没有实例,主要用于异常处理函数的返回类型#null表示一个空对象,可以赋值给任何引用类型#类Option是一个抽象类,有一个具体子类Some和一个对象None,分别表示有值和无值的情况#Null是所有引用类型的子类,其唯一的实例是null】第3章Spark的设计与运行原理单元测验1、问题:以下哪个不是Spark的组件?选项:A、SparkStreamingB、MLlibC、GraphXD、Flink正确答案:【Flink】2、问题:下面哪个不是RDD的特点?选项:A、可分区B、可序列化C、可修改D、可持久化正确答案:【可修改】3、问题:Task是Executor上的工作单元,运行于下面哪个组件上?选项:A、DriverProgramB、SparkMasterC、WorkerNodeD、ClusterManager正确答案:【WorkerNode】4、问题:下面哪个操作肯定是宽依赖?选项:A、mapB、filterC、reduceByKeyD、union正确答案:【reduceByKey】5、问题:以下是Spark的主要特点的有?选项:A、运行速度快B、容易使用,简洁的API设计有助于用户轻松构建并行程序C、通用性,Spark提供了完整而强大的技术栈D、运行模式多样正确答案:【运行速度快#容易使用,简洁的API设计有助于用户轻松构建并行程序#通用性,Spark提供了完整而强大的技术栈#运行模式多样】6、问题:Spark的运行架构包括哪些?选项:A、集群资源管理器(ClusterManager)B、执行进程(Executor)C、WorkerNodeD、任务控制节点DriverProgram正确答案:【集群资源管理器(ClusterManager)#执行进程(Executor)#WorkerNode#任务控制节点DriverProgram】7、问题:关于RDD之间的依赖分为窄依赖和宽依赖,以下说法正确的是?选项:A、存在一个父RDD的一个分区对应一个子RDD的多个分区,则为宽依赖B、存在一个父RDD的多个分区对应一个子RDD的一个分区,则为宽依赖C、存在一个父RDD的一个分区只被一个子RDD的一个分区所使用,则为窄依赖D、存在一个父RDD的一个分区被一个子RDD的多个分区所使用,则为窄依赖正确答案:【存在一个父RDD的一个分区对应一个子RDD的多个分区,则为宽依赖#存在一个父RDD的一个分区只被一个子RDD的一个分区所使用,则为窄依赖】8、问题:Spark可以采用几种不同的部署方式,以下正确的部署方式有?选项:A、LocalB、StandaloneC、SparkonMesosD、SparkonYARN正确答案:【Local#Standalone#SparkonMesos#SparkonYARN】9、问题:目前的大数据处理典型应用场景可分为哪几个类型?选项:A、复杂的批量数据处理B、基于历史数据的交互式查询C、大数据的分布式计算D、基于实时数据流的数据处理正确答案:【复杂的批量数据处理#基于历史数据的交互式查询#基于实时数据流的数据处理】10、问题:以下选项中哪些是Spark的优点?选项:A、具有高效的容错性B、利用进程模型C、可以将中间结果持久化到内存D、表达能力有限正确答案:【具有高效的容错性#可以将中间结果持久化到内存】第4章Spark环境搭建和使用方法单元测验1、问题:判断HDFS是否启动成功,可以通过哪个命令?选项:A、hdfsB、sparkC、jpsD、start-dfs正确答案:【jps】2、问题:spark-shell在启动时,master-url采用local[*]时,它的含义是?选项:A、使用任意个线程来本地化运行SparkB、使用与逻辑CPU个数相同数量的线程来本地化运行SparkC、使用与逻辑CPU个数相同数量的进程来本地化运行SparkD、使用单个线程来本地化运行Spark正确答案:【使用与逻辑CPU个数相同数量的线程来本地化运行Spark】3、问题:下面描述正确的是:选项:A、Hadoop和Spark不能部署在同一个集群中B、Hadoop只包含了存储组件,不包含计算组件C、Spark是一个分布式计算框架,可以和Hadoop组合使用D、Spark和Hadoop是竞争关系,二者不能组合使用正确答案:【Spark是一个分布式计算框架,可以和Hadoop组合使用】4、问题:Spark部署模式有哪几种?选项:A、Local模式(单机模式)B、Standalone模式C、YARN模式D、Mesos模式正确答案:【Local模式(单机模式)#Standalone模式#YARN模式#Mesos模式】5、问题:关于Hadoop和Spark的相互关系,以下说法正确的是?选项:A、Hadoop和Spark可以相互协作B、Hadoop负责数据的存储和管理C、Spark负责数据的计算D、Spark要操作Hadoop中的数据,需要先启动HDFS正确答案:【Hadoop和Spark可以相互协作#Hadoop负责数据的存储和管理#Spark负责数据的计算#Spark要操作Hadoop中的数据,需要先启动HDFS】6、问题:HDFS若启动成功,系统会列出以下哪些进程?选项:A、NameNodeB、HDFSC、DataNodeD、SecondaryNameNode正确答案:【NameNode#DataNode#SecondaryNameNode】7、问题:spark-shell在启动时,采用yarn-client模式时,以下说法正确的是?选项:A、当用户提交了作业之后,不能关掉ClientB、当用户提交了作业之后,就可以关掉ClientC、该模式适合运行交互类型的作业D、该模式不适合运行交互类型的作业正确答案:【当用户提交了作业之后,不能关掉Client#该模式适合运行交互类型的作业】8、问题:spark-shell在启动时,采用yarn-cluster模式时,以下说法正确的是?选项:A、当用户提交了作业之后,不能关掉ClientB、当用户提交了作业之后,就可以关掉ClientC、该模式适合运行交互类型的作业D、该模式不适合运行交互类型的作业正确答案:【当用户提交了作业之后,就可以关掉Client#该模式不适合运行交互类型的作业】9、问题:开发Spark独立应用程序的基本步骤通常有哪些?选项:A、安装编译打包工具,如sbt,MavenB、编写Spark应用程序代码C、编译打包D、通过spark-submit运行程序正确答案:【安装编译打包工具,如sbt,Maven#编写Spark应用程序代码#编译打包#通过spark-submit运行程序】10、问题:集群上运行Spark应用程序的方法步骤有哪些?选项:A、启动Hadoop集群B、启动Spark的Master节点和所有Slave节点C、在集群中运行应用程序JAR包D、查看集群信息以获得应用程序运行的相关信息正确答案:【启动Hadoop集群#启动Spark的Master节点和所有Slave节点#在集群中运行应用程序JAR包#查看集群信息以获得应用程序运行的相关信息】第5章RDD编程单元测验1、问题:下面哪个方法是用来从文件系统中加载数据创建RDD的选项:A、txtFile()B、textfile()C、textFile()D、parallelize()正确答案:【textFile()】2、问题:以下操作中,哪个不是SparkRDD编程中的操作选项:A、filter()B、reduceByKey(func)C、reduce()D、getLastOne()正确答案:【getLastOne()】3、问题:valdata=Array(1,2,3,4,5)valrdd1=sc.parallelize(data)valrdd2=rdd1.map(x=x+10)上述语句执行以后,rdd2中的元素是选项:A、1,2,3,4,5B、3,4,5,6,7C、11,12,13,14,15D、10,11,12,13,14正确答案:【11,12,13,14,15】4、问题:valarray=Array(“Hadoopisgood”,”Sparkisfast”,”Sparkisbetter”)vallines=sc.papallelize(array)valwords=lines.flatMap(line=line.split(“”))上述语句执行以后,words中的元素是选项:A、“Hadoopisgood”,”Sparkisfast”,”Sparkisbetter”B、”Hadoop”,”is”,”good”,”Spark”,”is”,”fast”,”Spark”,”is”,”better”C、”Hadoop”,”Spark”,”fast”D、”Spark”,”is”,”fast”正确答案:【”Hadoop”,”is”,”good”,”Spark”,”is”,”fast”,”Spark”,”is”,”better”】5、问题:假设有一个RDD的名称为words,包含9个元素,分别是:(”Hadoop”,1),(”is”,1),(”good”,1),(”Spark”,1),(”is”,1),(”fast”,1),(”Spark”,1),(”is”,1),(”better”,1)。则语句words.groupByKey()的执行结果得到的新的RDD中,所包含的元素是选项:A、(”Hadoop”,1),(”is”,(1,1,1)),(”good”,1),(”Spark”,(1,1)),(”fast”,1),(”better”,1)B、(”good”,1),(”Spark”,1),(”is”,1),(”fast”,1)C、(”good”,(1,1)),(”Spark”,(1,1,1)),(”is”,1),(”fast”,1)D、(”Hadoop”,1),(”is”,1),(”good”,1),(”Spark”,1),(”is”,1)正确答案:【(”Hadoop”,1),(”is”,(1,1,1)),(”good”,1),(”Spark”,(1,1)),(”fast”,1),(”better”,1)】6、问题:valrdd=sc.parallelize(Array(1,2,3,4,5))rdd.take(3)上述语句执行的结果是选项:A、3B、6C、Array(1,2,3)D、Array(2,3,4)正确答案:【Array(1,2,3)】7、问题:valrdd=sc.parallelize(Array(1,2,3,4,5))rdd.reduce((a,b)=a+b)上述语句执行的结果是选项:A、15B、14C、13D、12正确答案:【15】8、问题:有一个键值对RDD,名称为pairRDD,它包含4个元素,分别是(“Hadoop”,1)、(“Spark”,1)、(“Hive”,1)和(“Spark”,1),则pairRDD.reduceByKey((a,b)=a+b)执行结果得到的RDD,它里面包含的元素是选项:A、(“Hadoop”,2),(“Spark”,1),(“Hive”,1)B、(“Hadoop”,1),(“Spark”,2),(“Hive”,1)C、(“Hadoop”,2),(“Spark”,2),(“Hive”,2)D、(“Hadoop”,1),(“Spark”,2),(“Hive”,2)正确答案:【(“Hadoop”,1),(“Spark”,2),(“Hive”,1)】9、问题:valwords=Array(one,two,two,three,three,three)valwordPairsRDD=sc.parallelize(words).map(word=(word,1))valwordCountsWithGroup=wordPairsRDD.groupByKey().map(t=(t._1,t._2.sum))上述语句的执行结果wordCountsWithGroup中包含的元素是选项:A、(“one”,1),(“two”,1),(“three”,1)B、(“one”,1),(“two”,2),(“three”,1)C、(“one”,3),(“two”,2),(“three”,1)D、(“one”,1),(“two”,2),(“three”,3)正确答案:【(“one”,1),(“two”,2),(“three”,3)】10、问题:valwords=Array(one,two,two,three,three,three)valwordPairsRDD=sc.parallelize(words).map(word=(word,1))wordCountsWithReduce=wordPairsRDD.reduceByKey(_+_)上述语句的执行结果wordCountsWithReduce中包含的元素是选项:A、(“one”,1),(“two”,2),(“three”,3)B、(“one”,1),(“two”,2),(“three”,1)C、(“one”,3),(“two”,2),(“three”,1)D、(“one”,1),(“two”,2),(“three”,2)正确答案:【(“one”,1),(“two”,2),(“three”,3)】11、问题:有一个键值对RDD,名称为pairRDD,包含4个元素,分别是(Hadoop,1)、(Spark,1)、(Hive,1)和(Spark,1),则pairRDD.keys操作得到的RDD中所包含的元素是选项:A、”Hadoop”,”Spark”,”Hive”,”Spark”B、”Hadoop”,”Spark”,”Hive”C、(”Hadoop”,1),(”Spark”,1),(”Hive”,1)D、(Hadoop,1)、(Spark,1)、(Hive,1)和(Spark,1)正确答案:【”Hadoop”,”Spark”,”Hive”,”Spark”】12、问题:有一个RDD,名称为pairRDD,包含4个元素,分别是(Hadoop,1)、(Spark,1)、(Hive,1)和(Spark,1),则pairRDD.values操作得到的RDD中所包含的元素是选项:A、(Hadoop,1)、(Spark,1)、(Hive,1)和(Spark,1)B、1,1,1,1C、”Hadoop”,1,”Spark”,1D、4正确答案:【1,1,1,1】13、问题:有一个键值对RDD,名称为pairRDD,包含4个元素,分别是(Hadoop,1)、(Spark,1)、(Hive,1)和(Spark,1),则pairRDD.mapValues(x=x+1)操作得到的RDD中所包含的元素是选项:A、(Hadoop,1)、(Spark,1)、(Hive,1)和(Spark,1)B、1,1,1,1C、2,2,2,2D、(Hadoop,2)、(Spark,2)、(Hive,2)和(Spark,2)正确答案:【(Hadoop,2)、(Spark,2)、(Hive,2)和(Spark,2)】14、问题:valpairRDD1=sc.parallelize(Array((spark,1),(spark,2),(hadoop,3),(hadoop,5)))valpairRDD2=sc.parallelize(Array((spark,fast)))pairRDD1.join(pairRDD2)上述语句执行以后,pairRDD1这个RDD中所包含的元素是选项:A、(“spark”,(1,”fast”)),(“spark”,(2,”fast”))B、(“hadoop”,(3,”fast”)),(“hadoop”,(5,”fast”))C、(“hadoop”,(2,”fast”)),(“hadoop”,(1,”fast”))D、(“spark”,(3,”fast”)),(“spark”,(5,”fast”))正确答案:【(“spark”,(1,”fast”)),(“spark”,(2,”fast”))】15、问题:RDD操作包括哪两种类型选项:A、转换(Transformation)B、连接(Join)C、分组(GroupBy)D、行动(Action)正确答案:【转换(Transformation)#行动(Action)】16、问题:以下操作中,哪些是转换(Transformation)操作选项:A、filter()B、count()C、first(D、reduceByKey(func)正确答案:【filter()#reduceByKey(func)】17、问题:以下操作中,哪些是行动(Action)操作选项:A、map()B、groupByKey()C、collect()D、reduce()正确答案:【collect()#reduce()】18、问题:以下关于RDD的持久化的描述,正确的是选项:A、persist(MEMORY_ONLY):表示将RDD作为反序列化的对象存储于JVM中,如果内存不足,就要按照LRU原则替换缓存中的内容B、persist(MEMORY_AND_DISK):表示将RDD作为反序列化的对象存储在JVM中,如果内存不足,超出的分区将会被存放在硬盘上C、通过持久化(缓存)机制可以避免重复计算的开销D、使用cache()方法时,会调用persist(MEMORY_ONLY)正确答案:【persist(MEMORY_ONLY):表示将RDD作为反序列化的对象存储于JVM中,如果内存不足,就要按照LRU原则替换缓存中的内容#persist(MEMORY_AND_DISK):表示将RDD作为反序列化的对象存储在JVM中,如果内存不足,超出的分区将会被存放在硬盘上#通过持久化(缓存)机制可以避免重复计算的开销#使用cache()方法时,会调用persist(MEMORY_ONLY)】19、问题:关于RDD分区的作用,下面描述正确的是选项:A、增加并行度B、增加时间开销C、减少通信开销D、减少并行度正确答案:【增加并行度#减少通信开销】第6章SparkSQL单元测验1、问题:关于Shark,下面描述正确的是:选项:A、Shark提供了类似Pig的功能B、Shark把SQL语句转换成MapReduce作业C、Shark重用了Hive中的HiveQL解析、逻辑执行计划翻译、执行计划优化等逻辑D、Shark的性能比Hive差很多正确答案:【Shark重用了Hive中的HiveQL解析、逻辑执行计划翻译、执行计划优化等逻辑】2、问题:下面关于SparkSQL架构的描述错误的是:选项:A、在Shark原有的架构上重写了逻辑执行计划的优化部分,解决了Shark存在的问题B、SparkSQL在Hive兼容层面仅依赖HiveQL解析和Hive元数据C、SparkSQL执行计划生成和优化都由Catalyst(函数式关系查询优化框架)负责D、SparkSQL执行计划生成和优化需要依赖Hive来完成正确答案:【SparkSQL执行计划生成和优化需要依赖Hive来完成】3、问题:要把一个DataFrame保存到people.json文件中,下面语句哪个是正确的:选项:A、df.write.json(people.json)B、df.json(people.json)C、df.write.format(csv).save(people.json)D、df.write.csv(people.json)正确答案:【df.write.json(people.json)】4、问题:以下操作中,哪个不是DataFrame的常用操作:选项:A、printSchema()B、select()C、filter()D、sendto()正确答案:【sendto()】5、问题:Shark的设计导致了两个问题:选项:A、执行计划优化完全依赖于Hive,不方便添加新的优化策略B、执行计划优化不依赖于Hive,方便添加新的优化策略C、Spark是线程级并行,而MapReduce是进程级并行,因此,Spark在兼容Hive的实现上存在线程安全问题,导致Shark不得不使用另外一套独立维护的、打了补丁的Hive源码分支D、Spark是进程级并行,而MapReduce是线程级并行,因此,Spark在兼容Hive的实现上存在线程安全问题,导致Shark不得不使用另外一套独立维护的、打了补丁的Hive源码分支正确答案:【执行计划优化完全依赖于Hive,不方便添加新的优化策略#Spark是线程级并行,而MapReduce是进程级并行,因此,Spark在兼容Hive的实现上存在线程安全问题,导致Shark不得不使用另外一套独立维护的、打了补丁的Hive源码分支】6、问题:下面关于为什么推出SparkSQL的原因的描述正确的是:选项:A、SparkSQL可以提供DataFrameAPI,可以对内部和外部各种数据源执行各种关系操作B、可以支持大量的数据源和数据分析算法,组合使用SparkSQL和SparkMLlib,可以融合传统关系数据库的结构化数据管理能力和机器学习算法的数据处理能力C、SparkSQL无法对各种不同的数据源进行整合D、SparkSQL无法融合结构化数据管理能力和机器学习算法的数据处理能力正确答案:【SparkSQL可以提供DataFrameAPI,可以对内部和外部各种数据源执行各种关系操作#可以支持大量的数据源和数据分析算法,组合使用SparkSQL和SparkMLlib,可以融合传统关系数据库的结构化数据管理能力和机器学习算法的数据处理能力】7、问题:下面关于DataFrame的描述正确的是:选项:A、DataFrame的推出,让Spark具备了处理大规模结构化数据的能力B、DataFrame比原有的RDD转化方式更加简单易用,而且获得了更高的计算性能C、Spark能够轻松实现从MySQL到DataFrame的转化,并且支持SQL查询D、DataFrame是一种以RDD为基础的分布式数据集,提供了详细的结构信息正确答案:【DataFrame的推出,让Spark具备了处理大规模结构化数据的能力#DataFrame比原有的RDD转化方式更加简单易用,而且获得了更高的计算性能#Spark能够轻松实现从MySQL到DataFrame的转化,并且支持SQL查询#DataFrame是一种以RDD为基础的分布式数据集,提供了详细的结构信息】8、问题:要读取people.json文件生成DataFrame,可以使用下面哪些命令:选项:A、spark.read.json(people.json)B、spark.read.parquet(people.json)C、spark.read.format(json).load(people.json)D、spark.read.format(csv).load(people.json)正确答案:【spark.read.json(people.json)#spark.read.format(json).load(people.json)】9、问题:从RDD转换得到DataFrame包含两种典型方法,分别是:选项:A、利用反射机制推断RDD模式B、使用编程方式定义RDD模式C、利用投影机制推断RDD模式D、利用互联机制推断RDD模式正确答案:【利用反射机制推断RDD模式#使用编程方式定义RDD模式】10、问题:使用编程方式定义RDD模式时,主要包括哪三个步骤:选项:A、制作“表头”B、制作“表中的记录”C、制作映射表D、把“表头”和“表中的记录”拼装在一起正确答案:【制作“表头”#制作“表中的记录”#把“表头”和“表中的记录”拼装在一起】第7章SparkStreaming单元测验1、问题:以下流计算框架中,哪个不是开源的:选项:A、IBMStreamBaseB、TwitterStormC、Yahoo!S4D、SparkStreaming正确答案:【IBMStreamBase】2、问题:下面关于SparkStreaming的描述错误的是:选项:A、SparkStreaming的基本原理是将实时输入数据流以时间片为单位进行拆分,然后采用Spark引擎以类似批处理的方式处理每个时间片数据B、SparkStreaming最主要的抽象是DStream(DiscretizedStream,离散化数据流),表示连续不断的数据流C、SparkStreaming可整合多种输入数据源,如Kafka、Flume、HDFS,甚至是普通的TCP套接字D、SparkStreaming的数据抽象是DataFrame正确答案:【SparkStreaming的数据抽象是DataFrame】3、问题:下面关于SparkStreaming和Storm的描述正确的是:选项:A、SparkStreaming无法实现毫秒级的流计算,而Storm可以实现毫秒级响应B、SparkStreaming可以实现毫秒级的流计算,而Storm无法实现毫秒级响应C、SparkStreaming和Storm都可以实现毫秒级的流计算D、SparkStreaming和Storm都无法实现毫秒级的流计算正确答案:【SparkStreaming无法实现毫秒级的流计算,而Storm可以实现毫秒级响应】4、问题:下面描述错误的是:选项:A、在RDD编程中需要生成一个SparkContext对象B、在SparkSQL编程中需要生成一个SparkSession对象C、运行一个SparkStreaming程序,就需要首先生成一个StreamingContext对象D、在SparkSQL编程中需要生成一个StreamingContext对象正确答案:【在SparkSQL编程中需要生成一个StreamingContext对象】5、问题:下面不属于SparkStreaming基本输入源的是:选项:A、文件流B、套接字流C、RDD队列流D、双向数据流正确答案:【双向数据流】6、问题:以下关于流数据特征的描述,哪些是正确的:选项:A、数据快速持续到达,潜在大小也许是无穷无尽的B、数据来源众多,格式复杂C、数据量大,但是不十分关注存储,一旦流数据中的某个元素经过处理,要么被丢弃,要么被归档存储D、数据顺序颠倒,或者不完整,系统无法控制将要处理的新到达的数据元素的顺序正确答案:【数据快速持续到达,潜在大小也许是无穷无尽的#数据来源众多,格式复杂#数据量大,但是不十分关注存储,一旦流数据中的某个元素经过处理,要么被丢弃,要么被归档存储#数据顺序颠倒,或者不完整,系统无法控制将要处理的新到达的数据元素的顺序】7、问题:流计算处理流程一般包括哪三个阶段:选项:A、数据实时采集B、数据实时计算C、数据汇总分析D、实时查询服务正确答案:【数据实时采集#数据实时计算#实时查询服务】8、问题:以下产品哪些属于日志采集组件:选项:A、ScribeB、GraphXC、FlumeD、MySQL正确答案:【Scribe#Flume】9、问题:流处理系统与传统的数据处理系统的不同之处在于:选项:A、流处理系统处理的是实时的数据,而传统的数据处理系统处理的是预先存储好的静态数据B、用户通过流处理系统获取的是实时结果,而通过传统的数据处理系统获取的是过去某一时刻的结果C、流处理系统无需用户主动发出查询,实时查询服务可以主动将实时结果推送给用户D、流处理系统处理的是历史的数据,而传统的数据处理系统处理的是实时的数据正确答案:【流处理系统处理的是实时的数据,而传统的数据处理系统处理的是预先存储好的静态数据#用户通过流处理系统获取的是实时结果,而通过传统的数据处理系统获取的是过去某一时刻的结果#流处理系统无需用户主动发出查询,实时查询服务可以主动将实时结果推送给用户】10、问题:编写SparkStreaming程序的基本步骤包括:选项:A、通过创建输入DStream(InputDstream)来定义输入源B、通过对DStream应用转换操作和输出操作来定义流计算C、调用StreamingContext对象的start()方法来开始接收数据和处理流程D、通过调用StreamingContext对象的awaitTermination()方法来等待流计算进程结束正确答案:【通过创建输入DStream(InputDstream)来定义输入源#通过对DStream应用转换操作和输出操作来定义流计算#调用StreamingContext对象的start()方法来开始接收数据和处理流程#通过调用StreamingContext对象的awaitTermination()方法来等待流计算进程结束】11、问题:DStream有状态转换操作包括哪两种:选项:A、update操作B、reduceByKey操作C、滑动窗口转换操作D、updateStateByKey操作正确答案:【滑动窗口转换操作#updateStateByKey操作】第8章SparkMLlib单元测验1、问题:下面论述中错误的是:选项:A、机器学习和人工智能是不存在关联关系的两个独立领域B、机器学习强调三个关键词:算法、经验、性能C、推荐系统、金融反欺诈、语音识别、自然语言处理和机器翻译、模式识别、智能控制等领域,都用到了机器学习的知识D、机器学习可以看作是一门人工智能的科学,该领域的主要研究对象是人工智能正确答案:【机器学习和人工智能是不存在关联关系的两个独立领域】2、问题:下面关于机器学习处理过程的描述,错误的是:选项:A、在数据的基础上,通过算法构建出模型并对模型进行评估B、评估的性能如果达到要求,就用该模型来测试其他的数据C、评估的性能如果达不到要求,就要调整算法来重新建立模型,再次进行评估D、通过算法构建出的模型不需要评估就可以用于其他数据的测试正确答案:【通过算法构建出的模型不需要评估就可以用于其他数据的测试】3、问题:下面关于机器学习流水线(PipeLine)的描述,错误的是:选项:A、流水线将多个工作流阶段(转换器和评估器)连接在一起,形成机器学习的工作流,并获得结果输出B、要构建一个机器学习流水线,首先需要定义流水线中的各个PipelineStageC、PipelineStage称为工作流阶段,包括转换器和评估器,比如指标提取和转换模型训练等D、流水线构建好以后,就是一个转换器(Transformer)正确答案:【流水线构建好以后,就是一个转换器(Transformer)】4、问题:下面关于评估器(Estimator)的描述错误的是:选项:A、评估器是学习算法或在训练数据上的训练方法的概念抽象B、在机器学习流水线里,评估器通常是被用来操作DataFrame数据并生成一个转换器C、评估器实现了方法transfrom(),它接受一个DataFrame并产生一个转换器D、评估器实现了方法fit(),它接受一个DataFrame并产生一个转换器正确答案:【评估器实现了方法transfrom(),它接受一个DataFrame并产生一个转换器】5、问题:下面关于转换器(Transformer)的描述错误的是:选项:A、转换器是一种可以将一个DataFrame转换为另一个DataFrame的算法B、技术上,转换器实现了一个方法fit(),它通过附加一个或多个列,将一个DataFrame转换为另一个DataFrameC、一个模型就是一个转换器,它把一个不包含预测标签的测试数据集DataFrame打上标签,转化成另一个包含预测标签的DataFrameD、技术上,转换器实现了一个方法transform(),它通过附加一个或多个列,将一个DataFrame转换为另一个DataFrame正确答案:【技术上,转换器实现了一个方法fit(),它通过附加一个或多个列,将一个DataFrame转换为另一个DataFrame】6、问题:下面的论述中,正确的是:选项:A、传统的机器学习算法,由于技术和单机存储的限制,大多只能在少量数据上使用B、利用MapReduce框架在全量数据上进行机器学习,这在一定程度上解决了统计随机性的问题,提高了机器学习的精度C、MapReduce可以高效支持迭代计算D、Spark无法高效支持迭代计算正确答案:【传统的机器学习算法,由于技术和单机存储的限制,大多只能在少量数据上使用#利用MapReduce框架在全量数据上进行机器学习,这在一定程度上解决了统计随机性的问题,提高了机器学习的精度】7、问题:下面关于SparkMLlib库的描述正确的是:选项:A、MLlib库从1.2版本以后分为两个包:spark.mllib和spark.mlB、spark.mllib包含基于DataFrame的原始算法APIC、spark.mllib包含基于RDD的原始算法APID、spark.ml则提供了基于RDD的、高层次的API正确答案:【MLlib库从1.2版本以后分为两个包:spark.mllib和spark.ml#spark.mllib包含基于RDD的原始算法API】8、问题:下面论述中正确的是:选项:A、DataFrame可容纳各种数据类型,与RDD数据集相比,它包含了模式(schema)信息,类似于传统数据库中的二维表格B、流水线用DataFrame来存储源数据C、转换器(Transformer)是一种可以将一个DataFrame转换为另一个DataFrame的算法D、评估器(Estimator)是一种可以将一个DataFrame转换为另一个DataFrame的算法正确答案:【DataFrame可容纳各种数据类型,与RDD数据集相比,它包含了模式(schema)信息,类似于传统数据库中的二维表格#流水线用DataFrame来存储源数据#转换器(Transformer)是一种可以将一个DataFrame转换为另一个DataFrame的算法】《Spark编程基础》期末考试1、问题:大数据技术及其代表性的软件种类很多,不同的技术有其不同应用场景,都对应着不同的大数据计算模式,请问软件产品Storm主要应用于以下哪种计算模式:选项:A、批处理计算B、流计算C、图计算D、查询分析计算正确答案:【流计算】2、问题:经过多年的发展,Hadoop生态系统不断完善和成熟,目前已经包含多个子项目,其中YARN的主要功能是选项:A、分布式并行编成模型B、数据仓库工具C、负责集群资源调度管理的组件D、分布式海量日志采集、聚合和传输系统正确答案:【负责集群资源调度管理的组件】3、问题:Hadoop生态系统中用于构建数据仓库并允许用户输入SQL语句进行查询的功能组件是选项:A、SparkB、PregelC、FlumeD、Hive正确答案:【Hive】4、问题:Hadoop的生态系统组件之一Sqoop的功能是选项:A、提供高可靠性、高可用、分布式的海量日志采集B、用来存储非结构化和半结构化的松散数据C、负责集群资源调度管理的组件D、用来在Hadoop和关系数据库之间的交换数据,改进数据的互操作性正确答案:【用来在Hadoop和关系数据库之间的交换数据,改进数据的互操作性】5、问题:下面输出与其他不一致的是选项:A、println(HelloWorld)B、print(HelloWorld\n)C、printf(Hello%s,World\n)D、valw=World;println(Hello$w)正确答案:【valw=World;println(Hello$w)】6、问题:对集合(Set)进行操作Set(2,0,1)+1+1-1之后的结果为选项:A、Set(2,0,1,1)B、Set(2,0,1)C、Set(2,0)D、以上均不正确正确答案:【Set(2,0)】7、问题:关于Map(book-5,pen-2).map(m=m._1-m._2*2)的结果,以下哪个是正确的选项:A、Map(bookbook-5,penpen-2)B、Map(bookbook-10,penpen-4)C、Map(book-10,pen-4)D、Map(book-5,pen-2,book-5,pen-2)正确答案:【Map(book-10,pen-4)】8、问题:关于元组Tuple说法错误的是选项:A、元组可以包含不同类型的元素B、元组是不可变的C、访问元组tuple第一个元素的方式为tuple._1D、元组最多只有2个元素正确答案:【元组最多只有2个元素】9、问题:以下对集合的描述有误的是选项:A、Set是一组没有先后次序的值B、Map是一组(键,值)对偶C、每个Scala集合特质或类都有一个带有apply方法的伴生对象,可以用此方法来构建该集合中的实例D、为了顾及安全性问题,Scala仅支持不可变集合,而不支持可变集合正确答案:【为了顾及安全性问题,Scala仅支持不可变集合,而不支持可变集合】10、问题:如果需要使用Scala库中的sqrt函数,如sqrt(2),下列引用包的方式错误的是选项:A、importscala.math._B、importsqrtC、importmath._D、importmath.sqrt正确答案:【importsqrt】11、问题:以下哪个不是Spark的组件?选项:A、SparkStreamingB、MLlibC、GraphXD、Flink正确答案:【Flink】12、问题:Task是Executor上的工作单元,运行于下面哪个组件上?选项:A、DriverProgramB、SparkMasterC、WorkerNodeD、ClusterManager正确答案:【WorkerNode】13、问题:下面哪个不是RDD的特点:选项:A、可分区B、可序列化C、可修改D、可持久化正确答案:【可修改】14、问题:spark-shell在启动时,master-url采用local[*]时,它的含义是:选项:A、使用任意个线程来本地化运行SparkB、使用与逻辑CPU个数相同数量的线程来本地化运行SparkC、使用与逻辑CPU个数相同数量的进程来本地化运行SparkD、使用单个线程来本地化运行Spark正确答案:【使用与逻辑CPU个数相同数量的线程来本地化运行Spark】15、问题:下面描述正确的是选项:A、Hadoop和Spark不能部署在同一个集群中B、Hadoop只包含了存储组件,不包含计算组件C、Spark是一个分布式计算框架,可以和Hadoop组合使用D、Spark和Hadoop是竞争关系,二者不能组合使用正确答案:【Spark是一个分布式计算框架,可以和Hadoop组合使用】16、问题:valarray=Array(“Hadoopisgood”,”Sparkisfast”,”Sparkisbetter”)vallines=sc.papallelize(array)valwords=lines.flatMap(line=line.split(“”))上述语句执行以后,words中的元素是:选项:A、“Hadoopisgood”,”Sparkisfast”,”Sparkisbetter”B、”Hadoop”,”is”,”good”,”Spark”,”is”,”fast”,”Spark”,”is”,”better”C、”Hadoop”,”Spark”,”fast”D、”Spark”,”is”,”fast”正确答案:【”Hadoop”,”is”,”good”,”Spark”,”is”,”fast”,”Spark”,”is”,”better”】17、问题:valrdd=sc.parallelize(Array(1,2,3,4,5))rdd.reduce((a,b)=a+b)上述语句执行的结果是:选项:A、15B、14C、13D、12正确答案:【15】18、问题:下面哪个方法是用来从文件系统中加载数据创建RDD的:选项:A、txtFile()B、textfile()C、textFile()D、parallelize()正确答案:【textFile()】19、问题:假设有一个RDD的名称为words,包含9个元素,分别是:(”Hadoop”,1),(”is”,1),(”good”,1),(”Spark”,1),(”is”,1),(”fast”,1),(”Spark”,1),(”is”,1),(”be

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论