
《Spark大数据分析与内存计算》——第四章
Spark的共享变量,分为累加器accumulator与广播变量 Broadcast
第四章作业及答案
快捷查找:Ctrl+F 在搜索框中输入题目
一. 单选题(共24题)
1. (单选题)什么是一个全局共享变量,可以完成对信息进行聚合操作。
A. 累加器
B. 局部变量
C. 全局变量
D. 广播变量
正确答案: A:累加器 ;
2. (单选题)什么对Key-Value结构的RDD先执行mapValue操作,再执行压平的操作,类似map与flatMap的区别
A. mapValues
B. combineByKey
C. reduceByKey
D. flatMapValues
正确答案: D:flatMapValues ;
3. (单选题)什么在不改变原有Key键的基础上,对Key-Value结构RDD的Vaule值进行一个map操作,分区保持不变。
A. flatMapValues
B. reduceByKey
C. combineByKey
D. mapValues
正确答案: D:mapValues ;
4. (单选题)什么操作对源RDD进行去重后返回一个新的RDD。
A. intersection
B. distinct
C. union
D. pipe
正确答案: B:distinct ;
5. (单选题)Spark中因为算子中的真正逻辑是发送到Executor中去运行的,数据是分区的,所以当所以当Executor中需要引用外部变量时,需要使用什么
A. 广播变量
B. 累加器
C. 全局变量
D. 局部变量
正确答案: A:广播变量 ;
6. (单选题)什么操作会在一个已存在的 RDD上创建一个新的 RDD,但实际的计算并没有执行,仅仅记录操作过程
A. transformations
B. actions
C. update
D. insert
正确答案: A:transformations ;
7. (单选题)什么函数不但决定了RDD本身的分片数量,也决定了parent RDD Shuffle输出时的分片数量
A. maven
B. Partitioner
C. reduce
D. map
正确答案: B:Partitioner ;
8. (单选题)什么命令通过使用 shell 命令来将每个 RDD 的分区给 Pipe。
A. union
B. distinct
C. pipe
D. intersection
正确答案: C:pipe ;
9. (单选题)什么即是RDD的分片函数
A. maven
B. map
C. reduce
D. Partitioner
正确答案: D:Partitioner ;
10. (单选题)什么在驱动程序中,以数组的形式返回数据集的所有元素。
A. first
B. reduce
C. collect
D. count
正确答案: C:collect ;
11. (单选题)什么操作返回RDD的第一个元素
A. count
B. collect
C. reduce
D. first
正确答案: D:first ;
12. (单选题)什么会遍历分区中的所有元素,如果这是一个新的元素,函数会调用createCombiner创建那个key对应的累加器初始值。
A. mapValues
B. flatMapValues
C. combineByKey
D. reduceByKey
正确答案: C:combineByKey ;
13. (单选题)什么操作触发时,会执行 RDD记录的所有运行transformations操作,并计算结果,结果可返回到 driver 程序,也可保存的相关存储系统中。
A. update
B. insert
C. transformations
D. actions
正确答案: D:actions;
14. (单选题)什么通过func函数聚集RDD中的所有元素,这个功能必须是可交换且可并联的。
A. first
B. count
C. collect
D. reduce
正确答案: D:reduce ;
15. (单选题)什么操作对源RDD和参数RDD求并集后返回一个新的RDD。
A. intersection
B. distinct
C. pipe
D. union
正确答案: D:union;
16. (单选题)什么翻译为弹性分布式数据集,是Spark core中最核心的部分。
A. RDD
B. Spark SQL
C. MLlib
D. Spark Streaming
正确答案: A:RDD ;
17. (单选题)什么根据Key进行分组,对分组内的元素进行操作。输出分区数和指定分区数相同,如果没有指定分区数,安装默认的并行级别,默认分区规则是哈希分区。
A. reduceByKey
B. combineByKey
C. mapValues
D. flatMapValues
正确答案: A:reduceByKey ;
18. (单选题)什么是指每个父RDD的一个Partition最多被子RDD的一个Partition所使用
A. 宽依赖
B. 窄依赖
C. 不依赖
D. 全依赖
正确答案: B:窄依赖 ;
19. (单选题)RDD算子包括几种类型
A. 2
B. 3
C. 4
D. 1
正确答案: A:2;
20. (单选题)Spark为包含键值对(key-value)类型的RDD提供了一些专有的操作。这些RDD被称为
A. KeyRDD
B. PairRDD
C. key-value RDD
D. Value RDD
正确答案: B:PairRDD ;
21. (单选题) 什么操作返回RDD的元素个数
A. count
B. first
C. collect
D. reduce
正确答案: A:count ;
22. (单选题)什么是spark最基本的数据抽象。
A. Spark Streaming
B. MLlib
C. Spark SQL
D. RDD
正确答案: D:RDD;
23. (单选题)什么是指一个父RDD的Partition会被多个子RDD的Partition所使用
A. 宽依赖
B. 全依赖
C. 窄依赖
D. 不依赖
正确答案: A:宽依赖 ;
24. (单选题)什么操作对源RDD和参数RDD求交集后返回一个新的RDD。
A. union
B. intersection
C. distinct
D. pipe
正确答案: B:intersection ;
二. 多选题(共9题)
25. (多选题)action算子包括
A. reduce
B. first
C. collect
D. count
正确答案: ABCD:reduce ; first ; collect; count ;
26. (多选题)当前Spark中实现了两种类型的分片函数,分别为
A. ArrangePartitioner
B. ListPartitioner
C. HashPartitioner
D. RangePartitioner
正确答案: CD:HashPartitioner ; RangePartitioner ;
27. (多选题)Spark共享变量包括
A. 局部变量
B. 累加器
C. 全局变量
D. 广播变量
正确答案: BD:累加器 ; 广播变量 ;
28. (多选题)创建 RDD的方式,分别为
A. 通过一个已存在的集合进行创建
B. 外部 Datasets(数据集)
C. 内部Datasets(数据集)
正确答案: AB:通过一个已存在的集合进行创建 ; 外部 Datasets(数据集) ;
29. (多选题)transform算子包括
A. filter
B. mapPartitions
C. map
D. flatMap
正确答案: ABCD:filter ; mapPartitions ; map ; flatMap ;
30. (多选题)RDD算子类型包括
A. 查询
B. 动作
C. 转换
D. 插入
正确答案: BC:动作 ; 转换 ;
31. (多选题)属于RDD Key-value操作的是
A. reduceByKey
B. mapValues
C. flatMapValues
D. combineByKey
正确答案: ABCD:reduceByKey; mapValues ; flatMapValues ; combineByKey;
32. (多选题)RDD在Lineage依赖方面分为两种为
A. 窄依赖
B. 全依赖
C. 不依赖
D. 宽依赖
正确答案: AD:窄依赖; 宽依赖 ;
33. (多选题)Transformation处理数据为Key-Value形式的算子大致可以分为一下几种
A. 输入分区
B. 输出分区
C. 连接
D. 聚集
正确答案: ABCD:输入分区 ; 输出分区 ; 连接 ; 聚集;
三. 判断题(共16题)
34. (判断题)RDD(Resilient Distributed Datasets)翻译为弹性分布式数据集,是Spark core中最核心的部分。
A. 对
B. 错
正确答案: 对
35. (判断题)RDD中的批量操作,运行时将根据数据存放的位置来调度任务,可对比与MapReduce中的数据本地化读取特点。
A. 对
B. 错
正确答案: 对
36. (判断题)当前Spark中实现了两种类型的分片函数,一个是基于哈希的HashPartitioner,另外一个是基于范围的RangePartitioner。
A. 对
B. 错
正确答案: 对
37. (判断题)Partitioner函数不但决定了RDD本身的分片数量,也决定了parent RDD Shuffle输出时的分片数量。
A. 对
B. 错
正确答案: 对
38. (判断题)RDD只支持粗粒度转换,即在大量记录上执行的单个操作。将创建RDD的一系列Lineage(即血统)记录下来,以便恢复丢失的分区。
A. 对
B. 错
正确答案: 对
39. (判断题)RDD在Lineage依赖方面分为两种NarrowDependencies(窄依赖)与WideDependencies(宽依赖)用来解决数据容错的高效性。
A. 对
B. 错
正确答案: 对
40. (判断题)一般来说窄依赖的计算效率要低于宽依赖。
A. 对
B. 错
正确答案: 错
41. (判断题)transformations操作会在一个已存在的 RDD上创建一个新的 RDD,但实际的计算并没有执行,仅仅记录操作过程,所有的计算都发生在actions环节。
A. 对
B. 错
正确答案: 对
42. (判断题)对join操作有两种情况:如果两个RDD在进行join操作时,一个RDD的partition仅仅和另一个RDD中已知个数的Partition进行join,那么这种类型的join操作就是窄依赖。
A. 对
B. 错
正确答案: 对
43. (判断题)窄依赖是指每个父RDD的一个Partition可被子RDD的多个Partition所使用。
A. 对
B. 错
正确答案: 错
44. (判断题) actions操作触发时,会执行 RDD记录的所有运行transformations操作,并计算结果,结果可返回到 driver 程序,也可保存的相关存储系统中。
A. 对
B. 错
正确答案: 对
45. (判断题)在对Spark的操作中,定义纯Python方法会降低应用程序的速度,因为Spark需要在Python解释器和JVM之间连续切换。所以要尽可能的使用内置的Spark算子。
A. 对
B. 错
正确答案: 对
46. (判断题)窄依赖不仅包含一对一的窄依赖,还包含一对固定个数的窄依赖。
A. 对
B. 错
正确答案: 对
47. (判断题)Spark的全局共享变量,可以完成对信息进行聚合操作。
A. 对
B. 错
正确答案: 对
48. (判断题)Spark为包含键值对(key-value)类型的RDD提供了一些专有的操作,这些RDD被称为PairRDD。
A. 对
B. 错
正确答案: 对
49. (判断题)Spark的共享变量,分为累加器accumulator与广播变量 Broadcast。
A. 对
B. 错
正确答案: 对
更多推荐
所有评论(0)