《大数据开发技术上》课程期末复习题库.docx
《《大数据开发技术上》课程期末复习题库.docx》由会员分享,可在线阅读,更多相关《《大数据开发技术上》课程期末复习题库.docx(100页珍藏版)》请在冰豆网上搜索。
《大数据开发技术上》课程期末复习题库
《大数据开发技术(上)》课程复习题库
一、客观部分:
(单项选择、多项选择、不定项选择、判断)
(一)、判断部分
1、Spark取代Hadoop仅仅是取代MapReduce这种计算框架,Spark可以取代HDFS吗
答案:
错
2、Spark是Apache基金会的顶级项目
答案:
对
3、Spark在同一个应用中不能同时使用SparkSQL和Mllib
答案:
错
4、用户可以在HadoopYARN上运行Spark
答案:
对
5、用户可以在ApacheMesos上运行Spark
答案:
对
6、SparkSQL仅仅包括基本的SQL语法
答案:
错
7、SparkSQL包括基本的SQL语法和HiveQL语法
答案:
对
8、Scala是一种纯面向对象的语言,每个值都是对象。
答案:
对
9、Scala是ScalableLanguage的简写,是一门多范式的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。
答案:
对
10、Scala是ScalableLanguage的简写,是一门多范式的编程语言,设计初衷是不包括面向对象编程的特性。
答案:
错
11、Scala是ScalableLanguage的简写,是一门多范式的编程语言,设计初衷是不包括函数式编程的特性。
答案:
错
12、Scala其函数不能当成值来使用
答案:
错
13、Scala配备了一种表现型的系统,它以静态的方式进行抽象,以安全和连贯的方式进行使用。
答案:
对
14、Scala配备了一种表现型的系统,它以动态的方式进行抽象,以安全和连贯的方式进行使用。
答案:
错
15、Scala是不可扩展的
答案:
错
16、Scala中创建一个方法时经常用void表示该方法无返回值
答案:
错
17、Scala中用Unit表示无值,等同于Java中的void
答案:
对
18、Scala可以通过“var”来定义变量,通过“val”关键字来定义常量
答案:
对
19、Scala可以通过“val”来定义变量,通过“var”关键字来定义常量
答案:
错
20、val如同Java里面的非final变量,可以在它的声明周期中被多次赋值。
答案:
错
21、Scala中数组的第一个元素索引为1
答案:
错
22、Scala语言中提供的数组是用来存储动态大小的同类型元素
答案:
错
23、Scala调用匿名函数可以将函数赋值给一个常量或变量,然后通过常量名或变量名调用该函数
答案:
对
24、Scala中高阶函数可以使用函数作为参数,也可以使用函数作为输出结果。
答案:
对
25、Scala中高阶函数经常将只需要执行多次的函数定义为匿名函数作为参数
答案:
错
26、Scala中高阶函数可以产生新的函数,并将新的函数作为返回值。
答案:
对
27、Scala中++i和i++表示变量i自增1
答案:
错
28、Scala列表与数组非常相似,列表的所有元素可具有不同的类型。
答案:
错
29、Scala中列表是可变的
答案:
错
30、Scala列表中last返回列表最后一个元素
答案:
对
31、Scala列表中last返回一个列表,包含除了第一个元素之外的其他元素
答案:
错
32、ScalaSet(集合)是没有重复的对象集合,所有的元素都是唯一的
答案:
对
33、Scala集合分为可变的和不可变的集合
答案:
对
34、默认情况下,Scala使用的是可变集合
答案:
错
35、Scala中集合连接时如果元素有重复的就会移除重复的元素
答案:
对
36、Scala中元组是是一种可迭代的键值对(key/value)结构。
答案:
错
37、Scala中默认情况下使用的是可变的Map
答案:
错
38、Scala中Map的isEmpty函数在Map为空时返回true
答案:
对
39、Scala中Map的isEmpty函数在Map为空时返回false
答案:
错
40、Scala中Map合并时会移除重复的key
答案:
对
41、Scala中元组可以包含不同类型的元素
答案:
对
42、Scala函数组合器可以通过一个函数重新计算列表中所有元素,没有返回值
答案:
错
43、Scala函数组合器中foreach和map类似,有返回值
答案:
错
44、Scala函数组合器中filter过滤移除使得传入的函数的返回值为true的元素
答案:
错
45、Scala函数组合器中flatten可以把嵌套的结构展开
答案:
对
46、Scala函数组合器中flatmap结合了map和flatten的功能,接收一个可以处理嵌套列表的函数,然后把返回结果连接起来
答案:
对
47、Scala函数组合器中groupBy是对集合中的元素进行分组操作,结果得到的是一个Map
答案:
对
48、Scala中允许集成多个父类
答案:
错
49、Scala在子类中重写超类的抽象方法时,需要使用override关键字
答案:
错
50、RDD是一个可读写的数据结构
答案:
错
51、SparkContext类中parallelize方法可将单机数据创建为分布式RDD
答案:
对
52、SparkContext类中makeRDD方法不可将单机数据创建为分布式RDD
答案:
错
53、RDD的转换操作通过某种函数将一个RDD转换为一个新的RDD,但是转换操作是懒操作,不会立刻执行计算。
答案:
对
54、RDD的行动操作是用于触发转换操作的操作,这个时候才会真正开始进行计算。
答案:
对
55、RDD的行动操作通过某种函数将一个RDD转换为一个新的RDD,但是转换操作是懒操作,不会立刻执行计算。
答案:
错
56、RDD的转换操作是用于触发转换操作的操作,这个时候才会真正开始进行计算。
答案:
错
57、RDD的map操作不会改变RDD的分区数目
答案:
对
58、RDD的flatMap操作是将函数应用于RDD之中的每一个元素,将返回的迭代器(数组、列表等)中的所有元素构成新的RDD。
答案:
对
59、RDD的mapPartitions操作会导致Partitions数量的变化
答案:
错
60、RDD的sortBy排序默认是升序
答案:
对
61、RDD的sortBy函数包含参数numPartitions,该参数决定排序后的RDD的分区个数,默认排序后的分区个数和排序之前的个数相等,即为this.partitions.size。
答案:
对
62、RDD的filter过滤会将返回值为true的过滤掉
答案:
错
63、RDD的filter函数返回一个存储符合过滤条件的所有元素的新RDD
答案:
对
64、RDD的union函数会将两个RDD元素合并成一个并且去处重复元素
答案:
错
65、RDD的subtract用于用于将前一个RDD中在后一个RDD出现的元素删除
答案:
对
66、RDD的subtract用于用于将后一个RDD中在前一个RDD出现的元素删除
答案:
错
67、RDD的intersection方法用于求出两个RDD的共同元素
答案:
对
68、RDD的cartesian函数是笛卡尔积,也就是将两个集合的元素两两组合成一组
答案:
对
69、键值对RDD由一组组的键值对组成,这些RDD被称为PairRDD。
答案:
对
70、PairRDD中mapValues是针对键值对(Key,Value)类型的数据中的key和Value进行Map操作
答案:
错
71、PairRDD中groupBy(func)func返回key,传入的RDD的各个元素根据这个key进行分组。
答案:
对
72、PairRDD中groupByKey是对具有相同键的值进行分组
答案:
对
73、PairRDD中reduceByKey的功能是合并具有相同键的值,作用域是KeyValue类型的键值对,并且是只对每个Key的Value进行处理
答案:
对
74、RDD中join操作最后只返回两个RDD都存在的键的连接结果。
答案:
对
75、RDD中join操作根据键对两个RDD进行内连接,将两个RDD中键相同的数据的值相加。
答案:
错
76、RDD中zip操作要求两个RDD的partition数量以及元素数量都相同
答案:
对
77、RDD中combineByKey不允许返回类型与输入数据类型不同的返回值
答案:
错
78、RDD中的collect函数是一个行动操作,把RDD所有元素转换成数组并返回到Driver端,适用于大数据处理后的返回。
答案:
错
79、SparkRDD是惰性求值的,如果需要对一个RDD多次使用,那么调用行动操作时每次都需要重复计算RDD以及它的依赖。
答案:
对
80、Spark持久化RDD后,在再一次需要计算该RDD时将需要重新计算
答案:
错
81、如果其中有一个节点因为某种原因出现故障时,Spark需要用到缓存数据时不会重算丢失的分区,因此不需要计算所有的分区。
答案:
错
82、Spark对只有未曾设置存储级别的RDD才能设置存储级别,设置了存储级别的RDD不能修改其存储级别
答案:
对
83、Spark只有键值对类型的RDD才能设置分区方式
答案:
对
84、Spark系统是根据一个针对键的函数对元素进行分区的,虽然不能控制每个键具体划分到哪个节点,但是可以控制相同的键落在同一个分区
答案:
对
85、SparkSQL可被视为一个分布式的SQL查询引擎,并且提供了一个叫做DataFrame的可编程抽象数据模型
答案:
对
86、DataFrame是一个分布式的Row对象的数据集合
答案:
对
87、Spark可以通过反射机制推断RDD模式
答案:
对
88、Spark的DataFrame只有在提交Action操作时才会进行计算
答案:
对
89、Spark中DataFrame的查询操作也是一个懒操作,仅仅生成一个查询计划,只有触发Action操作才会进行计算并返回查询结果。
答案:
对
90、SparkStreaming中时间片也可称为批处理时间间隔(batchinterval),时间片是人为地对数据进行定量的标准,作为拆分数据的依据,一个时间片的数据对应一个RDD实例。
答案:
对
91、SparkStreming中Dstream是一种抽象的离散流
答案:
对
92、SparkStreming中DStream可以通过外部数据源(Kafka,Flume,Twitter等)来获取,也可以通过现有DStream的高级操作(Transformation操作)获得
答案:
对
93、SparkStreming中DStream代表着一系列的持续的RDDs
答案:
对
94、SparkStreming中对DStream的任何操作都会转化成对底层RDDs的操作
答案:
对
95、Dstream输出操作中foreachRDD的正确用法是使用rdd.foreachPartition方法创建一个单独的连接对象,然后使用该连接对象输出所有RDD分区中的数据到外部系统
答案:
对
96、Dstream提供了sort方法
答案:
错
97、图是由一个有穷非空顶点集合和一个描述顶点之间多对多关系的边集合组成的数据结构。
答案:
98、图(Graph)是一种复杂的非线性结构
答案:
对
99、图的出度数是以当前顶点为起点的边的数量
答案:
对
100、SparkGraphX课通过mapVertices[VD2:
ClassTag](map:
(VertexId,VD)=>VD2)实现对顶点属性经过变换生成新的图
答案:
对
101、SparkGraphX课通过mapEdges[ED2](map:
Edge[ED]=>ED2)实现对边属性经过变换生成新的图
答案:
对
102、SparkGraphX课通过mapTriplets[ED2:
ClassTag](map:
EdgeTriplet[VD,ED]=>ED2)
实现对边属性经过变换生成新的图
答案:
对
103、MLlib由一些通用的学习算法和工具组成,包括分类、回归、聚类、协同过滤、降维等,同时还包括底层的优化原语和高层的管道API。
答案:
对
104、mllib.feature中存在一些常见的特征转化方法,主要包括创建特征向量和标准化数据
答案:
对
105、MLlib中Normalizer是一个转换器,它可以将多行向量输入转化为统一的形式。
答案:
对
106、MLlib中StandardScaler处理的对象是每一列,也就是每一维特征,将特征标准化为单位标准差或是0均值,或是0均值单位标准差。
答案:
对
107、聚类是一种无监督学习的方法,用于将高度相似的数据分到一类中
答案:
对
(二)、选择部分
1、MapReudce不适合()任务
A.大数据计算
B.迭代
C.交互式
D.离线分析
答案:
BC
2、Spark是一个()计算框架
A.快速
B.分布式
C.可扩展
D.容错
答案:
ABCD
3、一般情况下,对于迭代次数较多的应用程序,Spark程序在内存中的运行速度是HadoopMapReduce运行速度的()多倍
A.2
B.10
C.100
D.1000
答案:
C
4、Spark支持使用()语言编写应用
A.Scala
B.Python
C.Java
D.R
答案:
ABCD
5、Spark包含的高级工具有()
A.SparkSQL
B.Mllib
C.GraphX
D.parkStreaming
答案:
ABCD
6、Spark可以从()分布式文件系统中读取数据
A.HDFS
B.Hbase
C.Hive
D.Tachyon
答案:
ABCD
7、()是Spark的核心,提供底层框架及核心支持
A.SparkCore
B.SparkSQL
C.SparkStreaming
D.Mllib
答案:
A
8、Spark中的RDD的说法正确的是()
A.弹性分布式数据集
B.是Spark中最基本的数据抽象
C.代表一个可变的集合
D.代表的集合里面的元素可并行计算
答案:
ABD
9、SparkCore包含的功能有()
A.任务调度
B.内存管理
C.SQL查询
D.容错机制
答案:
ABD
10、Spark中运行交互式SQL查询的大规模并行查询引擎是()
A.SparkCore
B.SparkSQL
C.BlinkDB
D.Mllib
答案:
C
11、SparkSQL读取的数据源支持()
A.Hive表
B.Parquent文件
C.JSON数据
D.关系数据库
答案:
ABCD
12、SparkStreaming支持实时流式数据,包括()
A.Web服务器日志文件
B.社交网络数据
C.实时交易数据
D.类似Kafka的信息数据
答案:
ABCD
13、MLBase包括()
A.Mllib
B.MLI
C.SparkR
D.GraphX
答案:
AB
14、Mllib实现了一些常见的机器学习算法和应用程序,包括()
A.分类
B.聚类
C.降维
D.回归
答案:
ABCD
15、()是Spark的数据挖掘算法库
A.SparkCore
B.BlinkDB
C.GraphX
D.Mllib
答案:
D
16、()可以解决图计算问题
A.SparkCore
B.BlinkDB
C.GraphX
D.Mllib
答案:
C
17、()是AMPLab发布的一个R开发包,使得R摆脱单机运行的命运,可以作为Spark的Job运行在集群上
A.SparkR
B.BlinkDB
C.GraphX
D.Mllib
答案:
A
18、Scala源代码被编译成()字节码,所以它可以运行于JVM之上
A.Spark
B.Scala
C.Java
D.JDK
答案:
C
19、Scala类通过子类化和基于灵活的混合类来进行扩展,作为##的一个可靠性解决方案
A.多态
B.虚函数
C.派生
D.多重继承
答案:
D
20、Scala支持()
A.匿名函数
B.高阶函数
C.函数嵌套
D.柯里化
答案:
ABCD
21、Scala系统支持()作为对象成员
A.通用类
B.内部类
C.抽象类
D.复合类
答案:
ABCD
22、Scala支持()
A.显式参数
B.隐式参数
C.转换
D.多态方法
答案:
ABCD
23、以下哪个不是Scala的数据类型()
A.Int
B.ShortInt
C.Long
D.Any
答案:
B
24、以下哪个不是Scala的数据类型()
A.AnyRef
B.Anything
C.NULL
D.Nothing
答案:
B
25、以下哪个是Scala的数据类型()
A.Any
B.NULL
C.Nothing
D.AnyRef
答案:
ABCD
26、Scala通过()来定义变量
A.val
B.val
C.define
D.def
答案:
A
27、Scala通过()来定义常量
A.val
B.val
C.define
D.def
答案:
B
28、Scala中合并两个数组的方法是()
A.line
B.add
C.append
D.concat
答案:
D
29、Scala中哪个函数可以创建区间数组()
A.concat
B.ofDim
C.fill
D.range
答案:
D
30、Scala中如果函数无返回值,则函数返回类型为()
A.NULL
B.Void
C.Nothing
D.Unit
答案:
D
31、Scala函数支持()
A.递归函数
B.高阶函数
C.柯里化
D.匿名函数
答案:
ABCD
32、Scala中如果函数中的每个参数在函数中最多只出现一次,则可以使用占位符()代替参数。
A.井号
B.下划线
C.斜杠
D.逗号
答案:
B
33、递归函数意味着函数可以调用它()
A.其他函数
B.主函数
C.子函数
D.自身
答案:
D
34、vara=10;
while(a<20){
a+=1;
}
共循环了()次
A.9
B.10
C.11
D.12
答案:
B
35、vara=10;
do{
a+=1;
}while(a<20)
共循环了()次
A.9
B.10
C.11
D.12
答案:
B
36、vara=10;
for(a<-1to20){
println(a);
}
共循环了()次
A.10
B.11
C.20
D.19
答案:
C
37、vara=10;
for(a<-1until20){
println(a);
}
共循环了()次
A.10
B.11
C.20
D.19
答案:
D
38、下列Scala代码应输出():
vara=0;
varb=0
varsum=0;
for(a<-1until3;b<-1until3){
sum+=a+b;
}
println(sum);
A.36
B.35
C.11
D.12
答案:
D
39、Scala列表中()可以表示为一个空列表
A.Nill
B.Nil
C.List
D.None
答案:
B
40、Scala中构造列表的两个基本单位是()
A.Nil
B.Nill
C.:
:
D.List
答案:
AC
41、Scala列表方法中丢弃前n个元素,并返回新列表的方法是()
A.drop
B.head
C.filter
D.init
答案:
A
42、Scala列表方法中输出符号指定条件的所有元素的方法是()
A.drop
B.head
C.filter
D.init
答案:
C
43、Scala列表方法中获取列表的第一个元素的方法是()
A.drop
B.head
C.filter
D.init
答案:
B
44、Scala列表方法中返回所有元素,除了最后一个的方法是()
A.drop
B.head
C.filter
D.init
答案:
D
45、Scala列表方法中将函数应用到列表的所有元素的方法是()
A.filter
B.foreach
C.map
D.mkString
答案:
B
46、Scala列表方法中通过给定的方法将所有元素重新计算的方法是()
A.filter
B.foreach
C.map
D.mkString
答案:
C
47、Scala列表方法中使用分隔符将列表所有元素作为字符串显示的方法是()
A.filter
B.foreach
C.map
D.mkString
答案:
D
48、Scala中()方法返回一个列表,包含除了第一个元素之外的其他元素
A.head
B.init
C.tail
D.last
答案:
C
49、Scala中()方法返回一个列表,包含除了最后一个元素之外的其他元素
A.head
B.init
C.tail
D.last
答案:
B
50、Scala中可以用()方法来连接两个或多个列表
A.:
:
B.#:
:
:
C.List.:
:
:
()
D.List.concat()
答案:
BCD
51、Scala中使用()方法来查看两个集合的交集元素
A.Set.concat
B.Set.&
C.Set.&&
D.Set.intersect
答案:
BD
52、Scala中使用()方法来连接两个集合
A.append
B.++
C.concat
D.Set.++()
答案:
BD
53、Scala中()方法返回Map所有的key
A.key
B.keys
C.value
D.values
答案:
B
54、Scala中()方法返回Map所有的value
A.key
B.keys
C.value
D.values
答案:
D
55、Scala元组的值是通过将单个的值包含在()中构成的
A.小括号
B.中括号
C.大括号
D.尖括号
答案:
A
56、Scala函数组合器可以通过一个函数重新计算列表中所有元素,并且返回一个相同数目元素的新列表的方法是()
A.map
B.foreach
C.flatten
D.flatmap
答案:
A
57、Scala函数组合器可以通过一个函数重新计算列表中所有元素,但是没有返回值的方法是()
A.map
B.foreach
C.flatten
D.flatmap
答案:
B
58、Scala函数组合器可以过滤移除使得传入的函数的返回值为false的元素的方法是()