点击下载练习题word文档!
点击下载RDD编程笔记!
编程题:

rddobj=sc. textFile("d: /words. txt"). flatMap(_ .split("")) . map((_ _,1)). reduceByKey(_+_ .)
rddobj . foreach(println)

1.(1.5分)单选题
1.5
下列选项中,哪个不属于消息系统()。

A Kafka
B RabbitMQ
C ActiveMQ
D Zookeeper
参考答案: D
解析:

2.(1.5分)单选题
1.5
下列选项中,说法正确的是()

A 批处理时间间隔必须是窗口滑动时间间隔的整数倍
B Kafka是SparkStreaming的基础数据源
C reduce(func)是DStream的输出操作
D DStream不可以通过外部数据源获取
参考答案: B
解析:

3.(1.5分)单选题
1.5
下列选项中,哪个不属于消息系统()。

A Kafka
B RabbitMQ
C ActiveMQ
D Zookeeper
参考答案: D
解析:

4.(1.5分)单选题
1.5
DStream的转换操作方法中,哪个方法可以直接调用RDD上的操作方法()。

A countByKey()
B updateStateByKey(func)
C cogroup(otherStream,[numTasks])
D transform(func)
参考答案: D
解析:

5.(1.5分)单选题
1.5
DStream的输出操作,不包括()。

A foreachRDD(func)
B print()
C flatMap(func)
D saveAsTextFiles(prefix)
参考答案: C
解析:

6.(1.5分)单选题
1.5
以下不属于实时计算框架的是()。

A Spark Streaming
B Flink
C Storm
D Spark SQL
参考答案: D
解析:

7.(1.5分)单选题
1.5
Spark Streaming中对DStream的转换操作会转变成对()的操作。

A sql
B dataset
C rdd
D dataframe
参考答案: C
解析:

8.(1.5分)单选题
1.5
关于DStream窗口操作函数,以下说法错误的是()。

A window()返回基于源DStream的窗口进行批计算后的一个新的DStream
B countByWindow()返回基于滑动窗口的DStream中的元素数
C reduceByWindow()做聚合操作并返回一个新的DStream
D 以上说法都不对
参考答案: D
解析:

9.(1.5分)单选题
1.5
关于Spark Streaming的优点,不包括哪个()

A 易用性
B 容错性
C 易整合性
D 低吞吐量
参考答案: D
解析:

10.(1.5分)单选题
1.5
HBase官方版本不可以安装在什么操作系统上?()

A Ubuntu
B RedHat
C CentOS
D Windows
参考答案: D
解析:

11.(1.5分)单选题
1.5
下列选项中,HBase是将哪个作为其文件存储系统的?()

A HDFS
B GFS
C MySQL
D MongoDB
参考答案: A
解析:

12.(1.5分)单选题
1.5
关于HBase的数据模型,以下说法错误的是()

A 每个HBase表中只能有一个行键
B HBase表的列是由列族名、限定符以及列名组成的。
C 列族中只能包括一个列
D Timestamp时间戳通常作为数据的版本号
参考答案: C
解析:

13.(1.5分)单选题
1.5
当MemStore存储的数据达到一个阈值()时,MemStore里面的数据就被flush到StoreFile文件。

A 128MB
B 256MB
C 512MB
D 64MB
参考答案: A
解析:

14.(1.5分)单选题
1.5
kafka集群中消息的消费模式有两种,分别是()

A 异步模式和同步模式
B 推送模式和拉取模式
C 并发模式和串行模式
D 独立模式和集群模式
参考答案: B
解析:

15.(1.5分)单选题
1.5
kafka集群中消息的传递模式有两种,分别是()

A 点对点模式和发布订阅模式
B 点对点模式和点对面模式
C 异步模式和同步模式
D 独立模式和集群模式
参考答案: A
解析:

16.(1.5分)单选题
1.5
关于kafka,以下描述错误的是()

A kafka使用scala和java语言编写的
B kafka是一个开源的流处理平台
C kafka只能在离线的大数据框架中处理数据
D kafka是分布式消息系统
参考答案: C
解析:

17.(1.5分)单选题
1.5
关于kafka的优点,不包括以下哪项()。

A 解耦
B 高吞吐量
C 高延迟
D 扩展性
参考答案: C
解析:

18.(1.5分)单选题
1.5
kafka的重要组件,不包括以下哪项()。

A Topic主题
B Partition分区
C Leader领导者
D MySQL组件
参考答案: D
解析:

19.(1.5分)单选题
1.5
以下哪项中,哪个选项是每个分区消息的唯一序列标识?()。

A Topic
B Broker
C Offset
D Partition
参考答案: C
解析:

20.(1.5分)单选题
1.5
关于SparkSQL,以下描述错误的是()

A SparkSQL使用的数据抽象并非是DataFrame,而是RDD
B 在Spark的早期版本中,DataFrame被称为SchemaRDD
C DataFrame是一种以RDD为基础的分布式数据集
D DataFrame可以完成RDD的绝大多数功能
参考答案: A
解析:

21.(1.5分)单选题
1.5
关于DataFrame与RDD在结构上的区别,以下描述错误的是()

A DataFrame可以看作是分布式的Row对象的集合,在二维表数据集的每一列都带有名称和类型。
B RDD是分布式的Java对象的集合
C RDD在转换数据形式时效率相对较高
D DataFrame提供了比RDD更丰富的算子
参考答案: C
解析:

22.(1.5分)单选题
1.5
关于DataFrame的优势,以下描述错误的是()

A DataFrame提升了Spark框架的执行效率
B DataFrame减少了数据读取时间
C DataFrame可以优化执行计划
D DataFrame可以完全替换RDD
参考答案: D
解析:

23.(1.5分)单选题
1.5
将一个RDD转换为DataFrame的方法是()

A dataFrame()
B toDataFrame()
C DF()
D toDF()
参考答案: D
解析:

24.(1.5分)单选题
1.5
SparkSQL可以处理的数据源包括()

A Hive表
B Hive表、数据文件
C Hive表、数据文件、RDD
D Hive表、数据文件、RDD、外部数据库
参考答案: D
解析:

25.(1.5分)单选题
1.5
SparkSQL中,model函数可以接收的参数有哪些()

A Override、Ignore
B Override、Ignore、Append
C Ignore、Append、ErrorIfExists
D Override、Ignore、Append、ErrorIfExists
参考答案: D
解析:

26.(1.5分)单选题
1.5
关于SparkSQL,以下说法正确的是()

A HiveContext继承了SqlContext
B DataFrame其实就是RDD
C HiveContext只支持SQL语法解析器
D SparkSQL的前身是Hive
参考答案: A
解析:

27.(1.5分)单选题
1.5
Dataset最终在()版本中被定义成Spark新特性

A Spark1.6
B Spark1.8
C Spark2.0
D Spark2.2
参考答案: C
解析:

28.(1.5分)单选题
1.5
关于Dataset,下列说法错误的是()

A Dataset能从RDD中构建
B Dataset提供了特定域对象中的弱类型集合
C Dataset结合了RDD和DataFrame的优点
D Dataset可以通过SparkSession中的createDataset来创建。
参考答案: B
解析:

29.(1.5分)单选题
1.5
下列选项中,()不属于HBase的特点

A 面向列
B 扩展性
C 多版本
D 容量小
参考答案: D
解析:

30.(1.5分)单选题
1.5
下列方法或属性中,哪个可以正确获取数组arr的长度?

A count()
B take()
C tail()
D length
参考答案: D
解析:

31.(1.5分)单选题
1.5
下列关于List的定义,哪个是错误的(  )

A val list=List(1,22,3)
B val list=List(“Hello”,”Scala”)
C val list:String=List(“A”,”B”)
D val list=ListInt
参考答案: C
解析:

32.(1.5分)单选题
1.5
在Scala中,获取元组的值是通过(  )

A 下划线加脚标
B 下标
C 索引
D 键名称
参考答案: A
解析:

33.(1.5分)单选题
1.5
在Scala中,模式匹配是由关键字(  )组成的

A switch case
B switch default
C match switch
D match case
参考答案: D
解析:

34.(1.5分)单选题
1.5
下列选项中,哪个不是Spark生态系统中的组件(  )

A Spark Streaming
B Mlib
C Graphx
D Spark R
参考答案: D
解析:

35.(1.5分)单选题
1.5
下面哪个端口不是Spark自带服务的端口(  )

A 8080
B 4040
C 8090
D 18080
参考答案: C
解析:

36.(1.5分)单选题
1.5
下列选项中,针对Spark运行的基本流程哪个说法是错误的(  )

A Driver端提交任务,向Master申请资源
B Master与Worker进行TCP通信,使得Worker启动Executor
C Executor启动会主动连接Driver,通过Driver-> Master->WorkExecutor,从而得到Driver在哪
D Driver 会产生Task,提交给Executor中启动Task去做真正的计算
参考答案: B
解析:

37.(1.5分)单选题
0
下列方法中,不能创建RDD的方法是?(  )

A makeRDD
B parallelize
C textFile
D testFile
参考答案: D
解析:

38.(1.5分)单选题
1.5
下列选项中,哪个不属于转换算子操作?(  )

A filter(func)
B map(func)
C reduce(func)
D reduceByKey(func)
参考答案: C
解析:

39.(1.5分)单选题
1.5
下列选项中,能使RDD产生宽依赖的是?(  )

A map(func)
B filter(func)
C union
D groupByKey()
参考答案: D
解析:

40.(1.5分)单选题
1.5
下列选项中,哪个是Scala编译后文件的扩展名?

A .class
B .bash
C .pyc
D .sc
参考答案: A
解析:

41.(1.5分)多选题
1.5
Spark集群的部署模式有( )。

A Standalone模式
B Yarn模式
C Local模式
D mesos模式
参考答案: A B D
解析:

42.(1.5分)多选题
0
Spark集群的运行框架由( )、Cluster Manage和( ) 组成。

A Task
B SparkContext
C Worker
D Executor
参考答案: B C
解析:

43.(1.5分)多选题
1.5
RDD的操作主要是哪2种操作()。

A 转换算子操作
B 分组操作
C 读写操作
D 行动算子操作
参考答案: A D
解析:

44.(1.5分)多选题
1.5
下列属于RDD的转换算子的是()。

A groupByKey()
B reduce()
C reduceByKey()
D map()
参考答案: A C D
解析:

45.(1.5分)多选题
1.5
下列属于RDD的行动算子的是()。

A count()
B first()
C take()
D filter()
参考答案: A B C
解析:

46.(1.5分)多选题
1.5
Spark要想很好的支持SQL,需要完成三大过程。这三大过程包括()

A 加载load
B 解析parser
C 优化optimizer
D 执行execution
参考答案: B C D
解析:

47.(1.5分)多选题
1.5
Spark生态系统包含(  )、Spark Sql、( )、MLib、( ) 以及独立调度器组件。

A Spark Core
B Spark Streaming
C GraphX
D Spark R
参考答案: A B C
解析:

48.(1.5分)多选题
1.5
Scala语言的特性包含( )、函数式编程、( )、可扩展的、( )

A 面向过程
B 面向对象
C 静态类型
D 可以交互操作
参考答案: B C D
解析:

49.(1.5分)多选题
1.5
在Scala数据类型层级结构的底部有两个数据类型,分别是( )

A Nothing
B Null
C AnyVal
D AnyRef
参考答案: A B
解析:

50.(1.5分)多选题
1.5
在Scala中,声明变量的关键字有( )

A val
B int
C var
D String
参考答案: A C
解析:

51.(1分)判断题
1
宽依赖是指每一个父RDD的分区最多被子RDD的一个分区使用

A) 正确
B) 错误
参考答案: B
解析:

52.(1分)判断题
1
窄依赖是划分Stage的依据

A) 正确
B) 错误
参考答案: B
解析:

53.(1分)判断题
1
安装Scala之前必须配置JDK

A) 正确
B) 错误
参考答案: A
解析:

54.(1分)判断题
1
Scala语言是一种面向过程编程语言

A) 正确
B) 错误
参考答案: B
解析:

55.(1分)判断题
1
在Scala中定义变长数组时,需要导入可变数组包

A) 正确
B) 错误
参考答案: A
解析:

56.(1分)判断题
1
Scala语言和Java语言一样,都有静态方法或静态字段

A) 正确
B) 错误
参考答案: B
解析:

57.(1分)判断题
1
Spark比Hadoop计算的速度快

A) 正确
B) 错误
参考答案: A
解析:

58.(1分)判断题
1
部署Spark高可用集群不需要用到 Zookeeper服务

A) 正确
B) 错误
参考答案: B
解析:

59.(1分)判断题
1
Spark Master HA 主从切换过程不会影响集群已有的作业运行

A) 正确
B) 错误
参考答案: A
解析:

60.(1分)判断题
1
RDD采用了惰性调用,即在RDD的处理过程中,真正的计算发生在RDD的“行动”操作

A) 正确
B) 错误
参考答案: A
解析:

61.(15分)问答题
简述如何在Spark中划分Stage

spark任务会根据rdd之间的依赖关系,形成一个DAG有向无环图,DAG会提交给DAGScheduler,DAGScheduler会把DAG划分互相依赖的多个stage,划分依据就是宽窄依赖,遇到宽依赖就划分stage,每个stage包含一个或多个stage,每个stage包含一个或多个task,然后将这些task以taskSet的形成提交给TaskScheduler运行,stage是由一组并行的task组成。
参考答案:
会根据RDD之间的依赖关系将DAG图划分为不同的阶段,对于窄依赖,由于partition依赖关系的确定性,partition的转 处理就可以在同一个线程里完成,窄依赖就被spark划分到同一个stage中,而对于宽依赖,只能等父RDD shuffle处理完成后,下一个stage才能开始接下来的计算。之所以称之为ShuffleMapTask是因为它需要将自己的计算结果通过shuffle到下一个stage中。spark划分stage的整体思路是:从后往前推,遇到宽依赖就断开,划分为一个stage;遇到窄依赖就将这个RDD加入该stage中
解析:

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐