【Spark】【复习】Spark入门考前概念相关题复习

发布时间:2022-07-01 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了【Spark】【复习】Spark入门考前概念相关题复习脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

Spark考前概念相关题复习

AUthor:萌狼蓝天

哔哩哔哩:萌狼蓝天

博客园:我的文章 - 萌狼蓝天

博客:萌狼工作室 - 萌狼蓝天 (MLlt.cc)

选择题

Hadoop

1.HADOOP的三大核心组件

2.hadoop完全分布式集群主节点上的角色有

  • NameNode
  • ResourceManager
  • SecondaryNameNode7

3.hadoop的集群包括HDFS、YARN

4.YARN集群的角色包括ResourceManager、NodeManager

5.HDFS集群的角色包括NameNode、DataNode、SecondaryNameNode7

Spark

1.Spark是快速、分布式、可扩展、容错的集群计算框架

2.Spark是基于内存计算的大数据分布式计算框架

3.大数据的“4V”特性指的是:

4.Spark的特点

  • 快速
  • 易用性
  • 通用性
  • 随处运行
  • 代码简洁

5.SPARK完全分布式集群,主节点上的角色有Master

6.SPARK集群的角色包括Master、Worker

7.SPARK的安装模式有

  • 本地模式
  • 伪分布式
  • 完全分布式
  • HA高可用模式

scala

Scala是Scalable Language的简写,由联邦理工学院洛桑(EPFL)的Martin Odersky于2001年开始设计的一门多范式(规范 模式 ,编程方式)的编程语言

Scala是一门以java虚拟机(JVM)为目标运行环境并将面向对象(完全面向对象)和函数式编程的最佳特性结合在一起的静态类型编程语言。

  • Scala 类java语言 码(.scala)要编译成(.class)文件
  • 简洁、优雅、类型安全
  • Spark的兴起带动了scala的发展

1.关于scala

  • Scala是可扩展的
  • Scala是纯正的面向对象语言
  • Scala是函数式编程语言
  • Scala可以和Java无缝操作
  • Scala是静态类型的语言
  • scala的目标运行环境是JVM

2.关于Scala 语言中数组

  • 数组中某个指定的元素可通过索引来访问
  • 数组的第一个元素索引为0
  • Scala中提供了变长数组类型,是ArrayBuffer
  • 变长数组的长度是可变的

3.scala函数的说法正确的是

  • 函数声明方式为: def 函数名(参数列表):[返回类型]={函数体}
  • 函数的返回类型在可推断出来的情况下可以省略

4.属于Scala 特性

  • 命令式编程
  • 函数式编程
  • 静态类型

5.不可扩展性不属于Scala 特性

6.Scala属于多范式编程语言

7.Scala编译后的文件是以.class结尾

8.辅助构造函数名为this

9.继承关键字为extends

10.类外隐藏属性或方法关键字(私有)PRivate

11.抽象类的关键字abstract

12.重写父类方法关键字override

13.样例类关键字case

14.单例对象关键字object

15.定义类关键字class

16.Scala应用场景

  • 大数据技术Spark、Flink等
  • 数据计算
  • 提供面向Web服务,可以和Java等相同的spring Web应用

RDD

1.关于RDD

  • 它是集群节点上的不可改变的、已分区的集合对象
  • 可通过并行转换的方式来创建
  • 可以控制存储级别(内存、磁盘等)
  • 必须是可序列化的
  • 是 弹性分布式数据集

(阿里提供)RDD的特点:

  • 它是在集群节点上的不可变的、已分区的集合对象。
  • 通过并行转换的方式来创建如(map, filter, join, etc)。
  • 失败自动重建。
  • 可以控制存储级别(内存、磁盘等)来进行重用。
  • 必须是可序列化的。
  • 是静态类型的。

2.使用saveAsTextFile存储数据到HDFS.要求数据类型为RDD

综合

使用 Scala编写 Spark WordCount程序时需要调用的类

  • org.apache.spark.SparkConf
  • org.apache.spark.SparkContext

判断题

1.大数据(Big data),IT行业术语,指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合(正确)

2.数组可以包含不同类型的元素(错误)

3.Scala单例对象不可以带参数,而类可以。(正确)

4.数组是不可变的(正确)

5.RDD主要有两大类操作,分别为转换(transformations)和操作(Actions)。所有的转换操作都是懒惰(lazy)操作,只有等到Actions操作时才会真正启动计算过程进行计算。(正确)

6.parallelize[T: ClassTag](seq: Seq[T],numSlices: Int = defaultParallelism): RDD[T],该函数的第二个参数是默认参数,默认值为defaultParallelism(正确)

能力考察

第四章能力考察

符合Scala编程规范?(C)

① String s = "Spark";

②"abc" .contains("a");

③"123".equals(123);

④ SparkConf sc = new SparkContext(conf)

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

【答案:C】


出字符串str的后4位作为输出?(C) A str.get(str.length-4,str.length) B str.tail(str.length-4,str.length) C str.substring(str.length - 4, str.length) D str.cat(str.length -4,str.length)

【答案:C】


使用spark-submit如何指定在本地运行?( A) A --master = local B --class = local C --executor-memory = 4G D --master = root

【答案:A】


Spark支持的分布式部署方式中哪个是错误的?(D ) A Standalone B Spark on Mesos C Spark on YARN D Spark on Local

【答案:D】


以下哪个不是 spark-submit的指定参数?(D )

A --master B --class C --deploy-mode D --url

【答案:D】


第三章能力考察

以下哪种方法可以得到RDD(('a',1))?(D ) A RDD(('a', 1),('b',1)) union RDD(('a',2),('b',1)) B RDD(('a', 1),('b',1))join RDD(('a',2),('b',1)) C RDD(('a', 1),('b',1)) intersection RDD(('a',2),('b',1)) D RDD(('a', 1),('b',1)) suBTract(('a',2),('b',1))

【答案:D】


下面哪个不是 RDD的特点?(C ) A 可分区 B 可序列化 C 可修改 D 可持久化

【答案:C】


下面哪一组全部都是转化操作?C A map、take、reduceByKey B map、 filter 、collect C map、zip 、reduceByKey D join、map、take

【答案:C】


将RDD(('a',1).('b,1)) ( ) RDD(('a',1).( 'd',1))连接,得到 RDD('a',(1,Some(1)),('b',(1,None)),( )填写以下哪种连接方法?C A fullOuterJoin B join C leftOuterJoin D rightOuterJoin

【答案:C】


以下哪组RDD 可以使用zip( )合并成键值对 RDD?( B) A makeRDD(1 to 5,2), makeRDD(1 to 10,2) B makeRDD(1 to 5,2),makeRDD(1 to 5,2) C makeRDD(1 to 5,3), makeRDD(1 to 5,2) D makeRDD(1 to 5,2),makeRDD(I to 10,4)

【答案:B】


使用union和 join连接RDD(('a',1),( 'b',1))和RDD(('a',1),( 'b',1))的结果分别为哪项?(C) A 都为(('a',1),('b',1),( 'a',1),('b',1)) B 都为(('a',(1,1)),( 'b',(1,1))) C union为(('a',1),('b',1), ( 'a',1),( 'b',1)), join为(('a',(1,1),('b'.(1,1)) D union为(('a',(1,1),('b',(1,1))), join为(('a',1),('b',1), ( 'a',1),( 'b',1))

【答案:C】


常用创建 RDD的方法有哪些?ABC A makeRDD B parallelize C textFile D testFile

【答案:ABC】

第二章能力考察

以下关于scala列表的说法正确的是(ABD) A val list=List(1,2,3)或 val list=1::3::2::Nil可以定义一个列表 B List(1,2,3):::List(1,2,4)的结果是List(1,2,3,1,2,4) C val list=List(3,4,5)可以通过索引1,即list(1)查询第二个位置的元素,也可以通过list(1)=2更新该元素 D 列表List长度一旦定义则不可改变

【答案:ABD】


以下关于scala列表的说法正确的是(ABDE)

A val list=List(1,2,3)或 val list=1::3::2::Nil可以定义一个列表 B List(1,2,3):::List(1,2,4)的结果是List(1,2,3,1,2,4) C val list=List(3,4,5)可以通过索引1,即list(1)查询第二个位置的元素,也可以通过list(1)=2更新该元素 D 列表List长度一旦定义则不可改变 E val list=ListBuffer(3,4,5)可以通过索引1,即list(1)查询第二个位置的元素,也可以通过list(1)=2更新该元素

【答案:ABDE】


以下哪个是scala函数的类型(CD) A Int B Any C Int=>String D (Double,Int)=>Int

【答案:CD】


以下定义矩形体积的函数及调用正确的是(ABCD) A def vju(chang:Int)={ (kuan:Int)=>{ gao:Int=>changkuangao } } vju(3)(4)(5) B def vju(chang:Int):Int=>(Int=>Int)={ def vjuchang(kuan:Int):Int=>Int={ def vjuck(gao:Int):Int=changkuangao vjuck } vjuchang } vju(3)(4)(5) C val vju=(chang:Int)=>{ (kuan:Int,gao:Int)=>changkuangao } vju(3)(4,5) D val vju=(chang:Int,kuan:Int,gao:Int)=>changkuangao vju(3,4,5)

【答案:ABCD】


以下scala函数的说法正确的是(AD) A 函数声明方式为: def 函数名(参数列表):[返回类型]={函数体} B scala函数用return关键字来指明返回值,return不能省 C 函数声明方式为:def 函数名(参数列表)=[返回类型]:{函数体} D 函数的返回类型在可推断出来的情况下可以省略

【答案:AD】


def concat[T]( xss: Array[T]* ): Array[T]中Array[T]*的含义正确的是(ABC) A “*”来指明该参数为重复参数 B 该函数的参数为变长参数 C Scala 在定义函数时允许指定最后一个参数可以重复 D 该函数的参数为默认参数

【答案:ABC】


日常习题

第二章习题

下关于 List的定义不正确的一项是哪项?(C) A val list =List(12,2,3) B vall list=List("Hello"."World"") C val list:String =List("a","c") D val list = List[Int](1,2,3)

【答案:C】


对集(Set)进行操作"Set(3,0,1)+2+2-2"之后的结果为哪项?(B) A Set(3,0,1,2) B Set(3,0,1) C Set(3,0) D 以上均不正确

【答案:B】


以下 Scala变量的定义不正确的是哪项?(C) A val words :String ="Hello World" B val mumber= 12 C var number:String = None D var apple:Double=2

【答案:C】


关于函数def sumSquare(args:Int)= {var r = 0 ;for(arg <- args) r += argarg ;r},输出结果不一致的是哪项?(B) A sumSquare(1,2,3)=14 B sumSquare(2,4)=16 C sumSquare(6)= 36 D sumSquare(1,1,2,3)= 15

【答案:B】


关于下面函数的结果说法错误的是哪项?def getPageNun(file:String) ={ val BookMap = Map("Chinese" -> 164, "Math" -> 180, "English" -> 150, "Geography" -> 120) bookMap.getorElse(file,0) } A getPageNum("Math")=180 B getPageNum("English)= 150 C getPageNum("Physics )=164 D getPageNum(“Geography") = 120

【答案:C】


以下定义矩形体积的函数及调用正确的是(ABCD) A def vju(chang:Int)={ (kuan:Int)=>{ gao:Int=>changkuangao } } vju(3)(4)(5) B def vju(chang:Int):Int=>(Int=>Int)={ def vjuchang(kuan:Int):Int=>Int={ def vjuck(gao:Int):Int=changkuangao vjuck } vjuchang } vju(3)(4)(5) C val vju=(chang:Int)=>{ (kuan:Int,gao:Int)=>changkuangao } vju(3)(4,5) D val vju=(chang:Int,kuan:Int,gao:Int)=>changkuangao vju(3,4,5)

【答案:ABCD】

脚本宝典总结

以上是脚本宝典为你收集整理的【Spark】【复习】Spark入门考前概念相关题复习全部内容,希望文章能够帮你解决【Spark】【复习】Spark入门考前概念相关题复习所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。