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. c++学习笔记3(内联函数)

    函数调用是有开销的,调用时需将参数放入栈中,返回地址也要放入,返回时还需从栈中取出,跳转返回地址去执行,需几条语句的时间,如果本身程序代码短,则会显得十分浪费,所以引入了内联函数的机制 写法:在函数前 ...

  2. nginx 支持websocket

    nginx 反向代理websocket nginx配置 请求地址及路径:ws://x.x.x.x/web/springws/websocket.ws 解析 map 指令 上面 nginx.conf 配 ...

  3. 【JVM】JVM 概述、内存结构、溢出、调优(基础结构+StringTable+Unsafe+ByteBuffer)

    什么是 JVM ? 定义 Java Virtual Machine - java 程序的运行环境(java 二进制字节码的运行环境) 好处 一次编写,到处运行 自动内存管理,垃圾回收功能 数组下标越界 ...

  4. js--history 对象详解

    前言 我们浏览一个网页时可能不太会注意网页前进后退这些操作,但是在开发时你是否想过页面之间的跳转经历了什么,浏览器时怎么保存的页面信息,重新返回上一个页面的时候是否需要重新加载页面呢,会有很对疑问,要 ...

  5. [bzoj5343]混合果汁

    二分枚举答案,问题转化为计算至少取到一定体积,价格最少是多少,显然是贪心取最小,用线段树维护,然后因为要判断答案,所以可持久化一下即可. 1 #include<bits/stdc++.h> ...

  6. [atAGC050B]Three Coins

    记$p_{i}$表示该位置是否有硬币 称使得$p_{i,i+1,i+2}$都变为1的操为对$i$的添加操作,使得$p_{i,i+1,i+2}$都变为0的操作为对$i$的删除操作 考虑一个简单的操作:若 ...

  7. 多声部处理细节之crossstaff音符处理

    下面给出这几个案例的代码 ,可直接粘贴编译. \version "2.20.0" \language "english" \paper { #(set-pape ...

  8. DataGrid首次进入页面时,不加载任何数据[转]

    首次不加载数据问题,必须搞明白如何才能不加载数据.根据Easu UI的官方API: http://www.jeasyui.com/documentation/ 仔细观察DataGrid的事件当中有一个 ...

  9. jmeter中执行kafka topic指令

    前置条件 kafka版本:2.2.1 jmeter版本:5.3 插件:ApacheJMeter_ssh-1.2.0.jar 1.拷贝 ApacheJMeter_ssh-1.2.0.jar 到/lib/ ...

  10. CF1466G Song of the Sirens

    题目传送门 题意简述:给出 \(n,s_0,t\ (n=|t|)\),定义 \(s_i=s_{i-1}+t_i+s_{i-1}\).多次询问给出 \(k,m\),求 \(m\) 在 \(s_k\) 中 ...