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. js 增删节点

    <html><head><meta http-equiv="Content-Type" content="text/html; charse ...

  2. 性能优化 | Go Ballast 让内存控制更加丝滑

    关于 Go GC 优化的手段你知道的有哪些?比较常见的是通过调整 GC 的步调,以调整 GC 的触发频率. 设置 GOGC 设置 debug.SetGCPercent() 这两种方式的原理和效果都是一 ...

  3. Python 爬取 房天下

    ... import requests from requests import ConnectionError from bs4 import BeautifulSoup import pymong ...

  4. Dapr-发布/订阅

    前言 前篇文章对Dapr的状态管理进行了解,本篇继续对 订阅/发布 构建块进行了解. 一.定义: 发布订阅的概念来自于事件驱动架构(EDA)的设计思想,这是一种让程序(应用.服务)之间解耦的主要方式, ...

  5. 洛谷 P4516 [JSOI2018]潜入行动

    题面传送门 一眼树形 \(dp\) 本题有 \(2\) 大难点. 难点之一是状态的设计,这里需要四维状态,\(dp[i][j][0/1][0/1]\) 表示在以 \(i\) 为根的子树内放了 \(j\ ...

  6. pycharm两个交互模式

  7. Golang使用validator进行数据校验及自定义翻译器

    Golang使用validator进行数据校验及自定义翻译器 包下载:go get github.com/go-playground/validator/v10 一.概述 在接口开发经常会遇到一个问题 ...

  8. Python与Perl的相似与差别

    Python version 3.7版本 00.命令行交互 命令行交互 Perl Python perl -e <Perl代码>     #Unix/Linux/Windows/DOS 直 ...

  9. A Child's History of England.35

    The other two clung to the yard for some hours. At length the young noble said faintly, 'I am exhaus ...

  10. tomcat拦截特殊字符报400,如 "|" "{" "}" ","等符号的解决方案

    最近在做一个项目,需要对外暴露两个接口接收别人给的参数,但是有一个问题就是对方的项目是一个老项目,在传参数的时候是将多个字符放在一个参数里面用"|"进行分割,然而他们传参数的时候又 ...