一、单选
1、Spark 的四大组件下面哪个不是 ( D )
A、Spark Streaming
B、Mlib
C、Graphx
D、Spark R
SQL and DataFrames
Spark Streaming
MLlib (machine learning)
GraphX (graph)
是spark的四大组件
2、Spark 支持的分布式部署方式中哪个是错误的==( D )==
A、standalone
B、spark on mesos
C、spark on YARN
D、Spark on local
Spark支持的主要的三种分布式部署方式分别是standalone、spark on mesos和 spark on YARN。
standalone模式,即独立模式,自带完整的服务,可单独部署到一个集群中,无需依赖任何其他资源管理系统。它是Spark实现的资源调度框架,其主要的节点有Client节点、Master节点和Worker节点。
而yarn是统一的资源管理机制,在上面可以运行多套计算框架,如map reduce、storm等根据driver在集群中的位置不同,分为yarn client和yarn cluster。
而mesos是一个更强大的分布式资源管理框架,它允许多种不同的框架部署在其上,包括yarn。
3、Spark Job 默认的调度模式 ( A )
A、FIFO
B、FAIR
C、无
D、运行时指定
Spark中的调度模式主要有两种:FIFO和FAIR。 默认情况下Spark的调度模式是FIFO(先进先出),谁先提交谁先执行,后面的任务需要等待前面的任务执行。 而FAIR(公平调度)模式支持在调度池中为任务进行分组,不同的调度池权重不同,任务可以按照权重来决定执行顺序。
4、下列不属于Spark中driver的作用的是==( D )==
A、执行main方法
B、把用户程序转化为task
C、协调任务的调度
D、负责运行组成 Spark 应用的任务
Driver具有main函数,并且有SparkContext实例,是程序的入口
把用户程序转为任务
跟踪Executor的运行状况
为Executor节点调度任务
UI展示应用运行状况
Executor
它们负责运行组成 Spark 应用的任务,并将结果返回给驱动器进程;
它们通过自身的块管理器(Block Manager)为用户程序中要求缓存的 RDD 提供内存式存储。RDD 是直接缓存在Executor进程内的,因此任务可以在运行时充分利用缓存数据加速运算。
5、下面哪个不是 RDD 的特点==( C )==
A、可分区
B、可序列化
C、可修改
D、可持久化
可转换不可修改
6、下面哪个端口不是 spark 自带服务的端口==( C )==
A、8080
B、4040
C、8090
D、18080
50070:HDFSwebUI的端口号
8485:journalnode默认的端口号
9000:非高可用访问数rpc端口
8020:高可用访问数据rpc
8088:yarn的webUI的端口号
8080:master的webUI,Tomcat的端口号
7077:spark基于standalone的提交任务的端口号
8081:worker的webUI的端口号
18080:historyServer的webUI的端口号
4040:application的webUI的端口号
2181:zookeeper的rpc端口号
9083:hive的metastore的端口号
60010:Hbase的webUI的端口号
6379:Redis的端口号
8080:sparkwebUI的端口号
9092:kafka broker的端口
7、哪个不是本地模式运行的条件==( D )==
A、spark.localExecution.enabled=true
B、显式指定本地运行
C、finalStage 无父 Stage
D、partition默认值
8、sc.parallelize([(1,2),(1,3),(2,3),(2,4),(3,1)].reduceByKey(lambda x,y : x +y).count().collect”操作中会产生==( B )==个stage
A、1
B、2
C、3
D、4
首先获取list里面的每个元素,不管有没有map都算开始第一个阶段,stage1
接着reducebykey 肯定shuffle 了。 因此就 有一个 stage2 了
而后面的count 计算 是可以并行处理的,也就是 每个key的总数互相之间计算并没有依赖,因此不会产生新的 stage 。
9、关于广播变量,下面哪个是错误的==( D )==
A、任何函数调用
B、是只读的
C、存储在各个节点
D、存储在磁盘或 HDFS
每个函数都可以调用,且只读,优先存放在内存中,内存不够溢写到磁盘上。不会存放在HDFS中。
10、关于累加器,下面哪个是错误的 ( D )
A、支持加法
B、支持数值类型
C、可并行
D、不支持自定义类型
当然支持自定义,我们经常会用到map类型的自定义累加器
11、以下哪个操作可能会产生大量小文件==( C )==
A、mapper数较多的map-only任务
B、reduer数较多的任务
C、从海量数据中过滤出符合条件的少量数据
二、多选
1、在当下比较流行的分布式数据处理平台 Spark 中,有一些常用的高阶算子,比如说 flatMap, filter, groupByKey等等;它们中的某些算子会触发shuffle操作,所谓shuffle,粗略的可以理解为要处理的数据集的内部分区需要进行重排,而不是原地计算。下面哪个算子会引起shuffle ( CD )
A、map
B、count
C、sortByKey
D、join
spark中会导致shuffle操作的有以下几种算子:
1、repartition类的操作:比如repartition、repartitionAndSortWithinPartitions、coalesce等
2、byKey类的操作:比如reduceByKey、groupByKey、sortByKey等
3、join类的操作:比如join、cogroup等