Spark大作业练习题(单选及spark的优势)

提供两个Scala在线编程的网站:
https://scalafiddle.io/
http://www.scalakata.com
学习spark的网站:
http://dblab.xmu.edu.cn/blog/1709-2/(大数据之Spark入门教程(Python版))

单项选择题

1、Scala程序编译后的文件以什么结尾:
A、.class B、java C、.scala D、.sc

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

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

4、Scala中如何取出字符串str的后4个字符作为输出?
A、str.get(str.length-5,str-1)B、str.tail(str.length-5,str.length-1)
C、str.substring(str.length-4,str.length D、str.cat(str.length-5,str.length-1)

5、下面哪个方法不是用于创建RDD?
A、makeRDD B、parallelize C、textFile D、saveAsTextFile

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

7、Spark支持的分布式资源管理器不包括:
A、standalone B、Mesos C、YARN D、Local

8、下面哪一组全部都是Spark的转换操作:
A、map、take、reduceByKey
B、map、filter、collect
C、map、union、reduceByKey
D、jion、map、take

下面列出一些常见的转换操作(Transformation API):

  • filter(func)、* map(func)、* flatMap(func)、* groupByKey()、* reduceByKey(func)、

下面列出一些常见的行动操作(Action API):

  • count() 、* collect() 、* first() 、* take(n) 、* reduce(func) 、* foreach(func) 、

9、Spark 中下面哪种操作方法的返回值可以与输入类型不同:
A、reduceByKey B、combineByKey C、sortByKey D、groupByKey

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

11、Spark SQL可以处理的数据源包括:
A、Hive表
B、数据文件、Hive表
C、数据文件、Hive表、RDD
D、数据文件、Hive表、RDD、外部数据库

12、下列说法正确的是:
A、SparkSQL的前身是Hive //是shark
B、DataFrame其实就是RDD
C、HiveContext继承了SqlContext
D、HiveContext只支持SQL 语法解析器 //还有HiveQL 语法解析器

13、查看DataFrame对象df前30条记录的语句为:
A、df.show
B、fs.show(false)//显示所有记录
C、fs.show(30)
D、df.collect)

14、关于DataFrame的说法错误的是:
A、DataFrame是由SchemaRDD发展而来
B、DataFrame直接继承了RDD
C、DataFrame实现了RDD的绝大多数功能
D、DataFrame是一个分布式Row对象的数据集合

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

16、DataFrame的groupBy方法返回的结果是什么类型:
A、DataFrame B、Column C、RDD D、GroupedData

17、Spark Streaming的基础和高级数据来源包括哪些?
A、文件系统、Socket连接、Hive
B、文件系统、Socket 连接和Kafka
C、HDFS、HBase
D、Socket连接、MySQL

18、将DStream中的数据输出到外部数据库时,以下做法正确的是哪项?
A、在Spark Driver 端创建连接
B、直接在Worker 端创建连接
C、在Worker 端使用foreachpartition 创建连接
D、在Spark Driver 端使用foreachpartition创建连接

19、关于Spark Streaming,以下说法错误的是哪项?
A、Spark Streaming是Spark的核心子框架之一
B、Spark Streaming 具有可伸缩、高吞吐量、容错能力强等特点
C、Spark Streaming处理的数据源可以来自Kafka
D、Spark Streaming 不能和Spark SQL、MLlib、GraphX无缝集成

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

对比Hadoop 框架和Spark框架,Spark 有哪些优势?

回顾Hadoop的工作流程,可以发现Hadoop存在如下一些缺点:
表达能力有限。计算都必须要转化成Map和Reduce两个操作,但这并不适合所有的情况,难以描述复杂的数据处理过程;
磁盘IO开销大。每次执行时都需要从磁盘读取数据,并且在计算完成后需要将中间结果写入到磁盘中,IO开销较大;
延迟高。一次计算可能需要分解成一系列按顺序执行的MapReduce任务,任务之间的衔接由于涉及到IO开销,会产生较高延迟。而且,在前一个任务执行完成之前,其他任务无法开始,难以胜任复杂、多阶段的计算任务。
Spark在借鉴Hadoop MapReduce优点的同时,很好地解决了MapReduce所面临的问题。相比于MapReduce,Spark主要具有如下优点:
 Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供了多种数据集操作类型,编程模型比MapReduce更灵活
 Spark提供了内存计算,中间结果直接放到内存中,带来了更高的迭代运算效率;
 Spark基于DAG的任务调度执行机制,要优于MapReduce的迭代执行机制。

你可能感兴趣的:(大数据)