Spark考前概念相关题复习

AUthor:萌狼蓝天

哔哩哔哩:萌狼蓝天

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

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

选择题

Hadoop

1.HADOOP的三大核心组件

  • HDFS分布式文件系统
  • YARN作业调度 和 集群资源管理的框架
  • MAPREDUCE 分布式运算编程框架

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”特性指的是:

  • Volume数据体量巨大(传统技术有瓶颈)
  • Variety数据类型繁多
  • value价值密度低
  • Velocity处理速度快

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=>chang*kuan*gao } } vju(3)(4)(5)

B def vju(chang:Int):Int=>(Int=>Int)={ def vjuchang(kuan:Int):Int=>Int={ def vjuck(gao:Int):Int=chang*kuan*gao vjuck } vjuchang } vju(3)(4)(5)

C val vju=(chang:Int)=>{ (kuan:Int,gao:Int)=>chang*kuan*gao } vju(3)(4,5)

D val vju=(chang:Int,kuan:Int,gao:Int)=>chang*kuan*gao 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=>chang*kuan*gao } } vju(3)(4)(5)

B def vju(chang:Int):Int=>(Int=>Int)={ def vjuchang(kuan:Int):Int=>Int={ def vjuck(gao:Int):Int=chang*kuan*gao vjuck } vjuchang } vju(3)(4)(5)

C val vju=(chang:Int)=>{ (kuan:Int,gao:Int)=>chang*kuan*gao } vju(3)(4,5)

D val vju=(chang:Int,kuan:Int,gao:Int)=>chang*kuan*gao vju(3,4,5)

【答案:ABCD】

【Spark】【复习】Spark入门考前概念相关题复习的更多相关文章

  1. 【JavaScript】JS从入门到深入(复习查漏向

    [JavaScript]JS从入门到深入(复习查漏向 pre 精细得学过一遍JS后才发现,原来之前CTF中有些nodejs的题目以及一些游戏题的payload就变得很好理解了. 基础知识 ECMASc ...

  2. Spark中文指南(入门篇)-Spark编程模型(一)

    前言 本章将对Spark做一个简单的介绍,更多教程请参考:Spark教程 本章知识点概括 Apache Spark简介 Spark的四种运行模式 Spark基于Standlone的运行流程 Spark ...

  3. Spark:Spark 编程模型及快速入门

    http://blog.csdn.net/pipisorry/article/details/52366356 Spark编程模型 SparkContext类和SparkConf类 代码中初始化 我们 ...

  4. 学习笔记:spark Streaming的入门

    spark Streaming的入门 1.概述 spark streaming 是spark core api的一个扩展,可实现实时数据的可扩展,高吞吐量,容错流处理. 从上图可以看出,数据可以有很多 ...

  5. Spark2.x学习笔记:Spark SQL快速入门

    Spark SQL快速入门 本地表 (1)准备数据 [root@node1 ~]# mkdir /tmp/data [root@node1 ~]# cat data/ml-1m/users.dat | ...

  6. Noip前的大抱佛脚----Noip真题复习

    Noip前的大抱佛脚----Noip真题复习 Tags: Noip前的大抱佛脚 Noip2010 题目不难,但是三个半小时的话要写四道题还是需要码力,不过按照现在的实力应该不出意外可以AK的. 机器翻 ...

  7. 转载:Spark中文指南(入门篇)-Spark编程模型(一)

    原文:https://www.cnblogs.com/miqi1992/p/5621268.html 前言 本章将对Spark做一个简单的介绍,更多教程请参考:Spark教程 本章知识点概括 Apac ...

  8. Spark Streaming 编程入门指南

    Spark Streaming 是核心Spark API的扩展,可实现实时数据流的可伸缩,高吞吐量,容错流处理.可以从许多数据源(例如Kafka,Flume,Kinesis或TCP sockets)中 ...

  9. 【HTML】HTML5从入门到深入(复习查漏向

    HTML5从入门到深入(复习查漏向 冷知识 万维网之始:第一个网站·蒂姆伯纳斯-李 HTML5 html5文档类型声明: 头部: <!doctype html> 字符集(charset): ...

随机推荐

  1. 『与善仁』Appium基础 — 9、补充:C/S架构和B/S架构说明

    目录 1.C/S架构和B/S架构概念 2.C/S结构与B/S架构的区别 3.C/S架构和B/S架构优点和缺点 (1)B/S模式的优点和缺点: (2)C/S模式的优点和缺点: 1.C/S架构和B/S架构 ...

  2. React-Router基础(<HashRouter>)

    <Router>使用URL(即window.location.hash)的哈希部分来保持UI与URL同步的A. 重要说明:哈希历史记录不支持location.key或location.st ...

  3. <C#任务导引教程>练习十

    /*83,使用接口完成多继承问题 简化版*/using System;interface ITeacher{    string Name    {        get;        set;   ...

  4. [cf1261E]Not Same

    问题可以这么理解-- 构造一个$n+1$行$n$列的01矩阵$A$,满足: 1.第$i$列$n+1$个数的和为$a_{i}$ 2.任意两行不完全相同 (对应关系:第$i$行第$j$列为1当且仅当第$i ...

  5. [loj2304]泳池

    将等于$k$差分,即小于等于$k$减去小于等于$k-1$,由于两者类似,不妨仅考虑前者 令$f_{i,j}$表示仅考虑$i$列(即$n=i$时),若前$j$行都没有障碍,此时最大面积小于等于$k$的概 ...

  6. [noi1754]SA

    枚举T中失配的位置i,容易发现能够成立当且仅当存在一个以$T[0,i)$为后缀的前缀$S[0,a)$且$T(i,|T|)$是$S(a,|S|)$的一个前缀 考虑建立S的正序和倒序的两个后缀自动机,设$ ...

  7. Android系统编程入门系列之硬件交互——多媒体摄像头

    多媒体系列硬件 多媒体包括图片.动画.音频.视频,这些多媒体素材的采集(输入)主要依靠摄像头和麦克风等硬件设备转化为基础数据,而他们的播放渲染(输出),则需要依靠具有相关功能的编解码软件.当然随着硬件 ...

  8. c语言实参与形参的区别

    1 #include<stdio.h> 2 #include<math.h> 3 4 /** 5 * 形参和实参的功能是作数据传送. 6 * 函数调用中发生的数据传送是单向的. ...

  9. Codeforces 961F - k-substrings(二分+哈希)

    Codeforces 题面传送门 & 洛谷题面传送门 介绍一种奇怪的 \(\Theta(n\log n)\) 的奇怪做法. 注意到这个"border 的长度必须是奇数"的条 ...

  10. Codeforces 1383C - String Transformation 2(找性质+状压 dp)

    Codeforces 题面传送门 & 洛谷题面传送门 神奇的强迫症效应,一场只要 AC 了 A.B.D.E.F,就一定会把 C 补掉( 感觉这个 C 难度比 D 难度高啊-- 首先考虑对问题进 ...