《Spark大数据分析与内存计算》——第一章

第一章习题集答案

快捷查找:Ctrl+F   在搜索框中输入题目

一. 单选题(共3题)

1. (单选题)下面哪个不是Spark 的四大组件

A. Spark Streaming

B. park R

C. Graphx

D. Mlib

正确答案: B:park R ;

2. (单选题)Spark 哪个模式利用的Hadoop 的资源管理器

A. Spark on local

B. spark on YARN

C. spark on mesos

D. standalone

正确答案: B:spark on YARN ;

3. (单选题)Stage 的 Task 的数量由什么决定

A. TaskScheduler

B. Job

C. Partition

D. Stage

正确答案: C:Partition ;

二. 多选题(共6题)

4. (多选题)Spark的四大特点有什么

A. 支持多种资源管理器

B. 简单

C. 易用

D. 迅速

E. 通用

正确答案: ACDE:支持多种资源管理器 ; 易用 ; 迅速; 通用;

5. (多选题)Spark与Hadoop的区别为

A. 解决问题方式不同

B.  特点不同

C. 应用场景不同

D. 两者可合可分

正确答案: AD:解决问题方式不同 ; 两者可合可分 ;

6. (多选题)Spark Core包括什么

A. Spark SQL

B. Hash

C. SparkContext

D. Mllib

正确答案: AD:Spark SQL ; Mllib ;

7. (多选题)Spark特点包括

A. 稳健

B. 大量

C. 迅速

D. 易用

正确答案: CD:迅速 ; 易用 ;

8. (多选题)Spark的架构包括

A. Cluster Manager

B. Executor

C. Worker

D. Driver App

正确答案: ABCD:Cluster Manager ; Executor ; Worker ; Driver App ;

9. (多选题)Spark2.X新特征简单讲述三方面,分别为

A. 智能优化

B. 精简的API

C. Spark Core 的优化

D. Spark作为编译器

正确答案: ABD:智能优化 ; 精简的API ; Spark作为编译器 ;

三. 判断题(共14题)

10. (判断题) Spark可以非常方便地与其他的开源产品进行融合。

A. 对

B. 错

正确答案: 对

11. (判断题)Spark SQL是Spark用来操作非结构化数据的组件

A. 对

B. 错

正确答案: 错

12. (判断题)Spark支持多种资源管理器。

A. 对

B. 错

正确答案: 对

13. (判断题)Spark在2010年由Matei Zaharia在加州大学伯克利分校的AMPLab

A. 对

B. 错

正确答案: 错

14. (判断题)Spark则是一个专门的,用来对那些分布式存储的大数据进行处理的工具,它会进行分布式数据的存储。

A. 对

B. 错

正确答案: 错

15. (判断题)MLlib是Spark提供的一个机器学习算法库。

A. 对

B. 错

正确答案: 对

16. (判断题)Spark要比Hadoop快 10x-100x。

A. 对

B. 错

正确答案: 错

17. (判断题)Spark是基于内存的技术。

A. 对

B. 错

正确答案: 错

18. (判断题) Spark能够帮助我们处理那些需要处理大量实时或压缩数据的计算密集型的任务和挑战。

A. 对

B. 错

正确答案: 对

19. (判断题)Spark 2.0搭载了第二代Tungsten引擎。

A. 对

B. 错

正确答案: 对

20. (判断题)Spark的存在将代替Hadoop。

A. 对

B. 错

正确答案: 错

21. (判断题)Spark的构架设计,它分为4个组成部分,分别为Cluster Manager、Worker、Executor、Driver API。

A. 对

B. 错

正确答案: 错

22. (判断题)MapReduce上的不同作业在同一个节点运行时,会各自启动一个JVM(Java虚拟机)。而Spark同一节点的所有任务都可以在一个JVM上运行。

A. 对

B. 错

正确答案: 对

23. (判断题)Spark Core提供Spark最基础与最核心的功能,它的子框架包括Spark SQL,Spark Streaming,MLlib和GraphX。

A. 对

B. 错

正确答案: 对

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,下面是回复: 【SparkSpark基础练习题(二)是一组用于练习Spark基础知识的题目。这些题目涵盖了Spark的常用操作,包括RDD的创建、转换和行动操作,以及Spark SQL的使用等。通过完成这些练习题,可以加深对Spark的理解和掌握,提高Spark编程能力。 ### 回答2: Spark 基础练习题2主要涉及到 Spark Core 和 Spark SQL。其中,Spark Core 是 Spark 最基础的模块,它包含了 Spark 的所有基本组件,如 RDD、SparkConf、SparkContext 和 Task 等,是使用 Spark 的起点。Spark SQL 则是 Spark 中处理结构化数据的核心模块,使用起来非常方便,能够快速地完成数据的查询和处理。 针对这道练习题,首先需要了解 Spark Core。Spark Core 中最重要的概念是 RDD(Resilient Distributed Dataset,弹性分布式数据集),它是一种分布式的内存计算模型,也是 Spark 进行数据处理的核心数据结构。在处理数据时,可以使用 RDD 对数据进行转换和操作,比如 map、filter、reduce、join 等操作。SparkContext 是 Spark 的入口点,它负责和集群进行通信,并控制整个应用程序的运行流程。另外,SparkConf 是 Spark 的配置管理器,可以指定一些应用程序的运行参数。 对于 Spark SQL,它采用的是类似于传统 SQL 的结构化查询语言,可以让用户使用 SQL 语句对数据进行查询和分析。在 Spark SQL 中,最常用的 API 是 DataFrame 和 Dataset。DataFrame 是以列为主导的数据结构,可以将它看成是关系型数据库中的表,它提供了灵活的编程和数据处理方式。Dataset 则是对 DataFrame 进行的补充,它将 DataFrame 转换成类型化的数据集合,提供了更好的类型检查和运行时安全。 综上所述,Spark 基础练习题2需要掌握 Spark Core 和 Spark SQL 的基础概念,并能够用它们进行数据处理和分析。需要注意的是,这里只是一个简单的练习题,如果想要真正学好 Spark,还需要深入学习 Spark 的各个模块和外部组件,比如 Spark Streaming、Spark MLlib 等,并掌握其高级应用场景。 ### 回答3: Spark是一个开源的分布式计算框架,可以用来加速大规模数据处理。在Spark中,一个重要的概念是Resilient Distributed Datasets(RDD),它是Spark分布式数据处理的基本单元。本文将介绍Spark基础练习题(二),帮助大家更好地理解和掌握Spark。 1. 定义RDD RDD是Resilient Distributed Datasets的缩写,它是Spark中最基本的分布式数据结构。RDD是一个只读的、可分区、可并行计算的数据集合,支持多种数据源,包括Hadoop Distributed File System(HDFS)、本地文件系统以及其他支持Hadoop InputFormat的数据源。在Spark中,RDD可以通过各种操作转换和处理,例如map、filter、reduce等,同时支持缓存和持久化,可以提供高效的内存计算和数据共享。 2. RDD的特点 RDD具有以下特点: - 分布式处理:RDD可以在Spark集群中分布式存储、计算和处理数据,支持高效的数据共享和并行计算。 - 可靠性和容错性:RDD具备不可变性,即一旦创建就不能修改。它可以通过记录分区的变换历史来实现容错性,如果某个分区的数据丢失或失效,可以重新计算。 - 惰性计算:RDD是一种惰性计算模型,支持高效的转换和操作,但只有在需要输出结果时才会真正计算。 - 可缓存和持久化:通过缓存和持久化机制,可以提高计算效率和速度,减少重复计算。 3. 创建RDD 在Spark中,可以通过多种方式创建RDD,常用的有以下几种: - 从本地文件系统创建:使用SparkContext的textFile方法,可以将本地文件系统中的文件读入为RDD: ``` val fileRDD = sc.textFile("file:///path/to/file") ``` - 从HDFS创建:使用SparkContext的textFile方法或Hadoop API读取HDFS文件创建RDD: ``` val hdfsRDD = sc.textFile("hdfs://namenode:8020/path/to/file") ``` - 通过并行化集合创建:使用SparkContext的parallelize方法,可以创建一个包含给定集合中所有元素的RDD: ``` val listRDD = sc.parallelize(List(1, 2, 3, 4, 5)) ``` 4. RDD的转换操作 RDD支持多种转换操作,常用的有以下几种: - map:对RDD中的每个元素应用一个函数,返回一个新的RDD。 ``` val rdd1 = sc.parallelize(List(1, 2, 3, 4, 5)) val rdd2 = rdd1.map(_ * 2) ``` - filter:根据给定的条件过滤RDD中的元素,返回一个新的RDD。 ``` val rdd1 = sc.parallelize(List(1, 2, 3, 4, 5)) val rdd2 = rdd1.filter(_ % 2 == 0) ``` - flatMap:对每个元素应用一个函数,并将结果展开为一个新的RDD。 ``` val rdd1 = sc.parallelize(List("Hello world", "Spark is great")) val rdd2 = rdd1.flatMap(_.split(" ")) ``` - union:将两个RDD合并为一个新的RDD。 ``` val rdd1 = sc.parallelize(List(1, 2, 3)) val rdd2 = sc.parallelize(List(4, 5, 6)) val rdd3 = rdd1.union(rdd2) ``` 5. RDD的行动操作 行动操作是指对RDD进行计算并返回结果的操作。常用的行动操作有以下几种: - count:返回RDD中元素的个数。 ``` val rdd = sc.parallelize(List(1, 2, 3, 4, 5)) val count = rdd.count() ``` - reduce:对RDD中的元素进行累加或拼接等操作。 ``` val rdd = sc.parallelize(List(1, 2, 3, 4, 5)) val sum = rdd.reduce(_ + _) ``` - collect:将RDD中的所有元素以数组的形式返回。 ``` val rdd = sc.parallelize(List(1, 2, 3, 4, 5)) val array = rdd.collect() ``` - foreach:对RDD中的每个元素应用一个函数。 ``` val rdd = sc.parallelize(List(1, 2, 3, 4, 5)) rdd.foreach(println) ``` 以上是Spark基础练习题(二)的简单介绍,通过熟练掌握和练习这些操作,相信大家能够更好地理解和应用Spark分布式计算框架,提高大数据处理的效率和速度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值