《Spark大数据分析与内存计算》——第四章

第四章作业及答案

快捷查找: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
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值