点击下载练习题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中
解析:
无