Spark相关知识点题目

Posted 金星000

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark相关知识点题目相关的知识,希望对你有一定的参考价值。

  • 单选
  1. 下面哪个不是大数据的特征(D)

A.Volume

B.Variety

C.Velocity

D.Variance

2.下面List的定义不正确的是(B)

A.val number:List[Int]=1::2::3::Nil

B.val name:List[String]=”tom”::(“Jack”::(“Lucy”::Nil))

C.val list:String=List(“a”,”b”,”c”)

D.val number:List[Int]=List(1,2,3,4,5)

3.下列函数定义不正确的是(C)

A.def add(x:Int,y:Int):Int={x+y}

B.def minus(x:int,y:Int)=>{return x-y}

C.def addFun(x:Int)(y:Int)=x+y

D.val add=(a:Double,b:Double)=>a+b

4.下列不是Spark部署模式的是(C)

A.单机式

B.单机伪分布式

C.列分布式

D.完全分布式

5.下面的Scala语句能正确执行的是(B)

A.val a=2;a=3

B.var a=2;a=3

C.var a=2;a=”3”

D.val a=2;a=”3”

6.下面哪个端口不是Spark自带服务的端口(C)

A.8080

B.4040

C.8090

D.18080

7.下面哪些全部是转化操作(B)

A.map、take、reduceByKey

B.map、filter、collect

C.map、zip、reduceByKey

D.map、join、take

8.下列属于Spark Stream的输出操作的是(A)

A.saveAsTextFiles

B.saveAsStreamingFiles

C.saveAsHadoopFiles

D.saveAsObjectFiles

9.下列不属于大数据技术的是(C)

A.大数据采集技术

B.大数据存储及管理技术

C.财务报表分析技术

D.大数据分析及挖掘技术

10.scala中val pa=(40,“Foo”)如果要访问40,正确的访问语句是B

A.pa._0
B.pa._1
C.pa.2
D.pa.

11.Scala程序编译后的文件以什么结尾(A):

A、.class B、java C、.scala D、.sc

12.以下哪种Scala方法可以正确计算数组a的长度(D)
A、count() B、take(1) C、tail() 
D、length()

13.以下语句中符合Scala编程规范的是(A)
①val s=“Spark” ②"abc".contains(“a”)
③"123".equals(123) ④SparkConf sc=new SparkContext(conf)(应该是val sc…)

A、①②B、①④ C、②③ D、②④

14.Spark Streaming程序执行过程中,以下几个步骤的执行顺序是(B)
①创建StreamingContext对象
②创建InputDStream
③操作DStream
④启动Spark Streaming
A、②④③① 
B、①②③④ C、①②④③D、④①②③

15.关于Spark Streaming,以下说法错误的是哪项?(D)
A、Spark Streaming是Spark的核心子框架之一
B、Spark Streaming 具有可伸缩、高吞吐量、容错能力强等特点
C、Spark Streaming处理的数据源可以来自Kafka

D、Spark Streaming 不能和Spark SQL、MLlib、GraphX无缝集成

16.将DStream中的数据输出到外部数据库时,以下做法正确的是哪项(C)
A、在Spark Driver 端创建连接
B、直接在Worker 端创建连接

C、在Worker 端使用foreachpartition 创建连接
D、在Spark Driver 端使用foreachpartition创建连接

17、Spark Streaming的基础和高级数据来源包括哪些(B)
A、文件系统、Socket连接、Hive

B、文件系统、Socket 连接和Kafka
C、HDFS、HBase
D、Socket连接、mysql

18.DataFrame的groupBy方法返回的结果是什么类型(D)
A、DataFrame B、Column C、RDD 
D、GroupedData

19.相比Spark,Spark SOL 有哪些优势?(B)
①Spark SQL摆脱了对Hive的依赖
②Spark SQL支持在Scala中写SQL语句
③Spark SQL支持parquet文件的读写,且保留了Schema
④Spark SQL 支持访问Hive,而Spark不支持
A、①② 
B、①②③ C、①②③④ D、②③④

20.关于DataFrame的说法错误的是(B)
A、DataFrame是由SchemaRDD发展而来

B、DataFrame直接继承了RDD
C、DataFrame实现了RDD的绝大多数功能
D、DataFrame是一个分布式Row对象的数据集合

21.Spark SQL可以处理的数据源包括(D)
A、Hive表
B、数据文件、Hive表
C、数据文件、Hive表、RDD

D、数据文件、Hive表、RDD、外部数据库

22.Spark 中使用 saveAs TextFile存储数据到HDFS,要求数据类型为(D)
A、List B、Array C、Seq 
D、RDD

23. spark 的四大组件下面哪个不是   (D)


A.Spark Streaming      B MLlib      C Graph X    D Spark R

24. scala中val pa=(40,"Foo")如果要访问40,正确的访问语句是 ( B )

A.pa._0

B.pa._1

C.pa._2

D.pa._

25. scala中import java.util.{HashMap=>_,_}是 ( B )

A.引入java.util包内的HashMap

B.引入java.util包内除了HashMap之外的所有成员

C.引入java.awt包内所有成员且把引入的成员变为函数

D.引入java.awt包内的所有返回值是HashMap的函数

26. Worker是________ ( B )

A.主节点

B.从节点

C.执行器

D.上下文

学习资料:主节点执行器从节点上下文

27. scala反编译后是 ( D )

A.C语言

B.C++

C.JAVA

D.字节码文件

28. 以下哪个不是Spark的组件 (D )

A.Driver

B.SparkContext

C.ClusterManager

D.ResourceManager

29. SparkContext是________ ( D )

A.主节点

B.从节点

C.执行器

D.上下文

30. scala中val x,y=100意味着 ( A )

A.x,y都是100

B.x没有赋值,y是100

C.x是0,y是100

D.以上说法都不对

31. Executor是_________ ( C )

A.主节点

B.从节点

C.执行器

D.上下文

32. spark是hadoop生态下哪个组件的替代方案 (D)

A.Hadoop

B.Yarn

C.HDFS

D.MapReduce

33. 以下哪个不是Spark的组件 (B )

A.DAGScheduler

B.MultiScheduler

C.TaskScheduler

D.SparkContext

34. 以下哪个不是Spark的组件 (D)

A.RDD DAG

B.Executer

C.TaskScheduler

D.RDDScheduler

35. scala反编译后_____________ ( C)

A.可读但不可执行

B.不可读可以执行

C.可读可执行

D.不可读不可执行

36. DataFrame 和 RDD 最大的区别(B)

A. 科学统计支持

B. 多了 schema

C. 存储方式不一样

D. 外部数据源支持

37. 以下哪个不是Spark的组件 ( A )

A.NodeManager

B.TaskScheduler

C.DAG Scheduler

D.ClusterManager

38. ClusterManager是________ ( A )

A.主节点

B.从节点

C.执行器

D.上下文

参考答案: A

39.Task 运行在下来哪里个选项中 Executor 上的工作单元(C)
A. Driver program
B. spark master
C. worker node
D. Cluster manager

40.下列对RDD的操作中,属于行动操作的是(C)。

A.filter()

B.groupByKey()

C.first()

D.flatMap()

41.通过函数func(输入2个参数并返回一个值)聚合RDD数据集中的元素,使用的行动操作是(B)。

A.reduce(func)

B.foreach(func)

C.collect(func)

D.split()

42. 启动spark-shell后,会自动创建2个对象,一个是sc,另一个是(D )。

A.cotext

B.spark

C.sparksql

D.session

43. 读取本地或HDFS上的文本文件,可以使用sparkContext中的 ( D)方法。

A.readText

B.getText

C.textRead

D.textFile

44. 从Spark2.0后,Spark使用(A )接口替代Spark1.6中的SQLContext和HiveContext。

A.SparkSession

B.SparkContext

C.SparkSQL

D.Spark

45. 在将RDD转换为DataFrame时,有2种方法,1种是通过反射机制推断RDD模式,需要先定义一个(B )。

A.class

B.case class

C.StructType

D.Schema

46. 允许开发人员在每个机器上缓存一个只读变量,而不是为每个机器上的每个任务都生成一个副本,可以使用( C)。

A.共享变量

B.只读变量

C.广播变量

D.累加器

47. 将键值对RDD中具有相同键的元素进行分组,可以使用( D)操作。

A.sortByKey()

B.reduceByKey()

C.keys()

D.groupByKey()

48. Scala中定义抽象类需要添加关键词 (A )。

A.abstract

B.case

C.def

D.case class

49. Scala中一个类继承自另一个抽象类,可以使用关键词( B)。

A.from

B.extends

C.source

D.extend

50.Spark中创建RDD有2种方法,一种通过并行集合(数组)的方法,需要使用sparkContext中的(C)方法。

A.textFile

B.saveAsTextFile

C.parallelize

D.parallelized

51.一个分布式应用程序协调服务,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等的工具有(B)

  1. Flume
  2. Zookeeper
  3. Storm
  4. Spark Steaming

52.作为分布式消息队列,既有非常优秀的吞吐量,又有较高的可靠性和扩展性,同时接受Spark Streaming的请求,将流量日志按序发送给Spark Streaming集群是(C)

  1. Zookeeper
  2. Spark Streaming
  3. Kafka
  4. Flume

53.DataFrame和RDD的最大区别是(B)

  1. 科学统计支持
  2. 多了schema
  3. 存储方式不一样
  4. 外部数据源支持

54.Spark的默认存储级别(A)

  1. MEMORY_ONLY
  2. MEMORY_ONLY_SER
  3. MEMORY_AND_DISK
  4. MEMORY_AND_DISK_SER

二、多选

1.reduceByKey与groupByKey的区别(AB)

A.reduceByKey:按照key进行聚合,在shuffle之前有combine(预聚合)操作,返回结果是RDD[k,v]。

B. groupByKey:按照key进行分组,直接进行shuffle

C.都会返回RDD对象

D.都对Map结构数据进行处理

2. SparkContext可以从哪些位置读取数据 (ACD)

A.本地磁盘

B.web

C.hdfs

D.内存

3. scala语言中一个函数可以定义在 ( ABCD)

A.构造函数里

B.class

C.object

D.main函数内

4. MLlib包括 ( ABCD )

A.分类模型

B.聚类模型

C.特征抽取

D.统计模型

5. 要读取people.json文件生成DataFrame,可以使用下列那些命令(AC)

A. spark.read.json("people.json")

B. spark.read.text("people.json")

C. spark.read.format("json").load("people.json")

D. spark.read.format("csv").load("people.json")

7. Spark SQL支持读取那些类型的文件(ABC)

A. text

B. json

C. Parquet

D.docx

8. 从RDD转换得到DataFrame包含两种典型的方法,分别是(AB)

A.利用反射机制推断RDD模式

B.使用编程方式定义RDD模式

C.利用投影机制推断RDD模式

D.利用互联网机制推断RDD模式

9. 流计算的处理流程(BCD)

A. 实时数据存储

B.实时数据计算

C.实时查询服务

D.实时数据采集

10.. SparkStreaming的基本输入源有哪几种(ACD)

A. 文件流

B. kafka

C. 套接字流

D. RDD队列流

11.下面关于Spark MLlib库的描述正确的是(AC)

A. MLlib库从1.2版本以后分为两个包:spark.mllib和spark.ml

B. spark.mllib包含基于DataFrame的原始算法API

C. spark.mllib包含基于RDD的原始算法API

D. spark.ml则提供了基于RDD的、高层次的API

12.下列关于Spark中的RDD描述正确的有(AD)

  1. RDD(Resilient Distributed Dataset) 叫做弹性分布式数据集,是Spark中最基本的数据抽象
  2. RDD保存在硬盘上
  3. RDD编程分为转换和操作,转换时就开始计算了
  4. RDD的map(func)操作返回的还是一个RDD对象

13.Spark比MapReduce计算快的原因有哪些(ABC)

  1. 基于内存计算
  2. 基于DAG的调度框架
  3. 基于Lineage的容错机制
  4. 基于分布式计算框架

14.Hadoop框架的缺点有(ABC)

  1. MapReduce编程框架的限制
  2. 过多的磁盘操作,缺乏对分布式内存的支持
  3. 无法高效低支持迭代式计算
  4. 海量的数据存储

15.RDD有哪些缺陷(AD)

  1. 不支持细粒度的写和更新操作
  2. 基于内存的计算
  3. 拥有schema信息
  4. 不支持增量迭代计算

16.spark的部署模式(ABCD)

  1. 本地模式
  2. Standalone模式
  3. Spark on yarn模式
  4. Mesos模式

17下面不是Spark组件的是(BD)

  1. Spark Streaming
  2. Pyspark
  3. Graphx
  4. Spark R

18.val rdd= sc.textFile("hdfs://node01:8020/data/test") 下面说法正确的是(AC)

  1. sc  是Spark Context的对象
  2. 上面语句是在加载本地文件
  3. 上面语句是在加载HDFS文件
  4. 上面的rdd可以在加载其他文件时重新被赋值

19. Spark driver的功能是什么(ABD
A. 是作业的主进程
B. 负责了作业的调度
C. 负责向HDFS申请资源
D. 负责作业的解析

三、判断题

( 判断 1分 )

1. scala中基本数据类型和java完全一致 (×)

2. Yarn 可以作为Spark的资源调度框架 (√ )

3. standalone(集群模式)典型的Mater/slave模式,Master可能有单点故障的;Spark支持ZooKeeper来实现 HA。(√)

4. 构造数据Schema模式可以添加数据的列名称(√)

5. Spark Streaming支持RDD的所有算子(√)

6. Pipeline被设计用来管理一系列的阶段,每一个阶段都由PipelineStage来表示。(√)

7.Spark ML提供两种类型的transformers:特征transformer和机器学习模型。(√)

8 Spark中的RDD被创建后,在后续使用过程中有2种操作:转换(Transformation)和行动(Action) (√ )。

9. 将RDD中的每个元素全部打印到屏幕上,可以使用println (√ )。

10. Spark采用惰性机制,当遇到一个行动(Action)操作才会触发一个Job (√)。

11. SparkSQL中创建一个临时表,可以使用createTempView方法 (× )。

12. 在Spark中读取HDFS上的文件时,在指定文件路径时必须要添加hdfs://( ×)。

13.Spark R是Spark生态系统的一部分(×)

简单题:

1.Transformation和action算子有什么区别?举例说明

Transformation 变换/转换:这种变换并不触发提交作业,完成作业中间过程处理。Transformation 操作是延迟计算的,也就是说从一个RDD 转换生成另一个 RDD 的转换操作不是马上执行,需要等到有 Action 操作的时候才会真正触发运算

map, filter

Action 行动算子:这类算子会触发 SparkContext 提交 Job 作业。

Action 算子会触发 Spark 提交作业(Job)。

count

2.RDD有多少种持久化方式?memory_only如果内存存储不了,会怎么操作?

cache和persist

memory_and_disk,放一部分到磁盘

MEMORY_ONLY_SER:同MEMORY_ONLY,但是会使用Java序列化方式,将Java对象序列化后进行持久化。可以减少内存开销,但是需要进行反序列化,因此会加大CPU开销。

MEMORY_AND_DSK_SER:同MEMORY_AND_DSK。但是使用序列化方式持久化Java对象。

DISK_ONLY:使用非序列化Java对象的方式持久化,完全存储到磁盘上。

MEMORY_ONLY_2或者MEMORY_AND_DISK_2等:如果是尾部加了2的持久化级别,表示会将持久化数据复用一份,保存到其他节点,从而在数据丢失时,不需要再次计算,只需要使用备份数据即可。

3.spark作业执行流程

1.客户端提交作业

2.Driver启动流程

3.Driver申请资源并启动其余Executor(即Container)

4.Executor启动流程

5.作业调度,生成stages与tasks。

6.Task调度到Executor上,Executor启动线程执行Task逻辑

7.Driver管理Task状态

8.Task完成,Stage完成,作业完成

以上是关于Spark相关知识点题目的主要内容,如果未能解决你的问题,请参考以下文章

Spark相关知识

实战:Spark和Tensorflow整合

Spark性能调优篇七之JVM相关参数调整

渡一教育_每日一练:对象的加载对象的创建相关知识面试题

spark知识点八万字长文最全汇总和高频面试题目

全面深度剖析Spark2--知识点,源码,调优,JVM,图计算,项目