第九单元
单选题
- Spark SQL可以处理的数据源都包括哪些:
A. 数据文件、Hive表
B. Parquet文件和Hive表
C. 数据文件、RDD
D. 数据文件、Hive表、RDD、外部数据库
正确答案: D - 下列关于 Spark SQL 的描述错误的是?
A. SqlContext现在只支持SQL语法解析器
B. Spark SQL 对数据的查询分成了两个分支:SqlContext 和 HiveContext
C. 在spark-shell 中执行 SQL 语句,需要使用 SqlContext 对象来调用sql()方法
D. HiveContext仅支持HiveQL语法解析器,不支持 SQL语法解析器
正确答案: D - 关于DataFrame 描述不正确的是?
A. 支持KB级到PB级的数据处理
B. DataFrame是一种不可变的分布式数据集
C. DataFrame是分布式的列对象的集合
D. 支持读取多种存储系统的数据及支持多种数据格式:
正确答案: C - 下面关于Spark Streaming描述错误的是:
A. Spark Streaming的基本原理是将实时输入数据以时间片为单位进行拆分
B. Spark Streaming可以整合多种输入数据源,如Kafka,Flume,HDFS,甚至是普通的TCP套接字
C. Spark Streaming的数据抽象是DataFrame
D. Spark Streaming的数据抽象是DStream
正确答案: C - 下列哪个说法是正确的?
A. Spark SQL的前身是Hive
B. DataFrame其实就是RDD
C. HiveContext 继承了SqlContext
D. HiveContext只支持SQL语法解析器
正确答案: C - 如何查看DataFrame对象df的前10条记录?
A. df.show()
B. df.show(False)
C. df.collect()
D. df.show(10)
正确答案: D - 下面不属于Spark Streaming基本数据源的是?
A. 文件系统
B. Kafka
C. Socket连接
D. RDD队列流等
正确答案: B - 关于DataFrame及相关函数说法不正确的是?
A. DataFrame由SchemaRDD发展而来
B. createOrReplaceTempView()函数是行动算子
C. toDF()是Spark中创建DataFrame的一种简单方式。它可以将RDD转换为DataFrame,并自动推断元素的类型和创建列
D. RDD到DataFrame的转换,需要手动导入一个隐式转换,否则RDD无法转换成DataFrame
正确答案: B - 下面关于MLlib的说法不正确的是?
A. MLlib是Spark的机器学习(ML)库
B. MLlib由一些通用的学习算法和工具组成,包括分类、回归、聚类、协同过滤、降维等
C. spark.mllib包含基于DataFrame的原始算法API
D. MLlib库从1.2版本以后分为两个包:spark.mllib和spark.ml
正确答案: C - VertexId必须是哪种数据类型?
A. Long
B. Int
C. Double
D. String
正确答案: A
多选题
- 关于DataFrame的说法正确的是?
A. DataFrame是Spark SQL提供的最核心的编程抽象
B. DataFrame直接继承了RDD
C. DataFrame是一个分布式的Row对象的数据集合
D. DataFrame实现了RDD的绝大多数功能
正确答案: ACD - 相比shark,Spark优势有哪些?
A. Spark SQL摆脱了对Hive的依赖
B. Spark SQL支持在scala中写SQL
C. Spark SQL支持Parquet文件的读写,且保留Schema
D. Spark SQL支持访问Hive,而Shark不支持
正确答案: ABC - 关于DStream,以下说法正确的是?
A. DStream代表了持续的数据流
B. DStream可以通过现有的DStream的高级操作获得
C. DStream只能通过外部数据源(Kafka、Flume等)来获取
D. 对DStream的任何操作都会转化成底层的RDDS操作
正确答案: ABD - 关于Spark Streaming,下列说法正确的是?
A. Spark Streaming是Spark的核心子框架之一
B. Spark Streaming具有可伸缩、高吞吐量、容错能力强等特点
C. Spark Streaming处理的数据源可以来自Kafka
D. Spark Streaming不能和Spark SQL、Mllib、GraphX无缝集成
正确答案: ABC - 使用Spark Streaming,一般需要哪几个步骤?
A. 创建StreamingContext 对象
B. 创建InputStream
C. 操作DStream
D. 启动Spark Streaming
正确答案: ABCD
填空题
- Spark SQL 的数据抽象是______和DataSet,底层是RDD。
正确答案:DataFrame - Spark SQL中有两种方法可以在DataFrame和RDD之间进行转换,第一种方法是利用____________机制,推导包含某种类型的RDD。
正确答案:反射 - 在spark-shell启动的过程中会初始化SparkSession对象为____________。
正确答案:spark - __________是Spark Streaming最基本的数据抽象。
正确答案:DStream
判断题
- DataSet是分布式的数据集合,提供了强类型支持,也是在RDD的每行数据加了类型约束。
正确答案: 正确 - Flume 是 Spark Streaming的基本数据源
正确答案: 错误 - DStream 不可以通过外部数据源获取。
正确答案: 错误 - Spark SQL的前身是Hive,是一个将Spark和hive结合的框架。
正确答案: 错误 - Spark SQL目前支持Scala、Java、C++三种语言,支持SQL-92规范。
正确答案: 错误 - 在Spark中可以将RDD转换为DataFrame,也可以将DataFrame转换为RDD。
正确答案: 正确