来源:奥鹏远程教育 日期: 作者:奥鹏作业辅导
可做全部院校网课作业、课程代看、网考、论文辅导!答案请加微信:xx99ttt 或QQ:1514133056
南开19秋《大数据开发技术(上)》课程期末复习资料满分答案
《大数据开发技术(上)》课程期末复习资料《大数据开发技术(上)》课程讲稿章节目录:
第1章 Spark概述
(1)了解Spark的发展及特点
(2)了解Spark的生态圈
(3)了解Spark的应用场景
第2章 Scala基础
(1)了解Scala简介及安装
(2)掌握Scala基础(1)
(3)掌握Scala基础(2)
(4)掌握Scala基础(3)
(5)掌握Scala数据结构(1)
(6)掌握Scala数据结构(2)
(7)掌握Scala类
第3章 Spark编程
(1)掌握创建RDD
(2)掌握RDD操作(1)
(3)掌握RDD操作(2)
(4)掌握RDD操作(3)
(5)掌握RDD操作(4)
(6)掌握文件的读取与存储
第4章 Spark编程进阶
(1)了解安装IDEA
(2)了解IDEA配置Spark运行环境
(3)掌握持久化
(4)掌握数据分区
(5)掌握练习——计算价格波动幅度
第5章 Spark SQL:结构化数据文件处理
(1)了解Spark SQL概述
(2)掌握DStream编程模型(1)
(3)掌握DStream编程模型(2)
(4)掌握练习——实时更新热门博文
第6章 Spark Streaming:实时计算框架
(1)了解Spark Streaming概述
(2)掌握DStream编程模型(1)
(3)掌握DStream编程模型(2)
(4)掌握练习——实时更新热门博文
第7章 Spark GraphX:图计算框架
(1)了解Spark GraphX概述
(2)掌握GraphX常用API(1)
(3)掌握GraphX常用API(2)
(4)掌握GraphX常用API(3)
(5)掌握GraphX常用API(4)
(6)掌握GraphX常用API(5)
(7)掌握MapReduce编程实践
第8章 Spark MLlib:功能强大的算法库
(1)了解MLlib算法库简介
(2)掌握Mllib算法与算法包(1)
(3)掌握Mllib算法与算法包(2)
(4)掌握Mllib算法与算法包(3)
(5)掌握Mllib算法与算法包(4)
(6)掌握练习——以Logistic实现用户分类(1)
(7)掌握练习——以Logistic实现用户分类(2)
第9章 项目案例:餐饮平台菜品智能推荐
(1)掌握项目案例——餐饮平台菜品智能推荐(1)
(2)掌握项目案例——餐饮平台菜品智能推荐(2)
(3)掌握项目案例——餐饮平台菜品智能推荐(3)
(4)掌握项目案例——餐饮平台菜品智能推荐(4)
(5)掌握项目案例——餐饮平台菜品智能推荐(5)
(6)了解可视化工具实践(3)
一、客观部分:(单项选择、多项选择、不定项选择、判断)
(一)、判断部分
1、Spark取代Hadoop仅仅是取代MapReduce这种计算框架,Spark可以取代HDFS吗
答案: 错
★难度:中
参见章节:第1章 第1节
考核知识点:Spark的发展及特点
试题解析:
2、Spark是Apache基金会的顶级项目
答案: 对
★难度:易
参见章节:第1章 第1节
考核知识点:Spark的发展及特点
试题解析:
3、Spark在同一个应用中不能同时使用Spark SQL和Mllib
答案: 错
★难度:中
参见章节:第1章 第1节
考核知识点:Spark的发展及特点
试题解析:
4、用户可以在Hadoop YARN上运行Spark
答案: 对
★难度:易
参见章节:第1章 第1节
考核知识点:Spark的发展及特点
试题解析:
5、用户可以在Apache Mesos上运行Spark
答案: 对
★难度:易
参见章节:第1章 第1节
考核知识点:Spark的发展及特点
试题解析:
6、Spark SQL仅仅包括基本的SQL语法
答案: 错
★难度:难
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
7、Spark SQL包括基本的SQL语法和HiveQL语法
答案: 对
★难度:易
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
8、Scala是一种纯面向对象的语言,每个值都是对象。
答案: 对
★难度:易
参见章节:第2章 第1节
考核知识点:Scala简介及安装
试题解析:
9、Scala是Scalable Language的简写,是一门多范式的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。
答案: 对
★难度:易
参见章节:第2章 第1节
考核知识点:Scala简介及安装
试题解析:
10、Scala是Scalable Language的简写,是一门多范式的编程语言,设计初衷是不包括面向对象编程的特性。
答案: 错
★难度:易
参见章节:第2章 第1节
考核知识点:Scala简介及安装
试题解析:
11、Scala是Scalable Language的简写,是一门多范式的编程语言,设计初衷是不包括函数式编程的特性。
答案: 错
★难度:易
参见章节:第2章 第1节
考核知识点:Scala简介及安装
试题解析:
12、Scala其函数不能当成值来使用
答案: 错
★难度:易
参见章节:第2章 第1节
考核知识点:Scala简介及安装
试题解析:
13、Scala 配备了一种表现型的系统,它以静态的方式进行抽象,以安全和连贯的方式进行使用。
答案: 对
★难度:易
参见章节:第2章 第1节
考核知识点:Scala简介及安装
试题解析:
14、Scala 配备了一种表现型的系统,它以动态的方式进行抽象,以安全和连贯的方式进行使用。
答案: 错
★难度:易
参见章节:第2章 第1节
考核知识点:Scala简介及安装
试题解析:
15、Scala是不可扩展的
答案: 错
★难度:易
参见章节:第2章 第1节
考核知识点:Scala简介及安装
试题解析:
16、Scala中创建一个方法时经常用void表示该方法无返回值
答案: 错
★难度:易
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
17、Scala中用Unit表示无值,等同于Java中的void
答案: 对
★难度:易
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
18、Scala可以通过“var” 来定义变量,通过“val” 关键字来定义常量
答案: 对
★难度:易
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
19、Scala可以通过“val” 来定义变量,通过“var” 关键字来定义常量
答案: 错
★难度:易
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
20、val如同Java里面的非final变量,可以在它的声明周期中被多次赋值。
答案: 错
★难度:易
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
21、Scala中数组的第一个元素索引为1
答案: 错
★难度:易
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
22、Scala 语言中提供的数组是用来存储动态大小的同类型元素
答案: 错
★难度:易
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
23、Scala调用匿名函数可以将函数赋值给一个常量或变量,然后通过常量名或变量名调用该函数
答案: 对
★难度:易
参见章节:第2章 第3节
考核知识点:Scala基础(2)
试题解析:
24、Scala中高阶函数可以使用函数作为参数,也可以使用函数作为输出结果。
答案: 对
★难度:易
参见章节:第2章 第3节
考核知识点:Scala基础(2)
试题解析:
25、Scala中高阶函数经常将只需要执行多次的函数定义为匿名函数作为参数
答案: 错
★难度:中
参见章节:第2章 第3节
考核知识点:Scala基础(2)
试题解析:
26、Scala中高阶函数可以产生新的函数,并将新的函数作为返回值。
答案: 对
★难度:易
参见章节:第2章 第3节
考核知识点:Scala基础(2)
试题解析:
27、Scala中++i和i++表示变量i自增1
答案: 错
★难度:易
参见章节:第2章 第4节
考核知识点:Scala基础(3)
试题解析:
28、Scala 列表与数组非常相似,列表的所有元素可具有不同的类型。
答案: 错
★难度:易
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
29、Scala中列表是可变的
答案: 错
★难度:易
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
30、Scala列表中last返回列表最后一个元素
答案: 对
★难度:中
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
31、Scala列表中last返回一个列表,包含除了第一个元素之外的其他元素
答案: 错
★难度:中
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
32、Scala Set(集合)是没有重复的对象集合,所有的元素都是唯一的
答案: 对
★难度:易
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
33、Scala 集合分为可变的和不可变的集合
答案: 对
★难度:易
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
34、默认情况下,Scala 使用的是可变集合
答案: 错
★难度:易
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
35、Scala中集合连接时如果元素有重复的就会移除重复的元素
答案: 对
★难度:易
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
36、Scala中元组是是一种可迭代的键值对(key/value)结构。
答案: 错
★难度:易
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
37、Scala中默认情况下使用的是可变的Map
答案: 错
★难度:易
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
38、Scala中Map的isEmpty函数在Map为空时返回true
答案: 对
★难度:易
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
39、Scala中Map的isEmpty函数在Map为空时返回false
答案: 错
★难度:易
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
40、Scala中Map 合并时会移除重复的 key
答案: 对
★难度:易
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
41、Scala中元组可以包含不同类型的元素
答案: 对
★难度:中
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
42、Scala函数组合器可以通过一个函数重新计算列表中所有元素,没有返回值
答案: 错
★难度:中
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
43、Scala函数组合器中foreach和map类似,有返回值
答案: 错
★难度:中
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
44、Scala函数组合器中filter过滤移除使得传入的函数的返回值为true的元素
答案: 错
★难度:中
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
45、Scala函数组合器中flatten可以把嵌套的结构展开
答案: 对
★难度:中
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
46、Scala函数组合器中flatmap结合了map和flatten的功能,接收一个可以处理嵌套列表的函数,然后把返回结果连接起来
答案: 对
★难度:中
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
47、Scala函数组合器中groupBy是对集合中的元素进行分组操作,结果得到的是一个Map
答案: 对
★难度:易
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
48、Scala中允许集成多个父类
答案: 错
★难度:中
参见章节:第2章 第7节
考核知识点:Scala类
试题解析:
49、Scala在子类中重写超类的抽象方法时,需要使用override关键字
答案: 错
★难度:难
参见章节:第2章 第7节
考核知识点:Scala类
试题解析:
50、RDD是一个可读写的数据结构
答案: 错
★难度:易
参见章节:第3章 第1节
考核知识点:创建RDD
试题解析:
51、SparkContext类中parallelize方法可将单机数据创建为分布式RDD
答案: 对
★难度:易
参见章节:第3章 第1节
考核知识点:创建RDD
试题解析:
52、SparkContext类中makeRDD方法不可将单机数据创建为分布式RDD
答案: 错
★难度:易
参见章节:第3章 第1节
考核知识点:创建RDD
试题解析:
53、RDD的转换操作通过某种函数将一个RDD 转换为一个新的RDD , 但是转换操作是懒操作,不会立刻执行计算。
答案: 对
★难度:易
参见章节:第3章 第2节
考核知识点:RDD操作(1)
试题解析:
54、RDD的行动操作是用于触发转换操作的操作,这个时候才会真正开始进行计算。
答案: 对
★难度:易
参见章节:第3章 第2节
考核知识点:RDD操作(1)
试题解析:
55、RDD的行动操作通过某种函数将一个RDD 转换为一个新的RDD , 但是转换操作是懒操作,不会立刻执行计算。
答案: 错
★难度:易
参见章节:第3章 第2节
考核知识点:RDD操作(1)
试题解析:
56、RDD的转换操作是用于触发转换操作的操作,这个时候才会真正开始进行计算。
答案: 错
★难度:易
参见章节:第3章 第2节
考核知识点:RDD操作(1)
试题解析:
57、RDD的map操作不会改变RDD的分区数目
答案: 对
★难度:易
参见章节:第3章 第2节
考核知识点:RDD操作(1)
试题解析:
58、RDD的flatMap操作是将函数应用于RDD 之中的每一个元素,将返回的迭代器(数组、列表等)中的所有元素构成新的RDD 。
答案: 对
★难度:易
参见章节:第3章 第2节
考核知识点:RDD操作(1)
试题解析:
59、RDD的mapPartitions操作会导致Partitions数量的变化
答案: 错
★难度:易
参见章节:第3章 第2节
考核知识点:RDD操作(1)
试题解析:
60、RDD的sortBy排序默认是升序
答案: 对
★难度:易
参见章节:第3章 第2节
考核知识点:RDD操作(1)
试题解析:
61、RDD的sortBy函数包含参数numPartitions,该参数决定排序后的RDD的分区个数,默认排序后的分区个数和排序之前的个数相等,即为this.partitions.size。
答案: 对
★难度:易
参见章节:第3章 第2节
考核知识点:RDD操作(1)
试题解析:
62、RDD的filter过滤会将返回值为true的过滤掉
答案: 错
★难度:易
参见章节:第3章 第3节
考核知识点:RDD操作(2)
试题解析:
63、RDD的filter函数返回一个存储符合过滤条件的所有元素的新RDD
答案: 对
★难度:易
参见章节:第3章 第3节
考核知识点:RDD操作(2)
试题解析:
64、RDD的union函数会将两个RDD元素合并成一个并且去处重复元素
答案: 错
★难度:难
参见章节:第3章 第3节
考核知识点:RDD操作(2)
试题解析:
65、RDD的subtract用于用于将前一个RDD 中在后一个RDD 出现的元素删除
答案: 对
★难度:难
参见章节:第3章 第3节
考核知识点:RDD操作(2)
试题解析:
66、RDD的subtract用于用于将后一个RDD 中在前一个RDD 出现的元素删除
答案: 错
★难度:难
参见章节:第3章 第3节
考核知识点:RDD操作(2)
试题解析:
67、RDD的intersection方法用于求出两个RDD 的共同元素
答案: 对
★难度:易
参见章节:第3章 第3节
考核知识点:RDD操作(2)
试题解析:
68、RDD的cartesian函数是笛卡尔积,也就是将两个集合的元素两两组合成一组
答案: 对
★难度:易
参见章节:第3章 第3节
考核知识点:RDD操作(2)
试题解析:
69、键值对RDD由一组组的键值对组成,这些RDD被称为PairRDD。
答案: 对
★难度:易
参见章节:第3章 第4节
考核知识点:RDD操作(3)
试题解析:
70、PairRDD中mapValues是针对键值对(Key,Value)类型的数据中的key和Value进行Map操作
答案: 错
★难度:易
参见章节:第3章 第4节
考核知识点:RDD操作(3)
试题解析:
71、PairRDD中groupBy(func)func返回key,传入的RDD的各个元素根据这个key进行分组。
答案: 对
★难度:易
参见章节:第3章 第4节
考核知识点:RDD操作(3)
试题解析:
72、PairRDD中groupByKey是对具有相同键的值进行分组
答案: 对
★难度:易
参见章节:第3章 第4节
考核知识点:RDD操作(3)
试题解析:
73、PairRDD中reduceByKey的功能是合并具有相同键的值,作用域是KeyValue 类型的键值对,并且是只对每个Key 的Value 进行处理
答案: 对
★难度:易
参见章节:第3章 第4节
考核知识点:RDD操作(3)
试题解析:
74、RDD中join操作最后只返回两个RDD 都存在的键的连接结果。
答案: 对
★难度:易
参见章节:第3章 第5节
考核知识点:RDD操作(4)
试题解析:
75、RDD中join操作根据键对两个RDD进行内连接,将两个RDD 中键相同的数据的值相加。
答案: 错
★难度:易
参见章节:第3章 第5节
考核知识点:RDD操作(4)
试题解析:
76、RDD中zip操作要求两个RDD的partition数量以及元素数量都相同
答案: 对
★难度:易
参见章节:第3章 第5节
考核知识点:RDD操作(4)
试题解析:
77、RDD中combineByKey不允许返回类型与输入数据类型不同的返回值
答案: 错
★难度:易
参见章节:第3章 第5节
考核知识点:RDD操作(4)
试题解析:
78、RDD中的collect 函数是一个行动操作,把RDD 所有元素转换成数组并返回到Driver 端,适用于大数据处理后的返回。
答案: 错
★难度:易
参见章节:第3章 第5节
考核知识点:RDD操作(4)
试题解析:
79、Spark RDD 是惰性求值的, 如果需要对一个RDD 多次使用,那么调用行动操作时每次都需要重复计算RDD 以及它的依赖。
答案: 对
★难度:中
参见章节:第4章 第3节
考核知识点:持久化
试题解析:
80、Spark持久化RDD 后,在再一次需要计算该RDD 时将需要重新计算
答案: 错
★难度:中
参见章节:第4章 第3节
考核知识点:持久化
试题解析:
81、如果其中有一个节点因为某种原因出现故障时, Spark 需要用到缓存数据时不会重算丢失的分区,因此不需要计算所有的分区。
答案: 错
★难度:易
参见章节:第4章 第3节
考核知识点:持久化
试题解析:
82、Spark对只有未曾设置存储级别的RDD才能设置存储级别,设置了存储级别的RDD不能修改其存储级别
答案: 对
★难度:易
参见章节:第4章 第3节
考核知识点:持久化
试题解析:
83、Spark只有键值对类型的RDD才能设置分区方式
答案: 对
★难度:易
参见章节:第4章 第4节
考核知识点:数据分区
试题解析:
84、Spark系统是根据一个针对键的函数对元素进行分区的,虽然不能控制每个键具体划分到哪个节点,但是可以控制相同的键落在同一个分区
答案: 对
★难度:易
参见章节:第4章 第4节
考核知识点:数据分区
试题解析:
85、Spark SQL可被视为一个分布式的SQL查询引擎,并且提供了一个叫做DataFrame的可编程抽象数据模型
答案: 对
★难度:易
参见章节:第5章 第1节
考核知识点:Spark SQL概述
试题解析:
86、DataFrame是一个分布式的Row对象的数据集合
答案: 对
★难度:易
参见章节:第5章 第1节
考核知识点:Spark SQL概述
试题解析:
87、Spark可以通过反射机制推断RDD模式
答案: 对
★难度:易
参见章节:第5章 第2节
考核知识点:DataFrame基础操作(1)
试题解析:
88、Spark的DataFrame只有在提交Action 操作时才会进行计算
答案: 对
★难度:易
参见章节:第5章 第2节
考核知识点:DataFrame基础操作(1)
试题解析:
89、Spark中DataFrame 的查询操作也是一个懒操作, 仅仅生成一个查询计划, 只有触发Action 操作才会进行计算并返回查询结果。
答案: 对
★难度:易
参见章节:第5章 第3节
考核知识点:DataFrame基础操作(2)
试题解析:
90、Spark Streaming中时间片也可称为批处理时间间隔(batch interval),时间片是人为地对数据进行定量的标准,作为拆分数据的依据,一个时间片的数据对应一个RDD 实例。
答案: 对
★难度:易
参见章节:第6章 第1节
考核知识点:Spark Streaming概述
试题解析:
91、Spark Streming中Dstream是一种抽象的离散流
答案: 对
★难度:易
参见章节:第6章 第2节
考核知识点:DStream编程模型(1)
试题解析:
92、Spark Streming中DStream可以通过外部数据源(Kafka,Flume,Twitter等)来获取,也可以通过现有DStream的高级操作(Transformation操作)获得
答案: 对
★难度:易
参见章节:第6章 第2节
考核知识点:DStream编程模型(1)
试题解析:
93、Spark Streming中DStream代表着一系列的持续的RDDs
答案: 对
★难度:易
参见章节:第6章 第2节
考核知识点:DStream编程模型(1)
试题解析:
94、Spark Streming中对DStream的任何操作都会转化成对底层RDDs的操作
答案: 对
★难度:易
参见章节:第6章 第2节
考核知识点:DStream编程模型(1)
试题解析:
95、Dstream输出操作中foreachRDD的正确用法是使用rdd.foreachPartition方法创建一个单独的连接对象,然后使用该连接对象输出所有RDD分区中的数据到外部系统
答案: 对
★难度:易
参见章节:第6章 第3节
考核知识点:DStream编程模型(2)
试题解析:
96、Dstream提供了sort方法
答案: 错
★难度:易
参见章节:第6章 第3节
考核知识点:DStream编程模型(2)
试题解析:
97、图是由一个有穷非空顶点集合和一个描述顶点之间多对多关系的边集合组成的数据结构。
答案:
★难度:易
参见章节:第7章 第1节
考核知识点:Spark GraphX概述
试题解析:
98、图(Graph)是一种复杂的非线性结构
答案: 对
★难度:易
参见章节:第7章 第1节
考核知识点:Spark GraphX概述
试题解析:
99、图的出度数是以当前顶点为起点的边的数量
答案: 对
★难度:易
参见章节:第7章 第3节
考核知识点:GraphX常用API(2)
试题解析:
100、Spark GraphX课通过mapVertices[VD2: ClassTag](map: (VertexId, VD) => VD2)实现对顶点属性经过变换生成新的图
答案: 对
★难度:易
参见章节:第7章 第4节
考核知识点:GraphX常用API(3)
试题解析:
101、Spark GraphX课通过mapEdges[ED2](map: Edge[ED] => ED2)实现对边属性经过变换生成新的图
答案: 对
★难度:易
参见章节:第7章 第4节
考核知识点:GraphX常用API(3)
试题解析:
102、Spark GraphX课通过mapTriplets[ED2: ClassTag](map: EdgeTriplet[VD, ED] => ED2)
实现对边属性经过变换生成新的图
答案: 对
★难度:易
参见章节:第7章 第4节
考核知识点:GraphX常用API(3)
试题解析:
103、MLlib由一些通用的学习算法和工具组成,包括分类、回归、聚类、协同过滤、降维等,同时还包括底层的优化原语和高层的管道API。
答案: 对
★难度:易
参见章节:第8章 第1节
考核知识点:MLlib算法库简介
试题解析:
104、mllib.feature中存在一些常见的特征转化方法,主要包括创建特征向量和标准化数据
答案: 对
★难度:易
参见章节:第8章 第2节
考核知识点:Mllib算法与算法包(1)
试题解析:
105、MLlib中Normalizer是一个转换器,它可以将多行向量输入转化为统一的形式。
答案: 对
★难度:易
参见章节:第8章 第3节
考核知识点:Mllib算法与算法包(2)
试题解析:
106、MLlib中StandardScaler处理的对象是每一列,也就是每一维特征,将特征标准化为单位标准差或是0均值,或是0均值单位标准差。
答案: 对
★难度:易
参见章节:第8章 第3节
考核知识点:Mllib算法与算法包(2)
试题解析:
107、聚类是一种无监督学习的方法,用于将高度相似的数据分到一类中
答案: 对
★难度:易
参见章节:第8章 第5节
考核知识点:Mllib算法与算法包(4)
试题解析:
(二)、选择部分
1、MapReudce不适合()任务
A.大数据计算
B.迭代
C.交互式
D.离线分析
答案: B C
★难度:难
参见章节:第1章 第1节
考核知识点:Spark的发展及特点
试题解析:
2、Spark是一个()计算框架
A.快速
B.分布式
C.可扩展
D.容错
答案: A B C D
★难度:中
参见章节:第1章 第1节
考核知识点:Spark的发展及特点
试题解析:
3、一般情况下,对于迭代次数较多的应用程序,Spark程序在内存中的运行速度是Hadoop MapReduce运行速度的()多倍
A.2
B.10
C.100
D.1000
答案: C
★难度:易
参见章节:第1章 第1节
考核知识点:Spark的发展及特点
试题解析:
4、Spark支持使用()语言编写应用
A.Scala
B.Python
C.Java
D.R
答案: A B C D
★难度:易
参见章节:第1章 第1节
考核知识点:Spark的发展及特点
试题解析:
5、Spark包含的高级工具有()
A.Spark SQL
B.Mllib
C.GraphX
D.park Streaming
答案: A B C D
★难度:易
参见章节:第1章 第1节
考核知识点:Spark的发展及特点
试题解析:
6、Spark可以从()分布式文件系统中读取数据
A.HDFS
B.Hbase
C.Hive
D.Tachyon
答案: A B C D
★难度:中
参见章节:第1章 第1节
考核知识点:Spark的发展及特点
试题解析:
7、()是Spark的核心,提供底层框架及核心支持
A.Spark Core
B.Spark SQL
C.Spark Streaming
D.Mllib
答案: A
★难度:易
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
8、Spark中的RDD的说法正确的是()
A.弹性分布式数据集
B.是Spark中最基本的数据抽象
C.代表一个可变的集合
D.代表的集合里面的元素可并行计算
答案: A B D
★难度:难
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
9、Spark Core包含的功能有()
A.任务调度
B.内存管理
C.SQL查询
D.容错机制
答案: A B D
★难度:难
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
10、Spark中运行交互式SQL查询的大规模并行查询引擎是()
A.Spark Core
B.Spark SQL
C.BlinkDB
D.Mllib
答案: C
★难度:中
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
11、Spark SQL读取的数据源支持()
A.Hive表
B.Parquent文件
C.JSON数据
D.关系数据库
答案: A B C D
★难度:中
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
12、Spark Streaming支持实时流式数据,包括()
A.Web服务器日志文件
B.社交网络数据
C.实时交易数据
D.类似Kafka的信息数据
答案: A B C D
★难度:难
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
13、MLBase包括()
A.Mllib
B.MLI
C.SparkR
D.GraphX
答案: A B
★难度:中
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
14、Mllib实现了一些常见的机器学习算法和应用程序,包括()
A.分类
B.聚类
C.降维
D.回归
答案: A B C D
★难度:中
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
15、()是Spark的数据挖掘算法库
A.Spark Core
B.BlinkDB
C.GraphX
D.Mllib
答案: D
★难度:易
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
16、()可以解决图计算问题
A.Spark Core
B.BlinkDB
C.GraphX
D.Mllib
答案: C
★难度:易
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
17、()是AMPLab发布的一个R开发包,使得R摆脱单机运行的命运,可以作为Spark的Job运行在集群上
A.SparkR
B.BlinkDB
C.GraphX
D.Mllib
答案: A
★难度:易
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
18、Scala源代码被编译成()字节码,所以它可以运行于JVM之上
A.Spark
B.Scala
C.Java
D.JDK
答案: C
★难度:易
参见章节:第2章 第1节
考核知识点:Scala简介及安装
试题解析:
19、Scala类通过子类化和基于灵活的混合类来进行扩展,作为##的一个可靠性解决方案
A.多态
B.虚函数
C.派生
D.多重继承
答案: D
★难度:易
参见章节:第2章 第1节
考核知识点:Scala简介及安装
试题解析:
20、Scala支持()
A.匿名函数
B.高阶函数
C.函数嵌套
D.柯里化
答案: A B C D
★难度:中
参见章节:第2章 第1节
考核知识点:Scala简介及安装
试题解析:
21、Scala系统支持()作为对象成员
A.通用类
B.内部类
C.抽象类
D.复合类
答案: A B C D
★难度:中
参见章节:第2章 第1节
考核知识点:Scala简介及安装
试题解析:
22、Scala支持()
A.显式参数
B.隐式参数
C.转换
D.多态方法
答案: A B C D
★难度:难
参见章节:第2章 第1节
考核知识点:Scala简介及安装
试题解析:
23、以下哪个不是Scala的数据类型()
A.Int
B.Short Int
C.Long
D.Any
答案: B
★难度:易
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
24、以下哪个不是Scala的数据类型()
A.AnyRef
B.Anything
C.NULL
D.Nothing
答案: B
★难度:中
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
25、以下哪个是Scala的数据类型()
A.Any
B.NULL
C.Nothing
D.AnyRef
答案: A B C D
★难度:难
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
26、Scala通过()来定义变量
A.val
B.val
C.define
D.def
答案: A
★难度:易
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
27、Scala通过()来定义常量
A.val
B.val
C.define
D.def
答案: B
★难度:易
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
28、Scala中合并两个数组的方法是()
A.line
B.add
C.append
D.concat
答案: D
★难度:易
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
29、Scala中哪个函数可以创建区间数组()
A.concat
B.ofDim
C.fill
D.range
答案: D
★难度:易
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
30、Scala中如果函数无返回值,则函数返回类型为()
A.NULL
B.Void
C.Nothing
D.Unit
答案: D
★难度:难
参见章节:第2章 第3节
考核知识点:Scala基础(2)
试题解析:
31、Scala函数支持()
A.递归函数
B.高阶函数
C.柯里化
D.匿名函数
答案: A B C D
★难度:中
参见章节:第2章 第3节
考核知识点:Scala基础(2)
试题解析:
32、Scala中如果函数中的每个参数在函数中最多只出现一次,则可以使用占位符()代替参数。
A.井号
B.下划线
C.斜杠
D.逗号
答案: B
★难度:中
参见章节:第2章 第3节
考核知识点:Scala基础(2)
试题解析:
33、递归函数意味着函数可以调用它()
A.其他函数
B.主函数
C.子函数
D.自身
答案: D
★难度:易
参见章节:第2章 第3节
考核知识点:Scala基础(2)
试题解析:
34、var a=10;
while(a<20){
a+=1;
}
共循环了()次
A.9
B.10
C.11
D.12
答案: B
★难度:易
参见章节:第2章 第4节
考核知识点:Scala基础(3)
试题解析:
35、var a=10;
do{
a+=1;
}while(a<20)
共循环了()次
A.9
B.10
C.11
D.12
答案: B
★难度:易
参见章节:第2章 第4节
考核知识点:Scala基础(3)
试题解析:
36、var a=10;
for(a<-1 to 20){
println(a);
}
共循环了()次
A.10
B.11
C.20
D.19
答案: C
★难度:难
参见章节:第2章 第4节
考核知识点:Scala基础(3)
试题解析:
37、var a=10;
for(a<-1 until 20){
println(a);
}
共循环了()次
A.10
B.11
C.20
D.19
答案: D
★难度:难
参见章节:第2章 第4节
考核知识点:Scala基础(3)
试题解析:
38、下列Scala代码应输出():
var a=0;
var b=0
var sum=0;
for(a<-1 until 3; b<-1 until 3) {
sum+=a+b;
}
println(sum);
A.36
B.35
C.11
D.12
答案: D
★难度:难
参见章节:第2章 第4节
考核知识点:Scala基础(3)
试题解析:
39、Scala列表中()可以表示为一个空列表
A.Nill
B.Nil
C.List
D.None
答案: B
★难度:易
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
40、Scala中构造列表的两个基本单位是 ()
A.Nil
B.Nill
C.::
D.List
答案: A C
★难度:
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
41、Scala列表方法中丢弃前n个元素,并返回新列表的方法是()
A.drop
B.head
C.filter
D.init
答案: A
★难度:易
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
42、Scala列表方法中输出符号指定条件的所有元素的方法是()
A.drop
B.head
C.filter
D.init
答案: C
★难度:中
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
43、Scala列表方法中获取列表的第一个元素的方法是()
A.drop
B.head
C.filter
D.init
答案: B
★难度:易
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
44、Scala列表方法中返回所有元素,除了最后一个的方法是()
A.drop
B.head
C.filter
D.init
答案: D
★难度:中
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
45、Scala列表方法中将函数应用到列表的所有元素的方法是()
A.filter
B.foreach
C.map
D.mkString
答案: B
★难度:中
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
46、Scala列表方法中通过给定的方法将所有元素重新计算的方法是()
A.filter
B.foreach
C.map
D.mkString
答案: C
★难度:中
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
47、Scala列表方法中使用分隔符将列表所有元素作为字符串显示的方法是()
A.filter
B.foreach
C.map
D.mkString
答案: D
★难度:中
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
48、Scala中()方法返回一个列表,包含除了第一个元素之外的其他元素
A.head
B.init
C.tail
D.last
答案: C
★难度:难
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
49、Scala中()方法返回一个列表,包含除了最后一个元素之外的其他元素
A.head
B.init
C.tail
D.last
答案: B
★难度:难
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
50、Scala中可以用()方法来连接两个或多个列表
A.::
B.#:::
C.List.:::()
D.List.concat()
答案: B C D
★难度:难
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
51、Scala中使用()方法来查看两个集合的交集元素
A.Set.concat
B.Set.&
C.Set.&&
D.Set.intersect
答案: B D
★难度:难
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
52、Scala中使用() 方法来连接两个集合
A.append
B.++
C.concat
D.Set.++()
答案: B D
★难度:难
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
53、Scala中()方法返回Map所有的key
A.key
B.keys
C.value
D.values
答案: B
★难度:易
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
54、Scala中()方法返回Map所有的value
A.key
B.keys
C.value
D.values
答案: D
★难度:易
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
55、Scala元组的值是通过将单个的值包含在()中构成的
A.小括号
B.中括号
C.大括号
D.尖括号
答案: A
★难度:易
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
56、Scala函数组合器可以通过一个函数重新计算列表中所有元素,并且返回一个相同数目元素的新列表的方法是()
A.map
B.foreach
C.flatten
D.flatmap
答案: A
★难度:易
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
57、Scala函数组合器可以通过一个函数重新计算列表中所有元素,但是没有返回值的方法是()
A.map
B.foreach
C.flatten
D.flatmap
答案: B
★难度:易
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
58、Scala函数组合器可以过滤移除使得传入的函数的返回值为false的元素的方法是()
A.filter
B.flatten
C.grouby
D.flatmap
答案: A
★难度:易
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
59、Scala函数组合器可以接收一个可以处理嵌套列表的函数,然后把返回结果连接起来的方法是()
A.map
B.foreach
C.flatten
D.flatmap
答案: D
★难度:易
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
60、Scala函数组合器可以把一个二维的列表展开成一个一维的列表的方法是()
A.filter
B.flatten
C.grouby
D.flatmap
答案: B
★难度:中
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
61、Scala函数组合器可以对集合中的元素进行分组操作,结果得到的是一个Map的方法是()
A.filter
B.flatten
C.grouby
D.flatmap
答案: C
★难度:易
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
62、Scala 使用 () 关键字来继承一个类
A.extends
B.override
C.extend
D.overrides
答案: A
★难度:中
参见章节:第2章 第7节
考核知识点:Scala类
试题解析:
63、Scala中重写一个非抽象方法必须使用()修饰符。
A.extends
B.override
C.extend
D.overrides
答案: B
★难度:中
参见章节:第2章 第7节
考核知识点:Scala类
试题解析:
64、Scala可以使用()关键字实现单例模式
A.object
B.static
C.private
D.public
答案: A
★难度:中
参见章节:第2章 第7节
考核知识点:Scala类
试题解析:
65、RDD是一个()的数据结构
A.可读写
B.只读的
C.容错的
D.可进行并行操作的
答案: B C D
★难度:难
参见章节:第3章 第1节
考核知识点:创建RDD
试题解析:
66、以下哪个方法可以从集合中创建RDD()
A.parallelize
B.makeRDD
C.textFile
D.loadFile
答案: A B
★难度:中
参见章节:第3章 第1节
考核知识点:创建RDD
试题解析:
67、以下哪个方法可以从外部存储中创建RDD()
A.parallelize
B.makeRDD
C.textFile
D.loadFile
答案: C
★难度:易
参见章节:第3章 第1节
考核知识点:创建RDD
试题解析:
68、以下哪个方法可以创建RDD()
A.parallelize
B.makeRDD
C.textFile
D.loadFile
答案: A B C
★难度:中
参见章节:第3章 第1节
考核知识点:创建RDD
试题解析:
69、Spark可以通过哪些外部存储创建RDD()
A.文本文件
B.目录
C.压缩文件
D.通配符匹配的文件
答案: A B C D
★难度:易
参见章节:第3章 第1节
考核知识点:创建RDD
试题解析:
70、RDD的()操作通常用来划分单词
A.filter
B.union
C.flatmap
D.mapPartitions
答案: C
★难度:中
参见章节:第3章 第2节
考核知识点:RDD操作(1)
试题解析:
71、以下哪个函数可以对RDD进行排序()
A.sortBy
B.filter
C.distinct
D.intersection
答案: A
★难度:易
参见章节:第3章 第3节
考核知识点:RDD操作(2)
试题解析:
72、以下哪个函数可以对RDD进行过滤()
A.sortBy
B.filter
C.distinct
D.intersection
答案: B
★难度:易
参见章节:第3章 第3节
考核知识点:RDD操作(2)
试题解析:
73、以下哪个函数可以对RDD进行去重()
A.sortBy
B.filter
C.distinct
D.intersection
答案: C
★难度:易
参见章节:第3章 第3节
考核知识点:RDD操作(2)
试题解析:
74、以下哪个函数可以对两个RDD进行合并()
A.union
B.substract
C.intersection
D.cartesian
答案: A
★难度:中
参见章节:第3章 第3节
考核知识点:RDD操作(2)
试题解析:
75、以下哪个函数可以求两个RDD差集 ()
A.union
B.substract
C.intersection
D.cartesian
答案: B
★难度:难
参见章节:第3章 第3节
考核知识点:RDD操作(2)
试题解析:
76、以下哪个函数可以求两个RDD交集 ()
A.union
B.substract
C.intersection
D.cartesian
答案: C
★难度:难
参见章节:第3章 第3节
考核知识点:RDD操作(2)
试题解析:
77、以下哪个函数可以求两个RDD的笛卡尔积()
A.union
B.substract
C.intersection
D.cartesian
答案: D
★难度:中
参见章节:第3章 第3节
考核知识点:RDD操作(2)
试题解析:
78、PairRDD的()方法,可以把两个RDD中键相同的元素组合在一起,合并为一个RDD。
A.join
B.union
C.substract
D.intersection
答案: A
★难度:难
参见章节:第3章 第4节
考核知识点:RDD操作(3)
试题解析:
79、当需要将一个普通的RDD转化为一个PairRDD时可以使用()函数来进行操作
A.transfer
B.change
C.map
D.build
答案: C
★难度:中
参见章节:第3章 第4节
考核知识点:RDD操作(3)
试题解析:
80、PairRDD可以通过()获得仅包含键的RDD
A.key
B.keys
C.value
D.values
答案: B
★难度:易
参见章节:第3章 第4节
考核知识点:RDD操作(3)
试题解析:
81、PairRDD可以通过()获得仅包含值的RDD
A.key
B.keys
C.value
D.values
答案: D
★难度:易
参见章节:第3章 第4节
考核知识点:RDD操作(3)
试题解析:
82、PairRDD中()函数可以合并具有相同键的值
A.mapValues
B.groupBy
C.groupByKey
D.reduceByKey
答案: A
★难度:易
参见章节:第3章 第4节
考核知识点:RDD操作(3)
试题解析:
83、PairRDD中()函数可以对具有相同键的值进行分组
A.mapValues
B.groupBy
C.groupByKey
D.reduceByKey
答案: C
★难度:易
参见章节:第3章 第4节
考核知识点:RDD操作(3)
试题解析:
84、PairRDD中()函数可以进行分组
A.mapValues
B.groupBy
C.groupByKey
D.reduceByKey
答案: B C
★难度:易
参见章节:第3章 第4节
考核知识点:RDD操作(3)
试题解析:
85、请问RDD的()操作是根据键对两个RDD进行内连接
A.join
B.zip
C.combineByKey
D.collect
答案: A
★难度:中
参见章节:第3章 第5节
考核知识点:RDD操作(4)
试题解析:
86、请问RDD的()操作是将两个RDD组合成Key/Value形式的RDD
A.join
B.zip
C.combineByKey
D.collect
答案: B
★难度:中
参见章节:第3章 第5节
考核知识点:RDD操作(4)
试题解析:
87、请问RDD的()操作用于将相同键的数据聚合
A.join
B.zip
C.combineByKey
D.collect
答案: C
★难度:中
参见章节:第3章 第5节
考核知识点:RDD操作(4)
试题解析:
88、请问RDD的()操作把RDD 所有元素转换成数组并返回到Driver 端
A.join
B.zip
C.combineByKey
D.collect
答案: D
★难度:中
参见章节:第3章 第5节
考核知识点:RDD操作(4)
试题解析:
89、请问RDD的()操作作用于K-V类型的RDD上,返回指定K的所有V值
A.search
B.find
C.findByKey
D.lookup
答案: D
★难度:中
参见章节:第3章 第5节
考核知识点:RDD操作(4)
试题解析:
90、请问RDD的()操作用来计算RDD中所有元素个数
A.count
B.num
C.length
D.number
答案: A
★难度:中
参见章节:第3章 第5节
考核知识点:RDD操作(4)
试题解析:
91、Spark支持的文件格式包括()
A.文本文件
B.JSON
C.CSV
D.SequenceFile
答案: A B C D
★难度:易
参见章节:第3章 第6节
考核知识点:文件的读取与存储
试题解析:
92、spark-submit配置项中()表示Driver程序使用的内存大小
A.--driver-memory MEM
B.--executor-memory MEM
C.--total-executor-cores NUM
D.--executor-coures NUM
答案: A
★难度:易
参见章节:第4章 第2节
考核知识点:IDEA配置Spark运行环境
试题解析:
93、spark-submit配置项中()表示executor内存大小
A.--num-executors NUM
B.--executor-memory MEM
C.--total-executor-cores NUM
D.--executor-coures NUM
答案: B
★难度:易
参见章节:第4章 第2节
考核知识点:IDEA配置Spark运行环境
试题解析:
94、spark-submit配置项中()表示executor使用的总核数
A.--num-executors NUM
B.--executor-memory MEM
C.--total-executor-cores NUM
D.--executor-coures NUM
答案: C
★难度:易
参见章节:第4章 第2节
考核知识点:IDEA配置Spark运行环境
试题解析:
95、spark-submit配置项中()表示启动的executor数量
A.--num-executors NUM
B.--executor-memory MEM
C.--total-executor-cores NUM
D.--executor-coures NUM
答案: A
★难度:易
参见章节:第4章 第2节
考核知识点:IDEA配置Spark运行环境
试题解析:
96、spark-submit配置项中()表示每个executor使用的内核数
A.--num-executors NUM
B.--executor-memory MEM
C.--total-executor-cores NUM
D.--executor-coures NUM
答案: D
★难度:易
参见章节:第4章 第2节
考核知识点:IDEA配置Spark运行环境
试题解析:
97、Spark中的每个RDD一般情况下是由()个分区组成的
A.0
B.1
C.多
D.无数
答案: C
★难度:易
参见章节:第4章 第3节
考核知识点:持久化
试题解析:
98、Spark的RDD持久化操作有()方式
A.cache
B.presist
C.storage
D.long
答案: A B
★难度:中
参见章节:第4章 第3节
考核知识点:持久化
试题解析:
99、如果numPartitions是分区个数,那么Spark每个RDD的分区ID范围是()
A.[0,numPartitions]
B.[0,numPartitions-1]
C.[1,numPartitions-1]
D.[1,numPartitions]
答案: B
★难度:中
参见章节:第4章 第4节
考核知识点:数据分区
试题解析:
100、以下哪种方法可以让Spark不自定义分区也能对任何类型RDD 简单重分区()
A.resetpartition
B.repartiton
C.Partition
D.coalesce
答案: B D
★难度:难
参见章节:第4章 第4节
考核知识点:数据分区
试题解析:
101、Spark SQL可以处理()
A.RDD
B.Parquet文件
C.JSON文件
D.Hive表
答案: A B C D
★难度:易
参见章节:第5章 第1节
考核知识点:Spark SQL概述
试题解析:
102、以下哪个方法可以实现Spark SQL对数据的查询()
A.SqlContext
B.MySQLContext
C.HiveContext
D.context
答案: A C
★难度:中
参见章节:第5章 第1节
考核知识点:Spark SQL概述
试题解析:
103、Spark创建DataFrame对象方式有()
A.结构化数据文件
B.外部数据库
C.RDD
D.Hive中的表
答案: A B C D
★难度:易
参见章节:第5章 第2节
考核知识点:DataFrame基础操作(1)
试题解析:
104、Spark SQL 可以通过()方法加载json文件为DataFrame
A.format
B.json
C.get
D.read
答案: A B
★难度:易
参见章节:第5章 第2节
考核知识点:DataFrame基础操作(1)
试题解析:
105、Spark DataFrame中()方法可以获取若干行数据
A.first
B.head
C.take
D.collect
答案: A B C D
★难度:易
参见章节:第5章 第2节
考核知识点:DataFrame基础操作(1)
试题解析:
106、Spark DataFrame中()方法可以获取所有数据
A.collect
B.take
C.takeAsList
D.collectAsList
答案: A D
★难度:易
参见章节:第5章 第2节
考核知识点:DataFrame基础操作(1)
试题解析:
107、Spark DataFrame中()方法可以返回一个Array对象
A.collect
B.take
C.takeAsList
D.collectAsList
答案: A B
★难度:易
参见章节:第5章 第2节
考核知识点:DataFrame基础操作(1)
试题解析:
108、Spark DataFrame中()方法可以返回一个List
A.collect
B.take
C.takeAsList
D.collectAsList
答案: C D
★难度:易
参见章节:第5章 第2节
考核知识点:DataFrame基础操作(1)
试题解析:
109、Spark中DataFrame的()方法是进行条件查询
A.where
B.join
C.limit
D.apply
答案: A
★难度:易
参见章节:第5章 第3节
考核知识点:DataFrame基础操作(2)
试题解析:
110、Spark中DataFrame的()方法是进行查询前n行记录
A.where
B.join
C.limit
D.apply
答案: C
★难度:易
参见章节:第5章 第3节
考核知识点:DataFrame基础操作(2)
试题解析:
111、Spark中DataFrame的()方法是进行连接查询
A.where
B.join
C.limit
D.apply
答案: B
★难度:易
参见章节:第5章 第3节
考核知识点:DataFrame基础操作(2)
试题解析:
112、Spark中DataFrame的()方法是进行排序查询
A.order by
B.group by
C.select by
D.sort by
答案: A
★难度:易
参见章节:第5章 第3节
考核知识点:DataFrame基础操作(2)
试题解析:
113、Spark中DataFrame的()方法是进行分组查询
A.order by
B.group by
C.select by
D.sort by
答案: B
★难度:易
参见章节:第5章 第3节
考核知识点:DataFrame基础操作(2)
试题解析:
114、Spark中DataFrame的()方法是查询指定字段的数据信息
A.select
B.selectExpr
C.col
D.apply
答案: A B C D
★难度:难
参见章节:第5章 第3节
考核知识点:DataFrame基础操作(2)
试题解析:
115、Spark Streaming的特点有()
A.单极性
B.可伸缩
C.高吞吐量
D.容错能力强
答案: B C D
★难度:中
参见章节:第6章 第1节
考核知识点:Spark Streaming概述
试题解析:
116、Spark Streaming能够和()无缝集成
A.Hadoop
B.Spark SQL
C.Mllib
D.GraphX
答案: B C D
★难度:中
参见章节:第6章 第1节
考核知识点:Spark Streaming概述
试题解析:
117、Spark Streaming能够处理来自()的数据
A.Kafka
B.Flume
C.Twitter
D.ZeroMQ
答案: A B C D
★难度:中
参见章节:第6章 第1节
考核知识点:Spark Streaming概述
试题解析:
118、Spark Streming中DStream的每个RDD都是由()分割开来的数据集
A.分区
B.一小段时间
C.数据量
D.随机
答案: B
★难度:中
参见章节:第6章 第2节
考核知识点:DStream编程模型(1)
试题解析:
119、Spark Streming中()函数可以对源DStream中的每一个元素应用func方法进行计算,如果func函数返回结果为true,则保留该元素,否则丢弃该元素,返回一个新的Dstream
A.map
B.flatMap
C.filter
D.union
答案: C
★难度:易
参见章节:第6章 第2节
考核知识点:DStream编程模型(1)
试题解析:
120、Spark Streming中()函数可以对源DStream的每个元素通过函数func返回一个新的DStream
A.map
B.flatMap
C.filter
D.union
答案: A
★难度:易
参见章节:第6章 第2节
考核知识点:DStream编程模型(1)
试题解析:
121、Spark Streming中()函数可以对源DStream的每个元素通过函数func被映射出0或者更多的输出元素
A.map
B.flatMap
C.filter
D.union
答案: B
★难度:易
参见章节:第6章 第2节
考核知识点:DStream编程模型(1)
试题解析:
122、Spark Streming中()函数可以合并两个DStream,生成一个包含两个DStream中所有元素的新DStream对象
A.map
B.flatMap
C.filter
D.union
答案: D
★难度:易
参见章节:第6章 第2节
考核知识点:DStream编程模型(1)
试题解析:
123、Spark Streming中()函数可以对统计DStream中每个RDD包含的元素的个数,得到一个新的DStream
A.count
B.union
C.length
D.reduce
答案: A
★难度:易
参见章节:第6章 第2节
考核知识点:DStream编程模型(1)
试题解析:
124、Spark Streming中()函数可以使用func将源DStream中的每个元素进行聚合操作,返回一个内部所包含的RDD只有一个元素的新DStream
A.union
B.reduce
C.join
D.cogroup
答案: B
★难度:易
参见章节:第6章 第2节
考核知识点:DStream编程模型(1)
试题解析:
125、Spark Streming中()函数当被调用的两个DStream分别含有(K, V) 和(K, W)键值对时,返回一个(K, Seq[V], Seq[W])类型的新的DStream。
A.union
B.reduce
C.join
D.cogroup
答案: C
★难度:易
参见章节:第6章 第2节
考核知识点:DStream编程模型(1)
试题解析:
126、Spark Streming中()函数当被调用类型分别为(K,V)和(K,W)键值对的2个DStream 时,返回类型为(K,(V,W))键值对的一个新 DStream。
A.union
B.reduce
C.join
D.cogroup
答案: D
★难度:易
参见章节:第6章 第2节
考核知识点:DStream编程模型(1)
试题解析:
127、Spark Streming中()函数可以通过对源DStream的每RDD应用RDD-to-RDD函数返回一个新的DStream,这可以用来在DStream做任意RDD操作。
A.transform
B.reduce
C.join
D.cogroup
答案: A
★难度:易
参见章节:第6章 第2节
考核知识点:DStream编程模型(1)
试题解析:
128、Dstream窗口操作中()方法返回一个基于源DStream的窗口批次计算后得到新的DStream。
A.window
B.countByWindow
C.reduceByWindow
D.reduceByKeyAndWindow
答案: A
★难度:易
参见章节:第6章 第3节
考核知识点:DStream编程模型(2)
试题解析:
129、Dstream窗口操作中()方法返回基于滑动窗口的DStream中的元素的数量
A.window
B.countByWindow
C.reduceByWindow
D.reduceByKeyAndWindow
答案: B
★难度:易
参见章节:第6章 第3节
考核知识点:DStream编程模型(2)
试题解析:
130、Dstream窗口操作中()方法基于滑动窗口对源DStream中的元素进行聚合操作,得到一个新的Dstream
A.window
B.countByWindow
C.reduceByWindow
D.reduceByKeyAndWindow
答案: C
★难度:易
参见章节:第6章 第3节
考核知识点:DStream编程模型(2)
试题解析:
131、Dstream窗口操作中()方法基于滑动窗口对(K,V)键值对类型的DStream中的值按K使用聚合函数func进行聚合操作,得到一个新的Dstream
A.window
B.countByWindow
C.reduceByWindow
D.reduceByKeyAndWindow
答案: D
★难度:易
参见章节:第6章 第3节
考核知识点:DStream编程模型(2)
试题解析:
132、Dstream输出操作中()方法在Driver中打印出DStream中数据的前10个元素。
A.print
B.saveAsTextFiles
C.saveAsObjectFiles
D.saveAsHadoopFiles
答案: A
★难度:易
参见章节:第6章 第3节
考核知识点:DStream编程模型(2)
试题解析:
133、Dstream输出操作中()方法将DStream中的内容以文本的形式保存为文本文件
A.print
B.saveAsTextFiles
C.saveAsObjectFiles
D.saveAsHadoopFiles
答案: B
★难度:易
参见章节:第6章 第3节
考核知识点:DStream编程模型(2)
试题解析:
134、Dstream输出操作中()方法在Driver中打印出DStream中数据的前12个元素。
A.print
B.saveAsTextFiles
C.saveAsObjectFiles
D.saveAsHadoopFiles
答案: C
★难度:易
参见章节:第6章 第3节
考核知识点:DStream编程模型(2)
试题解析:
135、Dstream输出操作中()方法将DStream中的内容按对象序列化并且以SequenceFile的格式保存
A.print
B.saveAsTextFiles
C.saveAsObjectFiles
D.saveAsHadoopFiles
答案: D
★难度:易
参见章节:第6章 第3节
考核知识点:DStream编程模型(2)
试题解析:
136、Dstream输出操作中print方法在Driver中打印出DStream中数据的()元素。
A.第一个
B.所有
C.前10个
D.前100个
答案: C
★难度:中
参见章节:第6章 第3节
考核知识点:DStream编程模型(2)
试题解析:
137、图的结构通常表示为:G(V,E),其中,G表示()
A.图
B.子图
C.顶点
D.边
答案: A
★难度:易
参见章节:第7章 第1节
考核知识点:Spark GraphX概述
试题解析:
138、图的结构通常表示为:G(V,E),其中,V是图G中()
A.顶点
B.顶点的集合
C.边
D.边的集合
答案: B
★难度:易
参见章节:第7章 第1节
考核知识点:Spark GraphX概述
试题解析:
139、图的结构通常表示为:G(V,E),其中,E是图G中()
A.顶点
B.顶点的集合
C.边
D.边的集合
答案: D
★难度:易
参见章节:第7章 第1节
考核知识点:Spark GraphX概述
试题解析:
140、图是一种数据元素间为()关系的数据结构
A.多对多
B.一对一
C.一对多
D.多对一
答案: A
★难度:易
参见章节:第7章 第1节
考核知识点:Spark GraphX概述
试题解析:
141、在图结构中,每个元素都可以有()前驱
A.至少一个
B.零个或多个
C.一个
D.零个
答案: B
★难度:易
参见章节:第7章 第1节
考核知识点:Spark GraphX概述
试题解析:
142、在图结构中,每个元素都可以有()后继
A.至少一个
B.零个或多个
C.一个
D.零个
答案: B
★难度:易
参见章节:第7章 第1节
考核知识点:Spark GraphX概述
试题解析:
143、图结构中如果任意两个顶点之间都存在边,那么称之为()
A.完全图
B.有向完全图
C.无向图
D.简单图
答案: A
★难度:易
参见章节:第7章 第1节
考核知识点:Spark GraphX概述
试题解析:
144、图结构中如果任意两个顶点之间都存在有向边,那么称之为()
A.完全图
B.有向完全图
C.无向图
D.简单图
答案: B
★难度:易
参见章节:第7章 第1节
考核知识点:Spark GraphX概述
试题解析:
145、图结构中如果无重复的边或者顶点到自身的边,那么称之为()
A.完全图
B.有向完全图
C.无向图
D.简单图
答案: D
★难度:易
参见章节:第7章 第1节
考核知识点:Spark GraphX概述
试题解析:
146、GraphX中Edge边对象存有()字段
A.srcId
B.dstId
C.attr
D.val
答案: A B C
★难度:中
参见章节:第7章 第2节
考核知识点:GraphX常用API(1)
试题解析:
147、GraphX中()是存放着Edg对象的RDD
A.RDD[Edge]
B.EdgeRDD
C.RDD[(VertexId,VD)]
D.VertexRDD
答案: A
★难度:易
参见章节:第7章 第2节
考核知识点:GraphX常用API(1)
试题解析:
148、GraphX中()是完整提供边的各种操作类
A.RDD[Edge]
B.EdgeRDD
C.RDD[(VertexId,VD)]
D.VertexRDD
答案: B
★难度:易
参见章节:第7章 第2节
考核知识点:GraphX常用API(1)
试题解析:
149、GraphX中()是存放着存放顶点的RDD
A.RDD[Edge]
B.EdgeRDD
C.RDD[(VertexId,VD)]
D.VertexRDD
答案: C
★难度:易
参见章节:第7章 第2节
考核知识点:GraphX常用API(1)
试题解析:
150、GraphX中()是提供顶点的各种操作方法的对象
A.RDD[Edge]
B.EdgeRDD
C.RDD[(VertexId,VD)]
D.VertexRDD
答案: D
★难度:易
参见章节:第7章 第2节
考核知识点:GraphX常用API(1)
试题解析:
151、GraphX中EdgeRDD继承自()
A.EdgeRDD
B.RDD[Edge]
C.VertexRDD[VD]
D.RDD[(VertexId,VD)]
答案: B
★难度:易
参见章节:第7章 第2节
考核知识点:GraphX常用API(1)
试题解析:
152、GraphX中VertexRDD[VD]继承自()
A.EdgeRDD
B.RDD[Edge]
C.VertexRDD[VD]
D.RDD[(VertexId,VD)]
答案: D
★难度:易
参见章节:第7章 第2节
考核知识点:GraphX常用API(1)
试题解析:
153、Graph类中如果要根据分开存放的顶点数据和边数据创建图,应该用()方法
A.Graph(vertices,edges, defaultVertexAttr)
B.Graph.fromEdges(RDD[Edge[ED]], defaultValue)
C.Graph.fromEdgeTuples(rawEdges: RDD[(VertexId, VertexId)], defaultValue,)
D.GraphLoader.edgeListFile(sc,filename)
答案: A
★难度:中
参见章节:第7章 第2节
考核知识点:GraphX常用API(1)
试题解析:
154、Graph类中如果根据边数据创建图,数据需要转换成RDD[Edge[ED]类型,应该用()方法
A.Graph(vertices,edges, defaultVertexAttr)
B.Graph.fromEdges(RDD[Edge[ED]], defaultValue)
C.Graph.fromEdgeTuples(rawEdges: RDD[(VertexId, VertexId)], defaultValue,)
D.GraphLoader.edgeListFile(sc,filename)
答案: B
★难度:中
参见章节:第7章 第2节
考核知识点:GraphX常用API(1)
试题解析:
155、Graph类中如果要根据边数据创建图,边数据需要加载为二元组,可以选择是否对边分区,应该用()方法
A.Graph(vertices,edges, defaultVertexAttr)
B.Graph.fromEdges(RDD[Edge[ED]], defaultValue)
C.Graph.fromEdgeTuples(rawEdges: RDD[(VertexId, VertexId)], defaultValue,)
D.GraphLoader.edgeListFile(sc,filename)
答案: C
★难度:中
参见章节:第7章 第2节
考核知识点:GraphX常用API(1)
试题解析:
156、Graph类中如果要直接通过边数据文件创建图,要求数据按空格分隔,应该用()方法
A.Graph(vertices,edges, defaultVertexAttr)
B.Graph.fromEdges(RDD[Edge[ED]], defaultValue)
C.Graph.fromEdgeTuples(rawEdges: RDD[(VertexId, VertexId)], defaultValue,)
D.GraphLoader.edgeListFile(sc,filename)
答案: D
★难度:中
参见章节:第7章 第2节
考核知识点:GraphX常用API(1)
试题解析:
157、GraphX中()方法可以缓存整个图
A.cache
B.presist
C.unpersistVertices
D.edges.unpersist
答案: A B
★难度:中
参见章节:第7章 第2节
考核知识点:GraphX常用API(1)
试题解析:
158、GraphX中()方法可以缓存整个图,并指定存储级别
A.cache
B.presist
C.unpersistVertices
D.edges.unpersist
答案: B
★难度:难
参见章节:第7章 第2节
考核知识点:GraphX常用API(1)
试题解析:
159、GraphX中()方法可以释放顶点缓存
A.cache
B.presist
C.unpersistVertices
D.edges.unpersist
答案: C
★难度:中
参见章节:第7章 第2节
考核知识点:GraphX常用API(1)
试题解析:
160、GraphX中()方法可以释放边缓存
A.cache
B.presist
C.unpersistVertices
D.edges.unpersist
答案: D
★难度:中
参见章节:第7章 第2节
考核知识点:GraphX常用API(1)
试题解析:
161、GraphX中()方法可以查询顶点个数
A.numVertices
B.numEdges
C.vertices
D.edges
答案: A
★难度:易
参见章节:第7章 第3节
考核知识点:GraphX常用API(2)
试题解析:
162、GraphX中()方法可以查询边数
A.numVertices
B.numEdges
C.vertices
D.edges
答案: B
★难度:易
参见章节:第7章 第3节
考核知识点:GraphX常用API(2)
试题解析:
163、GraphX中()方法可以查询顶点信息
A.numVertices
B.numEdges
C.vertices
D.edges
答案: C
★难度:易
参见章节:第7章 第3节
考核知识点:GraphX常用API(2)
试题解析:
164、GraphX中()方法可以查询边信息
A.numVertices
B.numEdges
C.vertices
D.edges
答案: D
★难度:易
参见章节:第7章 第3节
考核知识点:GraphX常用API(2)
试题解析:
165、GraphX中()方法可以查询度数
A.degrees
B.degree
C.vertices
D.edges
答案: A
★难度:难
参见章节:第7章 第3节
考核知识点:GraphX常用API(2)
试题解析:
166、GraphX中graph.vertices可以得到()
A.顶点视图
B.边视图
C.顶点与边的三元组整体视图
D.有向图
答案: A
★难度:易
参见章节:第7章 第3节
考核知识点:GraphX常用API(2)
试题解析:
167、GraphX中graph.edges可以得到()
A.顶点视图
B.边视图
C.顶点与边的三元组整体视图
D.有向图
答案: B
★难度:易
参见章节:第7章 第3节
考核知识点:GraphX常用API(2)
试题解析:
168、GraphX中graph.triplets可以得到()
A.顶点视图
B.边视图
C.顶点与边的三元组整体视图
D.有向图
答案: C
★难度:易
参见章节:第7章 第3节
考核知识点:GraphX常用API(2)
试题解析:
169、Spark GraphX中类Graph的reverse方法可以()
A.反转图中所有边的方向
B.按照设定条件取出子图
C.取两个图的公共顶点和边作为新图,并保持前一个图顶点与边的属性
D.合并边相同的属性
答案: A
★难度:易
参见章节:第7章 第5节
考核知识点:GraphX常用API(4)
试题解析:
170、Spark GraphX中类Graph的subgraph方法可以()
A.反转图中所有边的方向
B.按照设定条件取出子图
C.取两个图的公共顶点和边作为新图,并保持前一个图顶点与边的属性
D.合并边相同的属性
答案: B
★难度:易
参见章节:第7章 第5节
考核知识点:GraphX常用API(4)
试题解析:
171、Spark GraphX中类Graph的mask方法可以()
A.反转图中所有边的方向
B.按照设定条件取出子图
C.取两个图的公共顶点和边作为新图,并保持前一个图顶点与边的属性
D.合并边相同的属性
答案: C
★难度:易
参见章节:第7章 第5节
考核知识点:GraphX常用API(4)
试题解析:
172、Spark GraphX中类Graph的groupEdges方法可以()
A.反转图中所有边的方向
B.按照设定条件取出子图
C.取两个图的公共顶点和边作为新图,并保持前一个图顶点与边的属性
D.合并边相同的属性
答案: D
★难度:易
参见章节:第7章 第5节
考核知识点:GraphX常用API(4)
试题解析:
173、Spark GraphX中类Graph的collectNeighbors(edgeDirection: EdgeDirection)方法可以()
A.收集邻居顶点的顶点Id和顶点属性
B.收集邻居顶点的顶点Id
C.向指定顶点发送信息并聚合信息
D.将顶点信息更新到图中
答案: A
★难度:易
参见章节:第7章 第6节
考核知识点:GraphX常用API(5)
试题解析:
174、Spark GraphX中类Graph的collectNeighborIds(edgeDirection: EdgeDirection)方法可以()
A.收集邻居顶点的顶点Id和顶点属性
B.收集邻居顶点的顶点Id
C.向指定顶点发送信息并聚合信息
D.将顶点信息更新到图中
答案: B
★难度:易
参见章节:第7章 第6节
考核知识点:GraphX常用API(5)
试题解析:
175、Spark GraphX中类Graph的mapReduceTriplets方法可以()
A.收集邻居顶点的顶点Id和顶点属性
B.收集邻居顶点的顶点Id
C.向指定顶点发送信息并聚合信息
D.将顶点信息更新到图中
答案: C
★难度:易
参见章节:第7章 第6节
考核知识点:GraphX常用API(5)
试题解析:
176、Spark GraphX中类Graph的aggregateMessages方法可以()
A.收集邻居顶点的顶点Id和顶点属性
B.收集邻居顶点的顶点Id
C.向指定顶点发送信息并聚合信息
D.将顶点信息更新到图中
答案: C
★难度:易
参见章节:第7章 第6节
考核知识点:GraphX常用API(5)
试题解析:
177、Spark GraphX中类Graph的joinVertices方法可以()
A.收集邻居顶点的顶点Id和顶点属性
B.收集邻居顶点的顶点Id
C.向指定顶点发送信息并聚合信息
D.将顶点信息更新到图中
答案: D
★难度:易
参见章节:第7章 第6节
考核知识点:GraphX常用API(5)
试题解析:
178、以下是机器学习的常用算法的是()
A.回归算法
B.聚类算法
C.降维算法
D.分类算法
答案: A B C D
★难度:易
参见章节:第8章 第1节
考核知识点:MLlib算法库简介
试题解析:
179、以下算法中属于分类算法的是()
A.KNN算法
B.逻辑回归
C.随机森林
D.Kmeans
答案: A B C
★难度:易
参见章节:第8章 第1节
考核知识点:MLlib算法库简介
试题解析:
180、以下算法中属于聚类算法的是()
A.KNN算法
B.逻辑回归
C.随机森林
D.Kmeans
答案: D
★难度:易
参见章节:第8章 第1节
考核知识点:MLlib算法库简介
试题解析:
181、以下算法中属于监督学习算法的是()
A.KNN算法
B.逻辑回归
C.随机森林
D.Kmeans
答案: A B C
★难度:中
参见章节:第8章 第1节
考核知识点:MLlib算法库简介
试题解析:
182、以下算法中属于无监督学习算法的是()
A.KNN算法
B.逻辑回归
C.随机森林
D.Kmeans
答案: D
★难度:中
参见章节:第8章 第1节
考核知识点:MLlib算法库简介
试题解析:
183、TF-IDF中TF指的是()
A.词频
B.词在文档中出现的次数
C.逆文档概率
D.词在文档集中出现的概率
E.词在文档集中出现的概率
答案: A B
★难度:易
参见章节:第8章 第2节
考核知识点:Mllib算法与算法包(1)
试题解析:
184、TF-IDF中IDF指的是()
A.词频
B.词在文档中出现的次数
C.逆文档概率
D.词在文档集中出现的概率
E.词在文档集中出现的概率
答案: C D
★难度:易
参见章节:第8章 第2节
考核知识点:Mllib算法与算法包(1)
试题解析:
185、MLlib中进行数据标准化的方式有()
A.Normalizer
B.Standard
C.StandardScaleer
D.MinMaxScaler
答案: A C D
★难度:中
参见章节:第8章 第3节
考核知识点:Mllib算法与算法包(2)
试题解析:
186、MLlib中用于线性回归算法的包主要有()
A.LinearRegressionWithSGD
B.RidgeRegressionWithSGD
C.LassoWithSGD
D.LeftRegression
答案: A B C
★难度:中
参见章节:第8章 第4节
考核知识点:Mllib算法与算法包(3)
试题解析:
187、Mllib中线性会馆算法中的参数numIterations表示()
A.要运行的迭代次数
B.梯度下降的步长
C.是否给数据加干扰特征或者偏差特征
D.Lasso 和ridge 的正规化参数
答案: A
★难度:易
参见章节:第8章 第4节
考核知识点:Mllib算法与算法包(3)
试题解析:
188、Mllib中线性会馆算法中的参数stepSize表示()
A.要运行的迭代次数
B.梯度下降的步长
C.是否给数据加干扰特征或者偏差特征
D.Lasso 和ridge 的正规化参数
答案: B
★难度:易
参见章节:第8章 第4节
考核知识点:Mllib算法与算法包(3)
试题解析:
189、Mllib中线性会馆算法中的参数intercept表示()
A.要运行的迭代次数
B.梯度下降的步长
C.是否给数据加干扰特征或者偏差特征
D.Lasso 和ridge 的正规化参数
答案: C
★难度:易
参见章节:第8章 第4节
考核知识点:Mllib算法与算法包(3)
试题解析:
190、Mllib中线性会馆算法中的参数reParam表示()
A.要运行的迭代次数
B.梯度下降的步长
C.是否给数据加干扰特征或者偏差特征
D.Lasso 和ridge 的正规化参数
答案: D
★难度:易
参见章节:第8章 第4节
考核知识点:Mllib算法与算法包(3)
试题解析:
191、在MLlib中,逻辑回归算法的输入值为()类型
A.Double
B.LabledPoint
C.Point
D.SGB
答案: B
★难度:中
参见章节:第8章 第4节
考核知识点:Mllib算法与算法包(3)
试题解析:
192、决策树是()的常用算法
A.分类
B.聚类
C.降维
D.回归
答案: A D
★难度:中
参见章节:第8章 第4节
考核知识点:Mllib算法与算法包(3)
试题解析:
193、MLlib 中可以调用mllib.tree.DecisionTree 类中的静态方法()训练分类树
A.trainClassifier
B.trainRegressor
C.LogisticRegressionModel
D.LabeledPoint
答案: A
★难度:易
参见章节:第8章 第4节
考核知识点:Mllib算法与算法包(3)
试题解析:
194、MLlib 中可以调用mllib.tree.DecisionTree 类中的静态方法()训练回归树
A.trainClassifier
B.trainRegressor
C.LogisticRegressionModel
D.LabeledPoint
答案: B
★难度:易
参见章节:第8章 第4节
考核知识点:Mllib算法与算法包(3)
试题解析:
195、Mllib中metrics.precisionByThreshold表示()指标
A.准确度
B.召回率
C.F值
D.ROC曲线
答案: A
★难度:易
参见章节:第8章 第5节
考核知识点:Mllib算法与算法包(4)
试题解析:
196、Mllib中metrics.recallByThreshold
表示()指标
A.准确度
B.召回率
C.F值
D.ROC曲线
答案: B
★难度:易
参见章节:第8章 第5节
考核知识点:Mllib算法与算法包(4)
试题解析:
197、Mllib中metrics.fMeasureByThreshold
表示()指标
A.准确度
B.召回率
C.F值
D.ROC曲线
答案: C
★难度:易
参见章节:第8章 第5节
考核知识点:Mllib算法与算法包(4)
试题解析:
198、Mllib中metrics.roc
表示()指标
A.准确度
B.召回率
C.F值
D.ROC曲线
答案: D
★难度:易
参见章节:第8章 第5节
考核知识点:Mllib算法与算法包(4)
试题解析:
南开19秋《大数据开发技术(上)》课程期末复习资料多选题答案
二、主观部分:(一)、填空部分
1、Spark中间输出结果可以保存在______中,减少读写HDFS的次数。
答案: 内存
★难度:易
参见章节:第1章 第1节
考核知识点:Spark的发展及特点
试题解析:
2、______是Spark的核心,提供底层框架及核心支持
答案: Spark Core
★难度:易
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
3、______是Spark中最基本的数据抽象
答案: RDD或弹性分布式数据集
★难度:易
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
4、Scala 是一种纯粹的面向对象语言,其中一个对象的类型和行为是由______和特征来描述的。
答案: 类
★难度:易
参见章节:第2章 第1节
考核知识点:Scala简介及安装
试题解析:
5、Scala 是一种纯粹的面向对象语言,其中一个对象的类型和行为是由类和______来描述的。
答案: 特征
★难度:易
参见章节:第2章 第1节
考核知识点:Scala简介及安装
试题解析:
6、Scala交互式解释器的缩写是______
答案: REPL
★难度:易
参见章节:第2章 第1节
考核知识点:Scala简介及安装
试题解析:
7、val类似于Java里的______变量。一旦初始化了,val就不能再被赋值。
答案: final
★难度:易
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
8、Scala数组中某个指定的元素是通过______来访问的
答案: 索引
★难度:易
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
9、Scala中定义val arr:Array[String]=Array("baidu","google","biying"),那么arr.length返回值为______
答案: 3
★难度:易
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
10、Scala中定义val arr:Array[String]=Array("baidu","google","biying"),那么arr.head返回值为______
答案: baidu
★难度:中
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
11、Scala中定义val arr:Array[String]=Array("baidu","google","biying"),那么arr.tail返回值为______
答案: Array("google","biying")
★难度:难
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
12、Scala中定义val arr:Array[String]=Array("baidu","google","biying"),那么arr.isEmpty返回值为______
答案: 假
★难度:易
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
13、Scala中定义val arr:Array[String]=Array("baidu","google","biying"),那么arr.contains("biying")返回值为______
答案: 真
★难度:易
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
14、Scala中合并两个数组的方法是______
答案: concat
★难度:易
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
15、Scala中创建区间数组Array(1,3,5,7,9),使用方法range(1,______,2)
答案: 10
★难度:中
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
16、Scala中创建区间数组Array(1,3,5,7,9),使用方法range(______,10,2)
答案: 1
★难度:中
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
17、Scala中创建区间数组Array(1,3,5,7,9),使用方法range(1,10,______)
答案: 2
★难度:中
参见章节:第2章 第2节
考核知识点:Scala基础(1)
试题解析:
18、Scala中定义函数的关键字是______
答案: def
★难度:易
参见章节:第2章 第3节
考核知识点:Scala基础(2)
试题解析:
19、Scala中既不带参数也不返回有用结果的函数定义为
def print():______={println("Exam")}
答案: Unit
★难度:难
参见章节:第2章 第3节
考核知识点:Scala基础(2)
试题解析:
20、当递归调用是函数的最后一个语句时,我们称之为______递归
答案: 尾
★难度:难
参见章节:第2章 第3节
考核知识点:Scala基础(2)
试题解析:
21、补充函数实现返回指定区间的值的和:
def add(a:Int,b:Int):Int={
if(a>b) 0
else ______
}
答案: a+add(a+1,b)
★难度:难
参见章节:第2章 第3节
考核知识点:Scala基础(2)
试题解析:
22、补充函数实现返回指定区间的值的和:
def add(f:Int=>Int, a:Int,b:Int):Int={
if(a>b) 0
else ______
}
答案: f(a)+addInt(f,a+1,b)
★难度:难
参见章节:第2章 第3节
考核知识点:Scala基础(2)
试题解析:
23、补充函数实现计算两个数的最大公因数:
def gcd(a:Int,b:Int):Int={
if(a==0) b
else ______
}
答案: gcd(b%a,a)
★难度:难
参见章节:第2章 第3节
考核知识点:Scala基础(2)
试题解析:
24、var a=10;
while(a<20){
a+=1;
}
共循环了______次
答案: 10
★难度:中
参见章节:第2章 第4节
考核知识点:Scala基础(3)
试题解析:
25、var a=10;
do{
a+=1;
}while(a<20)
共循环了______次
答案: 10
★难度:中
参见章节:第2章 第4节
考核知识点:Scala基础(3)
试题解析:
26、var a=10;
for(a<-1 to 20){
println(a);
}
共循环了______次
答案: 20
★难度:难
参见章节:第2章 第4节
考核知识点:Scala基础(3)
试题解析:
27、var a=10;
for(a<-1 until 20){
println(a);
}
共循环了______次
答案: 19
★难度:难
参见章节:第2章 第4节
考核知识点:Scala基础(3)
试题解析:
28、下列Scala代码应输出______:
var a=0;
var b=0
var sum=0;
for(a<-1 to 3; b<-1 to 4) {
sum+=a+b;
}
println(sum);
答案: 36
★难度:难
参见章节:第2章 第4节
考核知识点:Scala基础(3)
试题解析:
29、Scala列表方法中丢弃前n个元素,并返回新列表的方法是______
答案: drop
★难度:易
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
30、Scala列表方法中输出符号指定条件的所有元素的方法是______
答案: filter
★难度:中
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
31、Scala列表方法中获取列表的第一个元素的方法是______
答案: head
★难度:易
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
32、Scala列表方法中返回所有元素,除了最后一个的方法是______
答案: init
★难度:中
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
33、Scala列表方法中将函数应用到列表的所有元素的方法是______
答案: foreach
★难度:中
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
34、Scala列表方法中通过给定的方法将所有元素重新计算的方法是______
答案: map
★难度:中
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
35、Scala列表方法中使用分隔符将列表所有元素作为字符串显示的方法是______
答案: mkString
★难度:中
参见章节:第2章 第5节
考核知识点:Scala数据结构(1)
试题解析:
36、Scala函数组合器可以通过一个函数重新计算列表中所有元素,并且返回一个相同数目元素的新列表的方法是______
答案: map
★难度:中
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
37、Scala函数组合器可以通过一个函数重新计算列表中所有元素,但是没有返回值的方法是______
答案: foreach
★难度:中
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
38、Scala函数组合器可以过滤移除使得传入的函数的返回值为false的元素的方法是______
答案: filter
★难度:难
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
39、Scala函数组合器可以接收一个可以处理嵌套列表的函数,然后把返回结果连接起来的方法是______
答案: flatmap
★难度:难
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
40、Scala函数组合器可以把一个二维的列表展开成一个一维的列表的方法是______
答案: flatten
★难度:难
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
41、Scala函数组合器k可以对集合中的元素进行分组操作,结果得到的是一个Map的方法是______
答案: groupby
★难度:易
参见章节:第2章 第6节
考核知识点:Scala数据结构(2)
试题解析:
42、面向对象语言中类是对象的抽象,也可以把______理解为模板
答案: 类
★难度:易
参见章节:第2章 第7节
考核知识点:Scala类
试题解析:
43、面向对象语言中类是对象的抽象,______才是真正的实体。
答案: 对象
★难度:易
参见章节:第2章 第7节
考核知识点:Scala类
试题解析:
44、Spark中sc的全拼是______
答案: SparkContext
★难度:易
参见章节:第3章 第1节
考核知识点:创建RDD
试题解析:
45、假设集合A 有5 个元素,集合B 有10 个元素,使用RDDcartesian函数会返回______个元素的组合
答案: 50
★难度:难
参见章节:第3章 第3节
考核知识点:RDD操作(2)
试题解析:
46、初始化SparkContext需要一个______对象
答案: SparkConf
★难度:易
参见章节:第4章 第2节
考核知识点:IDEA配置Spark运行环境
试题解析:
47、因为Spark有数据持久化特性,英雌如果希望节点故障不影响执行速度,在内存充足的情况下,可以使用______的高可靠机制
答案: 双副本保存
★难度:难
参见章节:第4章 第3节
考核知识点:持久化
试题解析:
48、Spark中每一个RDD都可以用不同的存储级别进行保存,从而允许持久化数据集在硬盘或者在内存作为序列化的______对象
答案: Java
★难度:难
参见章节:第4章 第3节
考核知识点:持久化
试题解析:
49、针对仅存储数据在内存中的存储策略,如果内存不足的话,Spark会使用______缓存策略清除最老的分区,为新的RDD提供空间
答案: LRU
★难度:难
参见章节:第4章 第3节
考核知识点:持久化
试题解析:
50、Spark中设置分区方式使用______函数
答案: partitionBy
★难度:中
参见章节:第4章 第4节
考核知识点:数据分区
试题解析:
51、Spark如果要实现自定义分区器,需要继承 org.apache.spark.______类
答案: Partitioner
★难度:中
参见章节:第4章 第4节
考核知识点:数据分区
试题解析:
52、Spark中的coalesce方法采用______分区方式
答案: HashPartitioner
★难度:难
参见章节:第4章 第4节
考核知识点:数据分区
试题解析:
53、Spark SQL 可以通过______方法将HDFS 上的格式化文件转换为DataFrame
答案: load
★难度:易
参见章节:第5章 第2节
考核知识点:DataFrame基础操作(1)
试题解析:
54、Spark中需将DataFrame注册成为______表,然后才能通过SQL语句进行查询
答案: 临时
★难度:中
参见章节:第5章 第3节
考核知识点:DataFrame基础操作(2)
试题解析:
55、Dstream输出操作中print方法在Driver中打印出DStream中数据的前______个元素。
答案: 10
★难度:中
参见章节:第6章 第3节
考核知识点:DStream编程模型(2)
试题解析:
56、GraphX中Edge类包含srcId必须是______类型
答案: Long
★难度:中
参见章节:第7章 第2节
考核知识点:GraphX常用API(1)
试题解析:
57、图中以当前顶点为目标点的边的数量是______度数
答案: 入
★难度:易
参见章节:第7章 第3节
考核知识点:GraphX常用API(2)
试题解析:
58、GraphX中三元视图逻辑上将顶点和边的属性保存为一个RDD[EdgeTriplet[VD,ED]],它包含______类的实例
答案: EdgeTriplet
★难度:中
参见章节:第7章 第3节
考核知识点:GraphX常用API(2)
试题解析:
59、Spark GraphX中类Graph的______方法可以反转图中所有边的方向
答案: reverse
★难度:难
参见章节:第7章 第5节
考核知识点:GraphX常用API(4)
试题解析:
60、Spark GraphX中类Graph的______方法可以按照设定条件取出子图
答案: subgraph
★难度:难
参见章节:第7章 第5节
考核知识点:GraphX常用API(4)
试题解析:
61、Spark GraphX中类Graph的______方法可以取两个图的公共顶点和边作为新图,并保持前一个图顶点与边的属性
答案: mask
★难度:难
参见章节:第7章 第5节
考核知识点:GraphX常用API(4)
试题解析:
62、Spark GraphX中类Graph的______方法可以合并边相同的属性
答案: groupEdges
★难度:难
参见章节:第7章 第5节
考核知识点:GraphX常用API(4)
试题解析:
63、Spark GraphX中类Graph的______方法可以收集邻居顶点的顶点Id和顶点属性
答案: collectNeighbors
★难度:难
参见章节:第7章 第6节
考核知识点:GraphX常用API(5)
试题解析:
64、Spark GraphX中类Graph的______方法可以收集邻居顶点的顶点Id
答案: collectNeighborIds
★难度:难
参见章节:第7章 第6节
考核知识点:GraphX常用API(5)
试题解析:
65、Spark GraphX中类Graph的______方法可以向指定顶点发送信息并聚合信息
答案: mapReduceTriplets
或者aggregateMessages
★难度:难
参见章节:第7章 第6节
考核知识点:GraphX常用API(5)
试题解析:
66、Spark GraphX中类Graph的______方法可以将顶点信息更新到图中
答案: joinVertices或者outerJoinVertices
★难度:难
参见章节:第7章 第6节
考核知识点:GraphX常用API(5)
试题解析:
67、Mllib中基本数据类型:______表示数据向量,包括稀疏向量和稠密向量
答案: Vector
★难度:中
参见章节:第8章 第2节
考核知识点:Mllib算法与算法包(1)
试题解析:
68、Mllib中基本数据类型:______表示监督式学习算法的数据对象,包含一个标签和一个特征向量
答案: LabeledPoint
★难度:中
参见章节:第8章 第2节
考核知识点:Mllib算法与算法包(1)
试题解析:
69、Mllib中基本数据类型:______表示对产品的评分,用于推荐ALS算法
答案: Rating
★难度:中
参见章节:第8章 第2节
考核知识点:Mllib算法与算法包(1)
试题解析:
70、Mllib中线性会馆算法中的参数numIterations默认值是______
答案: 100
★难度:难
参见章节:第8章 第4节
考核知识点:Mllib算法与算法包(3)
试题解析:
71、Mllib中线性会馆算法中的参数stepSize默认值是______
答案: 1
★难度:难
参见章节:第8章 第4节
考核知识点:Mllib算法与算法包(3)
试题解析:
72、Mllib中线性会馆算法中的参数intercept默认值是______
答案: 假
★难度:难
参见章节:第8章 第4节
考核知识点:Mllib算法与算法包(3)
试题解析:
73、Mllib中线性会馆算法中的参数reParam默认值是______
答案: 1
★难度:难
参见章节:第8章 第4节
考核知识点:Mllib算法与算法包(3)
试题解析:
74、MLlib 中的KMeans算法的参数maxIterations默认值是______
答案: 100
★难度:易
参见章节:第8章 第5节
考核知识点:Mllib算法与算法包(4)
试题解析:
(二)、名词解释题
1、Spark
答案: 快速、分布式、可扩展、容错的集群计算框架
★难度:易
参见章节:第1章 第1节
考核知识点:Spark的发展及特点
试题解析:
2、Spark Core
答案: Spark核心,提供底层框架及核心支持。包含Spark的基本功能,包括任务调度、内存管理、容错机制等。
★难度:易
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
3、BlinkDB
答案: 一个用于在海量数据上运行交互式SQL查询的大规模并行查询引擎
★难度:易
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
4、Mllib
答案: MLlib是Spark的数据挖掘算法库,实现了一些常见的机器学习算法和实用程序,包括分类、回归、聚类、协同过滤、降维以及底层优化。
★难度:易
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
5、SparkR
答案: SparkR是AMPLab发布的一个R开发包,使得R摆脱单机运行的命运,可以作为Spark的Job运行在集群上
★难度:易
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
6、REPL
答案: Scala交互式解释器REPL(Read-Evaluate-Print-Loop),它是编写Scala表达式和程序的交互式“shell”
★难度:易
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
7、尾递归
答案: 当递归调用是函数的最后一个语句时,称为尾递归
★难度:中
参见章节:第2章 第3节
考核知识点:Scala基础(2)
试题解析:
8、柯里化
答案: 指的是将原来接受两个参数的函数变成新的接受一个参数的函数的过程
★难度:中
参见章节:第2章 第3节
考核知识点:Scala基础(2)
试题解析:
9、匿名函数
答案: 匿名函数即是在定义函数的时候不给出函数名
★难度:易
参见章节:第2章 第3节
考核知识点:Scala基础(2)
试题解析:
10、Scala object
答案: Scala中使用单例模式时需要使用object定义一个单例对象(object对象),单例对象就是在整个程序中只有这么一个实例。
★难度:易
参见章节:第2章 第7节
考核知识点:Scala类
试题解析:
11、Scala样例类
答案: 在Scala中,使用了case关键字定义的类称为样例类,样例类是一种特殊的类,经过优化用于模式匹配。
★难度:中
参见章节:第2章 第7节
考核知识点:Scala类
试题解析:
12、RDD
答案: RDD是一个容错的、只读的、可进行并行操作的数据结构,是一个分布在集群各个节点的存放元素的集合。
★难度:易
参见章节:第3章 第1节
考核知识点:创建RDD
试题解析:
13、JSON
答案: JSON 是一种使用较广的半结构化数据格式。
JSON 指的是JavaScript 对象表示法,是轻量级的文本数据交换格式。JSON 解析器和JSON 库支持许多不同的编程语言。
★难度:易
参见章节:第3章 第6节
考核知识点:文件的读取与存储
试题解析:
14、SequenceFile
答案: SequenceFile 是由没有相对关系结构的键值对文件组成的常用Hadoop 格式
★难度:易
参见章节:第3章 第6节
考核知识点:文件的读取与存储
试题解析:
15、SparkContext
答案: SparkContext是Spark应用程序的上下文和入口,无论是Scala、Python、R程序,都是通过SparkContext对象的实例来创建RDD,Spark Shell中的sc就是SparkContext对象的实例。
★难度:易
参见章节:第4章 第2节
考核知识点:IDEA配置Spark运行环境
试题解析:
16、Spark SQL
答案: Spark SQL 是一个用来处理结构化数据的Spark 组件
★难度:易
参见章节:第5章 第1节
考核知识点:Spark SQL概述
试题解析:
17、DataFrame
答案: DataFrame是Spark SQL提供的最核心的编程抽象
★难度:易
参见章节:第5章 第1节
考核知识点:Spark SQL概述
试题解析:
18、Spark Streaming
答案: Spark Streaming是Spark系统中用于处理流式数据的分布式流式处理框架
★难度:易
参见章节:第6章 第1节
考核知识点:Spark Streaming概述
试题解析:
19、DStream
答案: DStream 即离散流(discretized stream) ,是Spark Streaming 对内部持续的实时数据流的抽象描述
★难度:易
参见章节:第6章 第1节
考核知识点:Spark Streaming概述
试题解析:
20、Spark Streming中 Dstream
答案: Spark Streaming提供了一个高层次的抽象叫做离散流(discretized stream)或者DStream,代表了持续性的数据流。
★难度:易
参见章节:第6章 第2节
考核知识点:DStream编程模型(1)
试题解析:
21、Spark GraphX
答案: Spark GraphX是一个分布式图处理框架,是一个基于Spark平台提供图计算和图挖掘的简洁易用且丰富多彩的接口,极大地方便了大家对分布式图处理的需求。
★难度:易
参见章节:第7章 第1节
考核知识点:Spark GraphX概述
试题解析:
22、Mllib
答案: MLlib是Spark的机器学习(ML)库,旨在简化机器学习的工程实践工作,并方便扩展到更大规模,同时利用Spark分布式处理来实现模型,处理大数据全量数据的迭代计算。
★难度:易
参见章节:第8章 第1节
考核知识点:MLlib算法库简介
试题解析:
23、TF-IDF
答案: 一种将文档转化成向量表示的方法。TF指的是词频,即该词在文档中出现的次数,IDF是逆文档概率,是词在文档集中出现的概率,它们的乘积表示该词在文档中的重要程度
★难度:易
参见章节:第8章 第2节
考核知识点:Mllib算法与算法包(1)
试题解析:
24、Word2Vec
答案: Word2Vec是NLP领域的重要算法,它的功能是将每个word用K维的稠密向量来表达,训练集是语料库,不含标点,以空格断句。
★难度:易
参见章节:第8章 第3节
考核知识点:Mllib算法与算法包(2)
试题解析:
(三)、问答题
1、为什么说Spark是Hadoop MapReduce的替代方案?
答案: 1. MapReudce不适合迭代和交互式任务,Spark主要为交互式查询和迭代算法设计,支持内存存储和高效的容错恢复。
2.Spark拥有MapReduce具有的优点,但不同于MapReduce,Spark中间输出结果可以保存在内存中,减少读写HDFS的次数。
★难度:易
参见章节:第1章 第1节
考核知识点:Spark的发展及特点
试题解析:
2、Spark 与Hadoop MapReduce 的运行速度为何会有如此大的差异?
答案: 1.Spark多步计算,中间数据存放于内存中,有更高的迭代运算效率,
2.而Hadoop两步计算,每次迭代的中间数据存放于HDFS 中,涉及硬盘的读写,明显降低了运算效率。
★难度:中
参见章节:第1章 第1节
考核知识点:Spark的发展及特点
试题解析:
3、请简述Spark的特点
答案: 1. 快速
2. 易用性
3. 通用性
4. 多种运行模式
5. 代码简洁
★难度:中
参见章节:第1章 第1节
考核知识点:Spark的发展及特点
试题解析:
4、Spark Streaming的基本原理
答案: 将Stream数据分成小的时间片段,以类似batch批量处理的方式来处理这小部分数据
★难度:中
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
5、Spark Streaming构建在Spark上的原因
答案: 一方面因为Spark的低延时执行引擎可以用于实时计算,另一方面相比基于Record的其他处理框架(如storm),RDD数据集更容易做高效的容错处理。
★难度:中
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
6、MLBase分为哪四部分
答案: MLlib、MLI、ML Optimizer和MLRuntime
★难度:易
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
7、图的并行化处理的重点是
答案: 1. 如何将图的算法并行化,
2. 找到一个合适的并行化处理框架
★难度:难
参见章节:第1章 第2节
考核知识点:Spark的生态圈
试题解析:
8、请解释伴生对象与伴生类
答案: 当单例对象与某个类共享同一个名称时,单例对象被称作是这个类的伴生对象,类被称为是这个单例对象的伴生类。
★难度:中
参见章节:第2章 第7节
考核知识点:Scala类
试题解析:
9、请简述RDD的创建方式
答案: RDD 有3 种不同的创建方法。一种是对程序中存在的基本数据结构中的集合进行并行化(如Set 、List、Array) ,另一种是通过已有RDD 转化得到新的RDD ,这两种都是通过内存已有集合创建RDD。还有一种是直接读取外部存储的数据集。
★难度:易
参见章节:第3章 第1节
考核知识点:创建RDD
试题解析:
10、请简述如何从集合中创建RDD
答案: SparkContext 类中有两个方法: paralelize 和makeRDD 。通过parallelize 或makeRDD可将单机数据创建为分布式RDD 。这两种方法都是利用内存中已存在的集合,复制集合的元素去创建一个可用于并行计算的分布式数据集RDD 。
★难度:易
参见章节:第3章 第1节
考核知识点:创建RDD
试题解析:
11、请简述如何从外部存储创建RDD
答案: 从外部读取数据创建RDD 可以有很多种数据来源,通过SparkContext 对象的textFile方法读取数据集,支持多种类型数据集,如目录、文本文件、压缩文件和通配符匹配的文件等,并且允许设定分区个数。
★难度:易
参见章节:第3章 第1节
考核知识点:创建RDD
试题解析:
12、SparkContext类中parallelize方法的分区数参数如果不设置,默认值为什么?
答案: 不设分区数,则默认为该Application 分配到的资源的CPU 数
★难度:中
参见章节:第3章 第1节
考核知识点:创建RDD
试题解析:
13、请简述RDD的转换操作和行动操作的区别
答案: 转换操作和行动操作。转换操作通过某种函数将一个RDD 转换为一个新的RDD , 但是转换操作是懒操作,不会立刻执行计算。行动操作是用于触发转换操作的操作,这个时候才会真正开始进行计算。
★难度:易
参见章节:第3章 第2节
考核知识点:RDD操作(1)
试题解析:
14、请论述RDD的sortBy函数的参数个数及功能
答案: sortBy()是对标准RDD 进行排序的方法,有3 个如下可输入参数。
(1)第一个参数是一个函数f: (T) => K ,左边是要被排序对象中的每一个元素,右边返回的值是元素中要进行排序的值。
(2)第二个参数是ascending ,决定排序后RDD 中的元素是升序还是降序,默认是true ,也就是升序,如果要降序则需要写人参数false
(3)第三个参数是numPartitions ,该参数决定排序后的RDD 的分区个数,默认排序后的分区个数和排序之前的个数相等,即为this.partitions
★难度:易
参见章节:第3章 第2节
考核知识点:RDD操作(1)
试题解析:
15、请说明RDD中combineByKey的参数
答案: createCombiner: V => C ,这个函数把当前的值作为参数,此时我们可以对其做些附加操作(类型转换)并把它返回 (这一步类似于初始化操作)
mergeValue: (C, V) => C,该函数把元素V合并到之前的元素C(createCombiner)上 (这个操作在每个分区内进行)
mergeCombiners: (C, C) => C,该函数把2个元素C合并 (这个操作在不同分区间进行)
★难度:中
参见章节:第3章 第5节
考核知识点:RDD操作(4)
试题解析:
16、请问RDD的collect函数为什么适用于小数据处理后的返回。
答案: 因为需要从集群各个节点收集数据到本地,经过网络传输,并且加载到Driver 内存中,如果数据量大的话,会给网络造成很大的压力。所以数据量比较大的时候,尽量不要使用collect 函数,因为这可能导致Driver 端内存溢出问题。
★难度:中
参见章节:第3章 第5节
考核知识点:RDD操作(4)
试题解析:
17、请对spark-submit参数进行解释
答案: 1.class:应用程序的入口点,指主程序。
2.master:指定要连接的集群URL。可以接收的值如表4‑3所示。
3.deploy-mode:是否将驱动程序部署在工作节点(cluster)或本地作为外部客户端(client)。
4.conf:设置任意Spark配置属性,即允许使用key=value格式设置任意的SparkConf配置选项。
5.application-jar:包含应用程序和所有依赖关系的捆绑JAR的路径。
6.application-arguments:传递给主类的main方法的参数。
★难度:中
参见章节:第4章 第2节
考核知识点:IDEA配置Spark运行环境
试题解析:
18、请对spark-submit的配置项中spark.cores.max进行描述
答案: 当应用程序运行在Standalone集群或者粗粒度共享模式Mesos集群时,应用程序向集群请求的最大CPU内核总数(不是指每台机器,而是整个集群)。如果不设置,对于Standalone集群将使用spark.deploy. defaultCores中的数
值,而Mesos将使用集群中可用的内核
★难度:难
参见章节:第4章 第2节
考核知识点:IDEA配置Spark运行环境
试题解析:
19、请问Spark为什么对数据进行持久化
答案: 由于Spark RDD 是惰性求值的, 如果需要对一个RDD 多次使用,那么调用行动操作时每次都需要重复计算RDD 以及它的依赖。在迭代算法计算中,由于常常需要对同一组数据多次使用,因此消耗会格外大。所以为了避免多次计算同一个RDD , 可以让Spark 对数据进行持久化。
★难度:易
参见章节:第4章 第3节
考核知识点:持久化
试题解析:
20、请问Spark RDD数据分区的意义
答案: Spark RDD是多个分区组成的数据集合,在分布式程序中,通信的代价是很大的,因此控制数据分区、减少网络传输是提高整体性能的一个重要的方面。
★难度:中
参见章节:第4章 第4节
考核知识点:数据分区
试题解析:
21、请简述如何获取Spark的RDD分区方式
答案: 要获取RDD的分区方式,可以使用RDD 的partitioner 方法,该方法会返回一个scala.Option 对象,这是Scala 用来存放可能存在的对象的容器。可以通过这个Option 对象调用isDetined 来查看其中是否有值,用get 来获取其中的值,值是一个spark.Partitioner 对象。
★难度:中
参见章节:第4章 第4节
考核知识点:数据分区
试题解析:
22、请简述Spark系统的三种数据分区方式
答案: 一种是哈希分区( HashPartitioner ),根据哈希值分配
另一种是范围分区( RangePartitioner ),将一定范围的数据映射到一个分区中。
用户也可以通过自定义分区器来完成特定的分区要求。
★难度:中
参见章节:第4章 第4节
考核知识点:数据分区
试题解析:
23、Spark如果要实现自定义分区器,需要继承 org.apache.spark.Partitioner类并实现其中哪几个方法
答案: 1. def numPartitions:Int:这个方法返回想要创建的分区个数
2. def getPartition(key: Any):这个函数需要对输入的 key做处理,然后返回该 key的 分区 ID,范围一定是 0~numPartitions-1。
3. equals(other: Any):这个是 Java 标准的判断相等的函数,之所以要求用户实现这 个函数,是因为 Spark 内部会比较两个 RDD 的分区是否一样。
★难度:中
参见章节:第4章 第4节
考核知识点:数据分区
试题解析:
24、请说明SqlContext和HiveContext的区别
答案: SQLContext 现在只支持SQL 语法解析器,而HiveContext 现在不仅支持HiveQL 语法解析器,同时也支持SQL 语法解析器。
★难度:易
参见章节:第5章 第1节
考核知识点:Spark SQL概述
试题解析:
25、请简述创建DataFrame对象方式
答案: 1.结构化数据文件创建DataFrame
2.外部数据库创建DataFrame
3.RDD创建DataFrame
4.Hive中的表创建DataFrame
★难度:易
参见章节:第5章 第2节
考核知识点:DataFrame基础操作(1)
试题解析:
26、请简述Spark Streaming的运行原理
答案: Spark Streaming的输入数据按照时间片(batch size)分成一段一段的数据,得到批数据(batch data),每一段数据都转换成Spark中的RDD,然后将Spark Streaming中对DStream的Transformation操作变为针对Spark中的RDD的Transformation操作,将RDD经过操作变成中间结果保存在内存中。整个流式计算根据业务的需求可以对中间的结果进行叠加或者存储到外部设备。
★难度:中
参见章节:第6章 第1节
考核知识点:Spark Streaming概述
试题解析:
27、请概括使用Spark Streaming的四个基本步骤
答案: 1.创建StreamingContext对象
2.创建InputDStream
3. 操作DStream
4. 启动Spark Streaming
★难度:中
参见章节:第6章 第1节
考核知识点:Spark Streaming概述
试题解析:
28、请简述Dstream中的窗口函数及其作用
答案: 窗口函数,就是在DStream流上,以一个可配置的长度为窗口,以一个可配置的速率向前移动窗口,根据窗口函数的具体内容,对窗口内的数据执行计算操作,每次掉落在窗口内的RDD的数据会被聚合起来执行计算操作,然后生成的RDD会作为Window DStream的一个RDD。
★难度:中
参见章节:第6章 第3节
考核知识点:DStream编程模型(2)
试题解析:
29、请描述图计算应用中的淘宝图谱计算平台
答案: 如何将各种图的指标精细化和规范化,对于产品和运营的构思进行数据上的预研指导,提供科学决策的依据,是图谱计算平台设计的初衷和出发点。基于这样的出发点,淘宝借助GraphX丰富的接口和工具包,针对淘宝内部林林总总的图业务需求,开发了一个图谱计算平台。
★难度:易
参见章节:第7章 第1节
考核知识点:Spark GraphX概述
试题解析:
30、请描述图计算应用中的Google的PageRank网页排名
答案: PageRank通过网络浩瀚的超链接关系来确定一个页面的等级。Google把从A页面到B页面的链接解释为A页面给B页面投票,Google根据投票来源(甚至来源的来源,即链接到A页面的页面)和投票目标的等级来决定新的等级。PageRank是通过网页之间的链接网络图计算网页等级的,是Google网页排名中的重要算法。
★难度:易
参见章节:第7章 第1节
考核知识点:Spark GraphX概述
试题解析:
31、请描述图计算应用中的新浪微博社交网络分析
答案: 社交网络本身就是一个复杂的图关系结构的网络,最适合用图来表达和计算了,图的“顶点”表示社交中的人,“边”表示人与人之间的关系。如新浪微博社交网络分析,通过用户之间的关注、转发等行为建立了用户之间的社交网络关系图,根据用户在社交网络中所占位置为用户进行分析和应用。
★难度:易
参见章节:第7章 第1节
考核知识点:Spark GraphX概述
试题解析:
32、请描述图计算应用中的淘宝、腾讯的推荐应用
答案: 如淘宝推荐商品,腾讯推荐好友等等,将商品之间的交互做成一张大的网络图,腾讯用户之间的关系做成一张社交网络图,在应用过程中就可以通过点与点之间的关系将与某商品相关的其他商品推荐给用户,或将朋友的朋友也推荐给你作为可能认识的人。
★难度:易
参见章节:第7章 第1节
考核知识点:Spark GraphX概述
试题解析:
33、请简述机器学习的分类
答案: 器学习可以分为监督学习、非监督学习、半监督学习 3 种。
监督学习就是给出的训练数据集是有标签的,已经能够确定所给数据集的类别。
半监督学习针对的问题是数据量 超级大但是标签数据很少或者标签数据不易获取的情况。
无监督学习与监督学习相反,训练数据完全没有标签,只能依靠数据间的相似性分类,例如广泛使用的 KMeans 算法
★难度:易
参见章节:第8章 第1节
考核知识点:MLlib算法库简介
试题解析:
34、请简述机器学习中降维算法的作用
答案: 主要作用是压缩数据与提升机器学习其他算法的效率。通过降维算法,可以将具有几千个特征的数据压缩至若干个特征。
★难度:易
参见章节:第8章 第1节
考核知识点:MLlib算法库简介
试题解析:
(四)、解答题
1、请阐述Spark在腾讯中的应用
难易程度:易
所属章节:1-3
考核知识点:Spark的应用场景
建议分值:4分
答案:
广点通是最早使用Spark的应用之一。腾讯大数据精准推荐借助Spark快速迭代的优势,围绕“数据+算法+系统”这套技术方案,实现了在“数据实时采集、算法实时训练、系统实时预测”的全流程实时并行高维算法,最终成功应用于广点通pCTR投放系统上,支持每天上百亿的请求量。
2、请阐述Spark在淘宝中的应用
难易程度:易
所属章节:1-3
考核知识点:Spark的应用场景
建议分值:4分
答案:
淘宝技术团队使用了Spark来解决多次迭代的机器学习算法、高计算复杂度的算法等,将Spark运用于淘宝的推荐相关算法上,同时还利用GraphX解决了许多生产问题,包括以下计算场景:基于度分布的中枢节点发现、基于最大连通图的社区发现、基于三角形计数的关系衡量、基于随机游走的用户属性传播等。
3、请阐述Spark在Yahoo中的应用
难易程度:易
所属章节:1-3
考核知识点:Spark的应用场景
建议分值:4分
答案:
Yahoo将Spark用在Audience Expansion中。Audience Expansion是广告中寻找目标用户的一种方法,首先广告者提供一些观看了广告并且购买产品的样本客户,据此进行学习,寻找更多可能转化的用户,对他们定向广告。Yahoo采用的算法是Logistic Regression。同时由于某些SQL负载需要更高的服务质量,又加入了专门跑Shark的大内存集群,用于取代商业BI/OLAP工具,承担报表/仪表盘和交互式/即席查询,同时与桌面BI工具对接。
4、请阐述Spark在优酷土豆中的应用
难易程度:易
所属章节:1-3
考核知识点:Spark的应用场景
建议分值:4分
答案:
目前Spark已经广泛使用在优酷土豆的视频推荐,广告业务等方面,相比Hadoop,Spark交互查询响应快,性能比Hadoop提高若干倍。一方面,使用Spark模拟广告投放的计算效率高、延迟小(同Hadoop比延迟至少降低一个数量级)。另一方面,优酷土豆的视频推荐往往涉及机器学习及图计算,而使用Spark解决机器学习、图计算等迭代计算能够大大减少网络传输、数据落地等的次数,极大地提高了计算性能。
5、请阐述Spark的生态圈
难易程度:易
所属章节:1-2
考核知识点:Spark的生态圈
建议分值:8分
答案:
(1)Spark Core:Spark核心,提供底层框架及核心支持。包含Spark的基本功能,包括任务调度、内存管理、容错机制等。
(2)BlinkDB:一个用于在海量数据上运行交互式SQL查询的大规模并行查询引擎。
(3)Spark SQL:可以执行SQL查询,包括基本的SQL语法和HiveQL语法。
(4)Spark Streaming:流式计算。
(5)MLBase:专注于机器学习,让机器学习的门槛更低,让一些可能并不了解机器学习的用户也能方便地使用MLBase。
(6)MLlib:MLBase的一部分,MLlib是Spark的数据挖掘算法库,实现了一些常见的机器学习算法和实用程序,包括分类、回归、聚类、协同过滤、降维以及底层优化。
(7)GraphX:内置了很多的图相关算法。
(8)SparkR:SparkR是AMPLab发布的一个R开发包,使得R摆脱单机运行的命运,可以作为Spark的Job运行在集群上,极大地扩展了R的数据处理能力。
6、请阐述Scala的特性
难易程度:中
所属章节:2-1
考核知识点:Scala简介及安装
建议分值:8分
答案: