Spark Scala版本 | 选择题汇总

  • Post author:
  • Post category:其他

选择题总结 (89个题)

第1章 大数据技术概述 (10个题)


‎1.1 大数据技术及其代表性的软件种类很多,不同的技术有其不同应用场景,都对应着不同的大数据计算模式,请问软件产品Pregel主要应用于以下哪种计算模式? B.图计算

A.流计算
B.图计算
C.查询分析计算
D.批处理计算

1.2 Hadoop生态系统中用于构建数据仓库并允许用户输入SQL语句进行查询的功能组件是? C. Hive

A.Flume
B.Pregel
C.Hive
D.Spark

1.3 ‏Hadoop的生态系统组件之一Sqoop的功能是? D.交换数据

A.负责集群资源调度管理的组件
B.用来存储非结构化和半结构化的松散数据
C.提供高可靠性、高可用、分布式的海量日志采集
D.用来在Hadoop和关系数据库之间的交换数据,改进数据的互操作性

1.4 以下哪一项不是Hadoop的缺点? B.分布存储到多台机器

A.计算延迟高
B.数据文件被分布存储到多台机器上
C.磁盘I/O开销大
D.计算表达能力有限

1.5 用户在使用HDFS时,仍然可以像普通文件系统那样用文件名去访问文件,以下哪个选项是正确的访问方式? D. 三短一长选最长(

‎A.把文件名发送给名称节点,根据文件名直接在名称节点上获取数据
B.把文件名发送给数据节点,根据文件名直接在数据节点上获取数据
C.以上说法都不对
D.把文件名发送给名称节点,根据文件名在名称节点上找到数据块的实际存储信息,客户端再到数据节点上获取数据

1.6 目前学术界和业界比较认可的关于大数据的四个特点是? ABCD

‍A.数据类型多
B.价值密度低
C.数据量大
D.处理速度快

1.7 Hadoop两大核心组成部分是什么? CD

​A.资源调度管理框架YARN
B.分布式协作服务Zookeeper
C.分布式计算框架MapReduce
D.分布式文件系统HDFS

1.8.‏YARN是负责集群资源调度管理的组件。不同的计算框架统一运行在YARN框架之上,具有哪些优点: ABCD

‏A.计算资源按需伸缩
B.大大降低了运维成本
C.不同负载应用混搭,集群利用率高
D.共享底层存储,避免数据跨集群迁移

1.9 关于Hadoop生态系统中HBase与其它部分的关系,以下说法正确的有: ABCD

‍A.HBase利用MapReduce来处理HBase中的海量数据,实现高性能计算
B.利用Pig和Hive为HBase提供了高层语言支持
C.使用HDFS作为高可靠的底层存储,利用廉价集群提供海量数据存储能力
D.使用Sqoop为HBase提供了高效便捷的RDBMS数据导入功能

1.10.Spark的设计遵循“一个软件栈满足不同应用场景”的理念,逐渐形成了一套完整的生态系统,可以支持以下哪些操作计算: ABCD

‏A.流式计算(Spark Streaming)
B.SQL即席查询(Spark SQL)
C.图计算(GraphX)
D.机器学习(MLlib)

第2章 Scala 语言基础 (20个题)


2.1 下面输出与其他不一致的是? D

A.print("Hello World\n")
B.println("Hello World")
C.printf("Hello %s", "World\n")
D.val w = "World" ; println("Hello $w")

2.2 有关操作符优先级的描述不正确的是? A

A.+的优先级高于!
B.%的优先级高于+
C.>的优先级高于&
D.*=的优先级低于+

2.3 对集合(Set)进行操作”Set(2, 0, 1) + 1 + 1 – 1″之后的结果为? C

A.以上均不正确
B.Set(2, 0, 1, 1)
C.Set(2, 0)
D.Set(2, 0, 1)

2.4 以下关于闭包描述错误的是? D

A.对于def mulBy(factor: Double) = (x: Double) => factor * x; val triple = mulBy(3);,函数triple是一个闭包
B.闭包是一个函数,其返回值依赖于声明在函数包部的一个或多个变量
C.通常来讲,可以将闭包看作是可以访问一个函数里面局部变量的另一个函数
D.对于def mulBy(factor: Double) = (x: Double) => 3 * x; val triple = mulBy(3);,函数triple是一个闭包

2.5 对于以下代码描述有误的是? C

val data = Map(1 -> "One", 2 -> "Two")
‏val res = for((k, v) <- data; if(k > 1)) yield v
A.其中的if(k > 1)是一个守卫表达式
B.运行后res的结果为List("Two")
C.运行后res的结果为List("One", "Two")
D.对映射data中的每一个(键,值)对,k被绑定对键,而v则被绑定到值

2.6‍ Scala中,下面的哪个类定义是不正确的? B

A.class Counter{def counter = “counter”}
B.class Counter{var counter:String}
C.class Counter{def counter () {}}
D.class Counter{val counter = “counter”}

2.7 以下关于类和单例对象的对比说法正确的是? A

A.单例对象不可以带参数,而类可以
B.单例对象不可以定义方法,而类可以
C.单例对象不可以定义私有属性,而类可以
D.单例对象不可以继承,而类可以

2.8 Scala语言中,关于List的定义,不正确的是? B

A.val list = List(1,2,3)
B.val list = List [String]('A','B','C')
C.val list = List [Int](1,2,3)
D.val list = List [String]()

2.9‏ 对于Map(“book” -> 5, “pen” -> 2).map(m => m._1 -> m._2 * 2)的结果,下面哪个是正确的? A

‍A.Map("book" -> 10, "pen" -> 4)
B.Map("bookbook" -> 10, "penpen" -> 4)
C.Map("book" -> 5, "pen" -> 2 ,"book" -> 5, "pen" -> 2)
D.Map("bookbook" -> 5, "penpen" -> 2)

2.10‌ 表达式for(i <- 1 to 3; j <- 1 to 3; if i != j ) {print((10 * i + j));print(” “)}输出结果正确的是? D

A.11 12 21 22 31 32
B.11 13 21 23 31 33
C.11 12 13 21 22 23 31 32 33
D.12 13 21 23 31 32

2.11 ‎以下哪些选项属于Scala的基本特性? ABCD

A.是一门类Java的多范式语言
B.是一门函数式语言,支持高阶函数,允许嵌套多层函数,并支持柯里化(Currying)
C.运行于Java虚拟机(JVM)之上,并且兼容现有的Java程序
D.是一门纯粹的面向对象的语言

2.12 关于主构造器,以下说法正确的是? ABD

‏A.主构造器的参数可以直接放在类名后
B.主构造器中可以使用默认参数
C.主构造器在每个类都可以定义多个
D.主构造器会执行类定义中的所有语句

2.13 Scala里的函数是“头等公民”,以下哪些说法是正确的? ACD

A.将函数赋值给变量
B.以上说法都不正确
C.将函数作为其他函数的返回值
D.将函数作为参数传递给其他函数

2.14 以下关于特质的说法正确的是? ABC

A.类可以实现任意数量的特质
B.特质可以要求实现它们的类具备特定的字段、方法或超类
C.当将多个特质叠加在一起时,顺序很重要,其方法先被执行的特质排在更后面
D.与Java接口(Interface)相同,Scala特质不可以提供方法和字段的实现

2.15 对于元组val t = (1, 3.14, “Fred”)说法正确的是? BCD

A.t_1 等于 1
B.t._0无法访问,会抛出异常
C.t 的类型为 Tuple3[Int, Double, java.lang.String]
D.val (first, second, _) = t // second 等于 3.14

2.16 Scala 中,类和它的伴生对象说法正确的是? BC

A.类和它的伴生对象可以有不同的名称
B.类和它的伴生对象定义在同一个文件中
C.类和它的伴生对象可以互相访问私有特性
D.类有静态方法,伴生对象没有静态方法

2.17 关于数组val a = Array(1,2,3)下列说法正确的是? ABC

‍A.val b = for(elem <- a if elem % 2 == 0) yield 2 * elem // b 等于 Array(4)
B.val b = for(elem <- a) yield 2 * elem // b 等于 Array(2,4,6)
C.val b = a.map(_*2) // b 等于 Array(2,4,6)
D.val b = 2 * a // b 等于 Array(2,4,6)

2.18‎ 以下关于Scala各种数据结构的说法正确的是? ABC

A.集合(Set)是不重复元素的容器
B.列表(List)一旦被定义,其值就不能改变
C.迭代器(Iterator)是一种提供了按顺序访问容器元素的数据结构
D.映射(Map)是一系列键值对的容器,在一个映射中,键是唯一的,值也是唯一的

2.19 ‎val books = List(“Hadoop”,”Hive”,”Mapreduce”),以下哪些操作能将字符串全部变成大写? BCD

‎A.for (book <-books; c<-book) yield c.toUpperCase
B.books.map(s => s.toUpperCase)
C.for (book<-books) yield book.toUpperCase
D.books.map(_.toUpperCase)

2.20 在Scala中,关于Nothing,null,Null,Option,Some,None的说法正确的是? ABCD

‍A.Null是所有引用类型的子类,其唯一的实例是null
B.null表示一个空对象,可以赋值给任何引用类型
C.类Option是一个抽象类,有一个具体子类Some 和一个对象None,分别表示有值和无值的情况
D.Nothing 是所有其他类型的子类,没有实例,主要用于异常处理函数的返回类型

第3章 Spark的设计与运行原理 (10个题)


3.1 ‎以下是Spark的主要特点的有? ABCD

A.运行速度快
B.容易使用,简洁的API设计有助于用户轻松构建并行程序
C.通用性,Spark提供了完整而强大的技术栈
D.运行模式多样

3.2 Spark的运行架构包括哪些? ABCD

A.集群资源管理器(Cluster Manager)
B.执行进程(Executor)
C.Worker Node
D.任务控制节点Driver Program

3.‎3 关于RDD之间的依赖分为窄依赖和宽依赖,以下说法正确的是? AC

A.存在一个父RDD的一个分区对应一个子RDD的多个分区,则为宽依赖
B.存在一个父RDD的多个分区对应一个子RDD的一个分区,则为宽依赖
C.存在一个父RDD的一个分区只被一个子RDD的一个分区所使用,则为窄依赖
D.存在一个父RDD的一个分区被一个子RDD的多个分区所使用,则为窄依赖

3.4 Spark可以采用几种不同的部署方式,以下正确的部署方式有? ABCD

A.Local
B.Standalone
C.Spark on Mesos
D.Spark on YARN

3.5 ​目前的大数据处理典型应用场景可分为哪几个类型? ABD

A.复杂的批量数据处理
B.基于历史数据的交互式查询
C.大数据的分布式计算
D.基于实时数据流的数据处理

3.6 以下哪个不是Spark的组件? D

A.Spark Streaming
B.MLlib
C.GraphX
D.Flink

3.7 下面哪个不是 RDD 的特点 ? C

A.可分区
B.可序列化
C.可修改
D.可持久化

3.8.Task是Executor上的工作单元,运行于下面哪个组件上? C

A.Driver Program
B.Spark Master
C.Worker Node
D.Cluster Manager

3.9 下面哪个操作肯定是宽依赖? C

A.map
B.filter
C.reduceByKey
D.union

3.10 以下选项中哪些是Spark的优点? AC

‍A.具有高效的容错性
B.利用进程模型
C.可以将中间结果持久化到内存
D.表达能力有限

第4章 Spark环境搭建和使用方法 (10个题)


4.1​ Spark部署模式有哪几种? ABCD

A.Local模式(单机模式)
B.Standalone模式 
C.YARN模式
D.Mesos模式

4.2‏ 关于Hadoop和Spark的相互关系,以下说法正确的是? ABCD

A.Hadoop和Spark可以相互协作
B.Hadoop负责数据的存储和管理
C.Spark负责数据的计算
D.Spark要操作Hadoop中的数据,需要先启动HDFS

4.3 判断HDFS是否启动成功,可以通过哪个命令? C

‎A.hdfs
B.spark
C.jps
D.start-dfs

4.4 ‏HDFS若启动成功,系统会列出以下哪些进程? ACD

A.NameNode
B.HDFS
C.DataNode
D.SecondaryNameNode

4.5 spark-shell在启动时,采用local[*]时,它的含义是? B

A.使用任意个线程来本地化运行Spark
B.使用与逻辑CPU个数相同数量的线程来本地化运行Spark
C.使用与逻辑CPU个数相同数量的进程来本地化运行Spark
D.使用单个线程来本地化运行Spark

4.6‎ spark-shell在启动时,采用yarn-client模式时,以下说法正确的是? AC

A.当用户提交了作业之后,不能关掉Client
B.当用户提交了作业之后,就可以关掉Client
C.该模式适合运行交互类型的作业
D.该模式不适合运行交互类型的作业

4.7 spark-shell在启动时,采用yarn-cluster模式时,以下说法正确的是? BD

A.当用户提交了作业之后,不能关掉Client
B.当用户提交了作业之后,就可以关掉Client
C.该模式适合运行交互类型的作业
D.该模式不适合运行交互类型的作业

4.8‍ 开发Spark独立应用程序的基本步骤通常有哪些? ABCD

‌A.安装编译打包工具,如sbt,Maven
B.编写Spark应用程序代码
C.编译打包
D.通过spark-submit运行程序

4.9 下面描述正确的是: C

A.Hadoop和Spark不能部署在同一个集群中
B.Hadoop只包含了存储组件,不包含计算组件
C.Spark是一个分布式计算框架,可以和Hadoop组合使用
D.Spark和Hadoop是竞争关系,二者不能组合使用

4.10‍ 集群上运行Spark应用程序的方法步骤有哪些? ABCD

A.启动Hadoop集群
B.启动Spark的Master节点和所有Slave节点
C.在集群中运行应用程序JAR包
D.查看集群信息以获得应用程序运行的相关信息

第5章 RDD编程 (10个题)


5.1 以下操作中,哪个不是Spark RDD编程中的操作 A

‍A.getLastOne()
B.filter()
C.reduceByKey(func)
D.reduce()

5.2下述语句执行的结果是 A

‏val rdd=sc.parallelize(Array(1,2,3,4,5))
rdd.take(3)
A.Array(1,2,3)
B.Array(2,3,4)
C.3
D.6

5.3‍ 有一个键值对RDD,名称为pairRDD,它包含4个元素,分别是(“Hadoop”,1)、(“Spark”,1)、(“Hive”,1)和(“Spark”,1),则pairRDD.reduceByKey((a,b)=>a+b)执行结果得到的RDD,它里面包含的元素是 A

A.(“Hadoop”,1),(“Spark”,2),(“Hive”,1)
B.(“Hadoop”,2),(“Spark”,1),(“Hive”,1)
C.(“Hadoop”,2),(“Spark”,2),(“Hive”,2)
D.(“Hadoop”,1),(“Spark”,2),(“Hive”,2)

5.4 ‌下述语句的执行结果wordCountsWithGroup中包含的元素是 A

val  words = Array("one", "two", "two", "three", "three", "three") 
‌val  wordPairsRDD = sc.parallelize(words).map(word => (word, 1))
‌val  wordCountsWithGroup = wordPairsRDD. groupByKey().map(t => (t._1, t._2.sum))
A.(“one”,1),(“two”,2),(“three”,3)
B.(“one”,1),(“two”,2),(“three”,1)
C.(“one”,3),(“two”,2),(“three”,1)
D.(“one”,1),(“two”,1),(“three”,1)

5.5 有一个键值对RDD,名称为pairRDD,包含4个元素,分别是(“Hadoop”,1)、(“Spark”,1)、(“Hive”,1)和(“Spark”,1),则pairRDD.mapValues(x => x+1)操作得到的RDD中所包含的元素是 C

A.1,1,1,1
B.2,2,2,2
C.("Hadoop",2)、("Spark",2)、("Hive",2)和("Spark",2)
D. ("Hadoop",1)、("Spark",1)、("Hive",1)和("Spark",1)

5.6 RDD操作包括哪两种类型 AC

A.行动(Action)
B.分组(GroupBy)
C.转换(Transformation)
D.连接(Join)

5.7 ‏以下操作中,哪些是转换(Transformation)操作 AB

A.filter()
B.reduceByKey(func)
C.first()
D.count()

5.8 以下操作中,哪些是行动(Action)操作 AB

A.reduce()
B.collect()
C.groupByKey()
D.map()

5.9 ‏以下关于RDD的持久化的描述,正确的是 ABCD

A.persist(MEMORY_ONLY):表示将RDD作为反序列化的对象存储于JVM中,如果内存不足,就要按照LRU原则替换缓存中的内容
B.通过持久化(缓存)机制可以避免重复计算的开销
C.persist(MEMORY_AND_DISK):表示将RDD作为反序列化的对象存储在JVM中,如果内存不足,超出的分区将会被存放在硬盘上
D.使用cache()方法时,会调用persist(MEMORY_ONLY)

5.10 ‎关于RDD分区的作用,下面描述正确的是 BC

A.增加时间开销
B.增加并行度
C.减少通信开销
D.减少并行度

第6章 Spark SQL (10个题)


6.1 关于Shark,下面描述正确的是: C

A.Shark提供了类似Pig的功能
B.Shark把SQL语句转换成MapReduce作业
C.Shark重用了Hive中的HiveQL解析、逻辑执行计划翻译、执行计划优化等逻辑
D.Shark的性能比Hive差很多

6.2‎ 下面关于Spark SQL架构的描述错误的是: D

A.在Shark原有的架构上重写了逻辑执行计划的优化部分,解决了Shark存在的问题
B.Spark SQL在Hive兼容层面仅依赖HiveQL解析和Hive元数据
C.Spark SQL执行计划生成和优化都由Catalyst(函数式关系查询优化框架)负责
D.Spark SQL执行计划生成和优化需要依赖Hive来完成

6.3 要把一个DataFrame保存到people.json文件中,下面语句哪个是正确的: A

A.df.write.json("people.json")
B. df.json("people.json")
C.df.write.format("csv").save("people.json")
D.df.write.csv("people.json")

6.4 以下操作中,哪个不是DataFrame的常用操作: D

A.printSchema()
B.select()
C.filter()
D.sendto()

6.5‍ Shark的设计导致了两个问题: AC

A.执行计划优化完全依赖于Hive,不方便添加新的优化策略
B.执行计划优化不依赖于Hive,方便添加新的优化策略
C.Spark是线程级并行,而MapReduce是进程级并行,因此,Spark在兼容Hive的实现上存在线程安全问题,导致Shark不得不使用另外一套独立维护的、打了补丁的Hive源码分支
D.Spark是进程级并行,而MapReduce是线程级并行,因此,Spark在兼容Hive的实现上存在线程安全问题,导致Shark不得不使用另外一套独立维护的、打了补丁的Hive源码分支

6.6 ‏下面关于为什么推出Spark SQL的原因的描述正确的是: AB

‍A.Spark SQL可以提供DataFrame API,可以对内部和外部各种数据源执行各种关系操作
B.可以支持大量的数据源和数据分析算法,组合使用Spark SQL和Spark MLlib,可以融合传统关系数据库的结构化数据管理能力和机器学习算法的数据处理能力
C.Spark SQL无法对各种不同的数据源进行整合
D.Spark SQL无法融合结构化数据管理能力和机器学习算法的数据处理能力

6.7 下面关于DataFrame的描述正确的是: ABCD

A.DataFrame的推出,让Spark具备了处理大规模结构化数据的能力
B.DataFrame比原有的RDD转化方式更加简单易用,而且获得了更高的计算性能
C.Spark能够轻松实现从MySQL到DataFrame的转化,并且支持SQL查询
D.DataFrame是一种以RDD为基础的分布式数据集,提供了详细的结构信息

6.8‌ 要读取people.json文件生成DataFrame,可以使用下面哪些命令: AC

A.spark.read.json("people.json")
B.spark.read.parquet("people.json")
C.spark.read.format("json").load("people.json")
D.spark.read.format("csv").load("people.json")

6.9 从RDD转换得到DataFrame包含两种典型方法,分别是: AB

A.利用反射机制推断RDD模式
B.使用编程方式定义RDD模式
C.利用投影机制推断RDD模式
D.利用互联机制推断RDD模式

6.10 使用编程方式定义RDD模式时,主要包括哪三个步骤: ABD

‍A.制作“表头”
B.制作“表中的记录”
C.制作映射表
D.把“表头”和“表中的记录”拼装在一起

第7章 Spark Streaming (11个题)


7.1 以下流计算框架中,哪个不是开源的: A

A.IBM StreamBase
B.Twitter Storm
C.Yahoo! S4
D.Spark Streaming

7.2 ‎下面关于Spark Streaming的描述错误的是: D

A.Spark Streaming的基本原理是将实时输入数据流以时间片为单位进行拆分,然后采用Spark引擎以类似批处理的方式处理每个时间片数据
B.Spark Streaming最主要的抽象是DStream(Discretized Stream,离散化数据流),表示连续不断的数据流
C.Spark Streaming可整合多种输入数据源,如Kafka、Flume、HDFS,甚至是普通的TCP套接字
D.Spark Streaming的数据抽象是DataFrame

7.3 ​下面关于Spark Streaming和Storm的描述正确的是: A

A.Spark Streaming无法实现毫秒级的流计算,而Storm可以实现毫秒级响应
B.Spark Streaming可以实现毫秒级的流计算,而Storm无法实现毫秒级响应
C.Spark Streaming和Storm都可以实现毫秒级的流计算
D.Spark Streaming和Storm都无法实现毫秒级的流计算

7.4 ‏下面描述错误的是: D

A.在RDD编程中需要生成一个SparkContext对象
B.在Spark SQL编程中需要生成一个SparkSession对象
C.运行一个Spark Streaming程序,就需要首先生成一个StreamingContext对象
D.在Spark SQL编程中需要生成一个StreamingContext对象

7.5 下面不属于Spark Streaming基本输入源的是: D

A.文件流
B.套接字流
C.RDD队列流
D.双向数据流

7.6 以下关于流数据特征的描述,哪些是正确的: ABCD

‍A.数据快速持续到达,潜在大小也许是无穷无尽的
B.数据来源众多,格式复杂
C.数据量大,但是不十分关注存储,一旦流数据中的某个元素经过处理,要么被丢弃,要么被归档存储
D.数据顺序颠倒,或者不完整,系统无法控制将要处理的新到达的数据元素的顺序

7.7 流计算处理流程一般包括哪三个阶段: ABD

A.数据实时采集
B.数据实时计算
C.数据汇总分析
D.实时查询服务

7.8 ‎以下产品哪些属于日志采集组件: AC

A.Scribe
B.GraphX
C.Flume
D.MySQL

7.9 流处理系统与传统的数据处理系统的不同之处在于: ABC

A.流处理系统处理的是实时的数据,而传统的数据处理系统处理的是预先存储好的静态数据
B.用户通过流处理系统获取的是实时结果,而通过传统的数据处理系统获取的是过去某一时刻的结果
C.流处理系统无需用户主动发出查询,实时查询服务可以主动将实时结果推送给用户
D.流处理系统处理的是历史的数据,而传统的数据处理系统处理的是实时的数据

7.10‌ 编写Spark Streaming程序的基本步骤包括: ABCD

A.通过创建输入DStream(Input Dstream)来定义输入源
B.通过对DStream应用转换操作和输出操作来定义流计算
C.调用StreamingContext对象的start()方法来开始接收数据和处理流程
D.调用StreamingContext对象的awaitTermination()方法来等待流计算进程结束

7.11 DStream有状态转换操作包括哪两种: CD

A.update操作
B.reduceByKey操作
C.滑动窗口转换操作
D.updateStateByKey操作

第8章 Spark MLlib (8个题)


8.1 下面论述中错误的是: A

A.机器学习和人工智能是不存在关联关系的两个独立领域
B.机器学习强调三个关键词:算法、经验、性能
C.推荐系统、金融反欺诈、语音识别、自然语言处理和机器翻译、模式识别、智能控制等领域,都用到了机器学习的知识
D.机器学习可以看作是一门人工智能的科学,该领域的主要研究对象是人工智能

8.2‌ 下面关于机器学习处理过程的描述,错误的是: D

‌A.在数据的基础上,通过算法构建出模型并对模型进行评估
B.评估的性能如果达到要求,就用该模型来测试其他的数据
C.评估的性能如果达不到要求,就要调整算法来重新建立模型,再次进行评估
D.通过算法构建出的模型不需要评估就可以用于其他数据的测试

8.3 ​下面关于机器学习流水线(PipeLine)的描述,错误的是: D

A.流水线将多个工作流阶段(转换器和评估器)连接在一起,形成机器学习的工作流,并获得结果输出
B.要构建一个机器学习流水线,首先需要定义流水线中的各个PipelineStage
C.PipelineStage称为工作流阶段,包括转换器和评估器,比如指标提取和转换模型训练等
D.流水线构建好以后,就是一个转换器(Transformer)

8.4 下面关于评估器(Estimator)的描述错误的是: C

A.评估器是学习算法或在训练数据上的训练方法的概念抽象
B.在机器学习流水线里,评估器通常是被用来操作 DataFrame数据并生成一个转换器
C.评估器实现了方法transfrom(),它接受一个DataFrame并产生一个转换器
D.评估器实现了方法fit(),它接受一个DataFrame并产生一个转换器

8.5 下面关于转换器(Transformer)的描述错误的是: B

A.转换器是一种可以将一个DataFrame转换为另一个DataFrame的算法
B.技术上,转换器实现了一个方法fit(),它通过附加一个或多个列,将一个DataFrame转换为另一个DataFrame
C.一个模型就是一个转换器,它把一个不包含预测标签的测试数据集DataFrame打上标签,转化成另一个包含预测标签的 DataFrame
D.技术上,转换器实现了一个方法transform(),它通过附加一个或多个列,将一个DataFrame转换为另一个DataFrame

8.6 下面的论述中,正确的是: AB

A.传统的机器学习算法,由于技术和单机存储的限制,大多只能在少量数据上使用
B.利用MapReduce框架在全量数据上进行机器学习,这在一定程度上解决了统计随机性的问题,提高了机器学习的精度
C.MapReduce可以高效支持迭代计算
D.Spark无法高效支持迭代计算

8.7 下面关于Spark MLlib库的描述正确的是: AC

‍A.MLlib库从1.2版本以后分为两个包:spark.mllib和spark.ml
B.spark.mllib包含基于DataFrame的原始算法API
C.spark.mllib包含基于RDD的原始算法API
D.spark.ml则提供了基于RDD的、高层次的API

8.8下面论述中正确的是: ABC

A.DataFrame可容纳各种数据类型,与RDD数据集相比,它包含了模式(schema)信息,类似于传统数据库中的二维表格
B.流水线用DataFrame来存储源数据
C.转换器(Transformer)是一种可以将一个DataFrame转换为另一个DataFrame的算法
D.评估器(Estimator)是一种可以将一个DataFrame转换为另一个DataFrame的算法

版权声明:本文为Unirithe原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。