版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年Spark期末练习能力检测试卷含答案详解(A卷)1.关于SparkDataFrame,以下描述正确的是?
A.DataFrame是SparkSQL的底层数据结构,存储未结构化数据
B.DataFrame相比RDD,增加了Schema信息和优化的执行计划
C.DataFrame仅支持通过SQL语句进行操作
D.DataFrame是SparkStreaming的核心数据结构【答案】:B
解析:本题考察DataFrame的核心特性。正确答案为B,DataFrame是带有Schema信息的分布式数据集合,相比RDD增加了结构化元数据和优化的Catalyst执行计划,支持更高效的查询优化。A错误,DataFrame存储的是结构化数据;C错误,DataFrame同时支持DataFrameAPI和SQL操作;D错误,DataFrame是SparkSQL的核心数据结构,与SparkStreaming无关。2.以下关于SparkSQL创建临时视图的说法,正确的是?
A.临时视图仅在创建它的SparkSession会话中可见
B.临时视图必须通过registerTempTable方法创建
C.临时视图的数据会被持久化到磁盘存储
D.临时视图的作用范围是全局,所有SparkSession都可访问【答案】:A
解析:本题考察SparkSQL临时视图特性。正确答案为A。临时视图为会话级视图,仅在创建它的SparkSession中可见(A正确,D错误)。B错误:临时视图支持createOrReplaceTempView(推荐)和registerTempTable(旧API),非必须用registerTempTable;C错误:临时视图数据存储在内存中,不持久化到磁盘。3.SparkDataFrame的核心优势不包括以下哪项?
A.自动维护数据的Schema信息
B.基于Catalyst优化器生成最优执行计划
C.相比RDD提供了更高的性能优化
D.仅支持基于SQL的查询操作【答案】:D
解析:本题考察DataFrame的特性。DataFrame的核心优势包括:自动维护数据的Schema信息(A正确),基于Catalyst优化器生成高效执行计划(B正确),通过向量化执行和内存优化比RDD性能更高(C正确)。而DataFrame不仅支持SQL查询,还提供丰富的API操作(如select、where等),因此“仅支持SQL查询”是错误描述,正确答案为D。4.SparkDataFrame相比RDD,最显著的优势是?
A.支持SQL查询和结构化数据处理
B.内存占用比RDD低30%以上
C.仅需处理单条记录而非分区数据
D.支持更复杂的数据类型(如JSON)【答案】:A
解析:本题考察SparkDataFrame与RDD的核心差异。DataFrame的显著优势是基于Schema的结构化数据模型,支持SQL查询和DataFrameAPI操作,而RDD是无结构的分布式元素集合。选项B错误,DataFrame内存效率取决于数据压缩率,并非绝对更低;选项C错误,DataFrame同样基于分区处理数据;选项D错误,RDD也支持JSON等复杂数据类型解析。5.在Spark中,若要创建一个跨多个SparkSession共享的临时视图,应使用以下哪种方法?
A.createOrReplaceTempView()
B.createOrReplaceGlobalTempView()
C.createTempView()
D.createGlobalView()【答案】:B
解析:本题考察Spark临时视图的作用范围。Spark提供两种临时视图:①普通临时视图(createOrReplaceTempView()):仅在当前SparkSession中有效,无法跨会话共享;②全局临时视图(createOrReplaceGlobalTempView()):存储在`global_temp`数据库中,可跨多个SparkSession共享(需通过`global_temp.视图名`访问)。选项A(createOrReplaceTempView())为普通临时视图,作用范围受限;选项C(createTempView())是旧版本API,功能与A一致;选项D(createGlobalView())非标准方法。因此,跨会话共享的临时视图应使用createOrReplaceGlobalTempView(),正确答案为B。6.在Spark提交任务时,以下哪个参数用于设置每个Executor的内存大小?
A.--num-executors
B.--executor-memory
C.--executor-cores
D.--driver-memory【答案】:B
解析:本题考察Spark资源配置参数。正确答案为B,--executor-memory参数用于设置每个Executor的内存大小(如--executor-memory2g)。A错误(--num-executors设置Executor数量);C错误(--executor-cores设置每个Executor的CPU核心数);D错误(--driver-memory设置Driver内存)。7.当使用`repartition(n)`方法对RDD进行分区操作时,以下描述正确的是?
A.无论原分区数多少,都会强制将RDD分为n个分区,可能触发shuffle
B.只能减少RDD的分区数,不会触发shuffle
C.分区数必须等于原分区数,仅调整分区数据分布
D.会导致RDD数据丢失,需配合checkpoint使用【答案】:A
解析:本题考察RDD分区操作知识点。repartition是SparkRDD的分区调整方法,其核心特性是:无论原分区数多少,都会强制调整为n个分区,且当n与原分区数不同时会触发shuffle(数据重分区);B选项错误,repartition可增加或减少分区数(如原分区数为2,repartition(5)会增加分区);C选项错误,repartition会改变分区总数;D选项错误,repartition不会导致数据丢失,且checkpoint是用于持久化RDD的操作,与repartition无关。因此正确答案为A。8.以下哪个SparkRDD操作属于Transformation操作?
A.map
B.collect
C.count
D.take【答案】:A
解析:map是典型的Transformation操作,它是惰性计算的,不会立即执行,而是返回一个新的RDD(由当前RDD转换而来)。而collect、count、take均为Action操作,会触发Spark作业的执行并返回具体结果(如collect返回数组,count返回数值)。9.在SparkStandalone集群的架构中,负责管理集群中各个Worker节点,并为应用程序分配Executor资源的核心组件是?
A.Master
B.Worker
C.Driver
D.Executor【答案】:A
解析:本题考察SparkStandalone集群的架构角色。正确答案为A。Master是Standalone集群的资源管理器,负责调度应用程序、管理Worker节点,并为Executor分配资源。B错误,Worker节点仅负责运行Executor;C错误,Driver是用户程序的执行入口,负责协调任务;D错误,Executor是运行在Worker上的任务执行单元,无资源分配能力。10.以下哪个是SparkMLlib中用于‘分类(Classification)’的典型算法?
A.LinearRegression
B.KMeans
C.LogisticRegression
D.Word2Vec【答案】:C
解析:本题考察MLlib核心算法类型。C正确:LogisticRegression是典型的二分类/多分类算法;A错误:LinearRegression是回归算法(预测连续值);B错误:KMeans是无监督聚类算法;D错误:Word2Vec是自然语言处理中的词向量生成算法,非分类算法。11.SparkStreaming中,DStream的本质是什么?
A.一系列连续的RDD,每个RDD对应一个时间窗口内的数据
B.仅用于实时数据处理的新API,与SparkCore无关
C.替代SparkCore的RDD用于流处理
D.专门用于批处理的DAG结构【答案】:A
解析:DStream是SparkStreaming的核心抽象,本质是按时间片划分的连续RDD序列,每个RDD对应一个窗口内的数据流。B选项错误,DStream基于RDD实现;C选项错误,DStream不替代RDD;D选项错误,DStream处理流数据而非批处理。12.关于SparkSQL中的DataFrame,以下描述错误的是?
A.DataFrame具有Schema信息,支持结构化数据查询
B.DataFrame比RDD更节省内存,因为存储了列信息
C.DataFrame的每一行数据必须是相同类型
D.DataFrame可通过SparkSession创建【答案】:C
解析:本题考察DataFrame核心特性。正确答案为C,DataFrame的列有固定类型约束,但每一行数据可以是不同记录(如字符串、整数等不同类型字段),并非“每一行必须相同类型”。A正确(DataFrame结构化且带Schema);B正确(列存储比RDD行存储更节省内存);D正确(SparkSession.createDataFrame()是标准创建方式)。13.在Spark中,以下哪种方式不能用于创建DataFrame?
A.通过RDD转换后推断Schema(如RDD.map(...)转换为Row类型再toDF())
B.使用spark.createDataFrame()并传入包含Row对象的列表和自定义Schema
C.通过spark.read.csv("path")直接读取CSV文件生成DataFrame
D.通过registerTempTable()将已有的DataFrame注册为临时表供SQL查询【答案】:D
解析:本题考察DataFrame创建方式。正确答案为D:registerTempTable()是将DataFrame注册为临时表(供SQLContext使用),而非创建DataFrame。A正确:RDD通过toDF()可自动推断Schema;B正确:createDataFrame()支持传入Row列表和Schema显式定义;C正确:spark.read.csv()是读取外部数据源生成DataFrame的标准方式。14.SparkStreaming中,`window`操作的主要作用是?
A.实时处理每一条输入数据并立即输出结果
B.对指定时间窗口内的DStream数据进行聚合计算
C.定期检查并恢复Streaming应用的状态
D.将DStream转换为RDD进行处理【答案】:B
解析:本题考察SparkStreaming窗口操作的功能。A错误,实时输出是`foreachRDD`等输出操作的作用,非窗口操作;B正确,`window`操作通过滑动窗口(如10秒窗口,5秒滑动步长)对时间窗口内的DStream数据进行聚合(如sum、count);C错误,检查点(Checkpoint)用于状态恢复,与窗口操作无关;D错误,DStream本身是一系列RDD的序列,转换为RDD是基础操作,非窗口操作的核心目的。15.使用SparkSession读取JSON文件并注册为临时表,正确的代码步骤是?
A.spark.read.json("path").createOrReplaceTempView("tempView")
B.spark.read.json("path").registerTempView("tempView")
C.spark.createTempView("tempView").json("path")
D.spark.json.read("path").createTempView("tempView")【答案】:A
解析:本题考察SparkSQL的数据源读取与视图注册。正确答案为A,SparkSession通过read.json读取JSON文件,然后调用createOrReplaceTempView注册临时表(createOrReplaceTempView是推荐的标准API,registerTempView为旧版本API,且不支持覆盖视图)。B错误,registerTempView方法已过时且不支持覆盖;C和D的方法调用顺序错误,应先读取数据再注册视图,而非先注册视图再读取数据。16.以下SparkRDD操作中,属于转换(Transformation)操作的是?
A.collect()
B.filter()
C.count()
D.foreach()【答案】:B
解析:本题考察SparkRDD的转换与行动操作的区别。转换操作(Transformation)是惰性执行的,仅记录操作逻辑;行动操作(Action)会触发作业执行并返回结果。选项Acollect()用于将RDD数据收集到Driver端,属于行动操作;选项Bfilter()对RDD元素进行过滤,是转换操作(惰性执行);选项Ccount()返回RDD元素数量,是行动操作;选项Dforeach()遍历元素,属于行动操作。正确答案为B。17.SparkDataFrame相比RDD的主要优势不包括以下哪项?
A.支持SQL风格的结构化查询
B.自动优化执行计划(基于Catalyst)
C.可自动推断数据Schema(如JSON/CSV文件)
D.直接支持分布式文件系统(如HDFS)的读写【答案】:D
解析:本题考察DataFrame的核心优势。A、B、C均为DataFrame相比RDD的显著优势:A支持SQL查询;B通过Catalyst优化器自动优化执行计划;C可自动推断Schema(RDD需手动定义类型)。D错误:RDD也支持直接读写HDFS(如textFile()),DataFrame的HDFS读写是基于RDD实现的,并非其独有优势。18.SparkStreaming中,DStream的本质是什么?
A.一系列连续的RDD
B.实时数据流的原始字节流
C.单个持久化的RDD
D.直接从Kafka拉取的实时数据【答案】:A
解析:本题考察SparkStreaming的微批处理模型。DStream(离散流)本质是由多个微批处理的RDD组成的序列(每个微批对应一个RDD),通过小批量处理实现近似实时计算;选项B错误(原始字节流无结构化),选项C错误(DStream是多RDD序列而非单个),选项D错误(数据需经微批划分,非直接拉取)。因此正确答案为A。19.关于Spark性能调优,以下说法正确的是?
A.spark.default.parallelism参数默认值为100
B.SparkSQL的shuffle操作并行度由spark.sql.shuffle.partitions控制
C.调整executor数量可直接影响整个应用的并行度
D.并行度设置越高,越能充分利用集群资源【答案】:B
解析:B选项正确,SparkSQLshuffle操作(如join)的并行度由spark.sql.shuffle.partitions控制(默认200)。A错误,spark.default.parallelism默认值为max(2,totalcores)(依集群模式而定);C错误,并行度由分区数决定,调整executor数量需结合分区数和核心数;D错误,并行度过高会导致资源竞争,降低性能。20.在Spark中,以下哪个操作会直接触发作业(Job)的执行?
A.map()
B.collect()
C.filter()
D.flatMap()【答案】:B
解析:本题考察RDD操作的分类。Spark中,转换操作(Transformation)是惰性的,仅记录操作逻辑,不会立即执行;行动操作(Action)会触发作业执行并返回结果。选项中,map()、filter()、flatMap()均为转换操作,仅定义数据处理逻辑;collect()是典型的行动操作,会将RDD数据收集到Driver端,直接触发作业执行。因此正确答案为B。21.在SparkDataFrame中,以下哪个方法用于查看当前DataFrame的Schema信息?
A.printSchema()
B.show()
C.describe()
D.schema()【答案】:A
解析:本题考察DataFrame的Schema查看方法。选项A(printSchema())是DataFrame的内置方法,用于打印当前DataFrame的完整Schema信息(包括列名和数据类型);选项B(show())用于显示DataFrame的前20行数据(默认);选项C(describe())用于生成各数值列的统计摘要(如count、mean、min/max等);选项D(schema())返回DataFrame的Schema对象(StructType类型),但不会直接打印信息。因此,用于查看Schema信息的方法是printSchema(),正确答案为A。22.关于SparkDataFrame和Dataset的描述,正确的是?
A.DataFrame是Dataset[Row]的特化类型
B.DataFrame比Dataset更节省内存空间
C.DataFrame不支持类型安全的操作,而Dataset支持
D.DataFrame仅能通过SQL语句操作数据【答案】:A
解析:DataFrame本质是Dataset[Row],即针对Row类型的强类型Dataset特化版本,A正确。DataFrame与Dataset内存占用取决于数据类型,Dataset因类型安全可能更高效,B错误。DataFrame基于弱类型Row,不支持类型安全操作,Dataset[T]支持,C的描述逻辑错误。DataFrame既支持SQL也支持API操作,D错误。23.SparkSQL中,DataFrame相比RDD的主要优势不包括以下哪项?
A.提供了类型安全的API,编译时可检查数据类型
B.基于Catalyst优化的执行计划,提升查询效率
C.支持直接与关系型数据库进行SQL交互操作
D.可以直接操作未结构化的二进制数据【答案】:D
解析:本题考察DataFrame的核心优势。DataFrame基于结构化数据设计,提供类型安全(A正确)、优化的Catalyst执行计划(B正确),并支持SQL语法与关系型数据库兼容(C正确)。而RDD可直接操作未结构化数据,DataFrame因强类型和结构化设计,无法直接操作二进制数据(D错误),故D为正确答案。24.在Spark2.x及以上版本中,用于创建DataFrame和执行SQL操作的统一入口类是?
A.SparkContext
B.SQLContext
C.SparkSession
D.HiveContext【答案】:C
解析:本题考察Spark入口类。正确答案为C,SparkSession是Spark2.0引入的统一入口,整合了SQLContext和HiveContext功能。SparkContext是基础上下文(仅管理RDD),SQLContext为早期SQL操作入口(已被取代),HiveContext仅支持HiveQL,均非统一入口。25.SparkStreaming中,DStream的本质是?
A.一系列RDD的序列
B.实时数据流的原始数据
C.单个RDD
D.数据帧(DataFrame)【答案】:A
解析:本题考察SparkStreaming的核心概念DStream。DStream(离散流)是SparkStreaming对实时数据的抽象,本质上是由多个连续的RDD组成的序列(每个RDD对应一个时间窗口内的数据)。选项B错误,因为DStream处理的是微批数据,而非原始实时数据流;选项C错误,单个RDD仅是DStream的一个组成单元,DStream是RDD的集合;选项D错误,DStream与DataFrame是不同抽象,DStream可通过转换操作生成DataFrame,但本质不是DataFrame。因此,DStream的本质是一系列RDD的序列,正确答案为A。26.SparkDataFrame相比RDD的显著优势不包括以下哪项?
A.内置Schema信息,支持结构化数据处理
B.自动优化执行计划,提升计算效率
C.只能存储文本格式的数据(如CSV/JSON)
D.支持类SQL的声明式查询语言【答案】:C
解析:本题考察DataFrame与RDD的区别。DataFrame的核心优势包括结构化Schema(A正确)、自动优化执行计划(B正确)、支持SQL查询(D正确);DataFrame可存储多种格式(如Parquet、ORC),且支持非文本数据(C错误,RDD也能存储文本,DataFrame优势是结构化)。正确答案为C。27.关于SparkRDD的特性,以下说法错误的是?
A.RDD是不可变的,一旦创建无法修改
B.RDD的分区数在创建后可以动态调整
C.RDD支持惰性计算,只有触发Action操作才会执行计算
D.RDD的转换操作(Transformation)是延迟执行的【答案】:B
解析:本题考察RDD的核心特性。正确答案为B。RDD的分区数在创建时通过参数(如parallelize或从其他RDD转换时)确定,创建后无法动态调整,因此选项B错误。选项A正确,RDD通过血缘关系保证不可变性;选项C正确,Action操作是触发计算的入口;选项D正确,转换操作仅记录依赖关系,延迟到Action时执行。28.Spark应用程序中,Driver的主要职责不包括以下哪项?
A.将用户程序转换为Spark作业(DAG)
B.在Executor上执行具体的Task
C.分发Task到各个Executor并收集结果
D.维护Application的元数据和状态【答案】:B
解析:本题考察Driver与Executor的职责分工。Driver负责提交作业、解析用户代码生成DAG(A正确)、分发Task到Executor并收集结果(C正确)、维护Application状态(D正确)。而Executor才是负责在工作节点执行具体Task的组件,因此B错误。29.关于SparkStreaming的DStream,以下描述正确的是?
A.DStream是由多个RDD组成的连续数据流
B.DStream是SparkStreaming中的基本数据结构,本质是单个RDD
C.DStream仅能处理实时数据,无法处理批处理数据
D.每个DStream的时间间隔(BatchInterval)不可配置【答案】:A
解析:本题考察DStream的核心概念。DStream(离散流)是SparkStreaming的核心抽象,它由**一系列按时间分片的RDD**组成(每个时间间隔生成一个RDD),因此A正确。选项B错误,DStream是RDD的序列而非单个RDD;选项C错误,DStream既支持实时微批处理,也可通过历史数据模拟批处理;选项D错误,DStream的时间间隔(如1秒)可通过配置参数(如batchDuration)灵活设置。30.以下关于SparkRDD的描述,错误的是?
A.RDD中的数据是不可变的
B.RDD的分区是固定的,不可动态调整
C.RDD的Transformation操作是惰性执行的
D.RDD支持checkpoint操作用于持久化数据【答案】:B
解析:本题考察RDD的核心特性。RDD的分区在创建时确定,但可通过`coalesce`或`repartition`方法动态调整分区数量,因此B选项错误。A选项正确,RDD数据不可变;C选项正确,Transformation算子仅记录转换逻辑,不立即执行;D选项正确,checkpoint可将RDD持久化到磁盘,避免重复计算。31.SparkDataFrame相比RDD,主要优势不包括以下哪项?
A.提供结构化Schema信息,支持列操作和SQL查询
B.通过Catalyst优化器自动优化执行计划,提升性能
C.底层基于RDD实现,兼容所有RDD的操作并支持更强的优化
D.支持SparkSQL语法和DataFrameAPI,操作更简洁易用【答案】:C
解析:本题考察DataFrame的核心优势。DataFrame的优势包括结构化Schema(A)、Catalyst优化器(B)和SQL/DataFrameAPI(D)。C选项错误,因为DataFrame虽然基于RDD实现,但性能优化依赖Catalyst而非“兼容所有RDD操作”,且某些复杂场景下RDD的灵活性可能优于DataFrame,因此“底层基于RDD实现,性能一定更强”的表述不准确。32.以下关于SparkRDD的描述,错误的是?
A.RDD中的数据是不可变的,无法直接修改元素
B.RDD的分区数量在创建后不可动态调整
C.RDD支持转换(Transformation)和行动(Action)操作
D.RDD的宽依赖(如groupByKey)会触发新的RDD生成【答案】:B
解析:本题考察SparkRDD的核心特性。RDD的分区数量在创建后可通过repartition或coalesce方法动态调整,因此选项B描述错误。选项A正确,RDD数据不可变;选项C正确,RDD确实支持转换(惰性执行)和行动(触发计算)操作;选项D正确,宽依赖会导致RDD血统(Lineage)变化并生成新RDD。33.在Spark中,若需将一个包含元组数据的RDD转换为DataFrame,正确的方式是?
A.使用spark.createDataFrame(rdd,schema)
B.直接调用rdd.toDF()(无需参数)
C.通过rdd.map(...)转换为RDD后直接使用toDF()
D.使用spark.read.csv()读取RDD数据【答案】:A
解析:本题考察DataFrame的创建方式。DataFrame需通过Schema关联结构化数据,而RDD是分布式数据集合。选项A中,spark.createDataFrame(rdd,schema)是标准创建方式:若RDD元素为元组(如(1,"Alice")),需先定义StructTypeSchema(字段名和类型),再通过该方法关联,因此正确。选项B错误,直接rdd.toDF()在无Schema时无法推断字段类型;选项C错误,map转换后的RDD仍需显式关联Schema;选项D错误,spark.read.csv()是读取外部数据源,与RDD转换无关。34.关于SparkStreaming中DStream(离散流)的描述,正确的是?
A.DStream的每个批次数据对应一个RDD
B.DStream的批处理时间间隔决定RDD的分区数量
C.DStream只能处理文本数据,不能处理二进制数据
D.DStream的输出操作只能通过foreachRDD完成【答案】:A
解析:本题考察DStream的核心概念。DStream本质是“一系列RDD的连续集合”,每个时间间隔(batchinterval)生成一个RDD,因此A正确。选项B错误,RDD分区数量由SparkContext默认并行度或repartition操作决定,与batchinterval无关;选项C错误,DStream的数据类型由输入源决定(如Kafka、Socket),可处理二进制、JSON等任意类型数据;选项D错误,DStream支持多种输出操作(如print、saveAsTextFile、saveAsObjectFile等),foreachRDD仅为其中一种通用输出方式。35.以下关于SparkRDD的说法,错误的是?
A.RDD中的数据是不可变的
B.RDD支持惰性计算,转换操作不会立即执行
C.RDD的分区数在创建后不可改变
D.RDD之间存在依赖关系(窄依赖或宽依赖)【答案】:C
解析:本题考察RDD的核心特性。A选项正确,RDD是不可变的,任何转换操作都会生成新的RDD;B选项正确,RDD的转换操作(Transformation)是惰性的,只有动作操作(Action)才会触发计算;C选项错误,RDD的分区数可通过repartition()、coalesce()等方法调整,并非不可改变;D选项正确,RDD之间存在依赖关系,用于构建血缘关系和计算优化。36.在Spark中,以下哪个操作属于转换(Transformation)操作?
A.collect()
B.count()
C.map()
D.saveAsTextFile()【答案】:C
解析:本题考察SparkRDD操作类型。转换操作(Transformation)是惰性的,仅生成新RDD而不触发计算,map()(C正确)属于典型转换操作,通过函数转换元素生成新RDD。而collect()(A)、count()(B)、saveAsTextFile()(D)均为行动操作(Action),会触发作业执行并返回结果或写入外部存储。37.在SparkMLlib中,属于无监督学习算法的是?
A.逻辑回归(LogisticRegression)
B.决策树分类
C.KMeans聚类
D.线性回归(LinearRegression)【答案】:C
解析:C选项KMeans是典型的无监督学习聚类算法,无需标签数据即可对数据进行分组。A、B、D均为监督学习算法:逻辑回归和决策树分类需基于标签数据进行分类预测,线性回归用于回归预测(同样需标签数据)。因此C为正确答案。38.关于SparkRDD的特性,以下说法正确的是?
A.RDD的数据可以在内存中直接修改
B.RDD默认分区数由系统自动决定,无法手动调整
C.RDD的转换操作(Transformation)是惰性执行的,只有Action操作触发计算
D.RDD的分区一旦创建就不可改变【答案】:C
解析:本题考察SparkRDD的核心特性。RDD是弹性分布式数据集,其特性包括:<br>-选项A错误:RDD是不可变的(immutable),数据无法直接修改,需通过转换算子生成新RDD。<br>-选项B错误:RDD的分区数可通过repartition或coalesce方法手动调整,也可在创建时通过参数指定(如parallelize的第二个参数)。<br>-选项C正确:RDD的转换操作(如map、filter)仅记录转换逻辑,不会立即执行,只有当遇到Action操作(如count、collect)时才会触发真正的计算(懒加载特性)。<br>-选项D错误:RDD的分区数可通过repartition(增加分区)或coalesce(减少分区)等操作动态调整。39.Spark中DataFrame相比RDD,主要优势不包括以下哪项?
A.提供Schema信息,支持结构化数据处理
B.支持优化的执行计划(如Catalyst优化器)
C.可直接通过SQL语句对数据进行查询
D.底层存储结构与RDD完全相同,无需额外优化【答案】:D
解析:本题考察DataFrame与RDD的区别。A选项正确,DataFrame通过Schema定义列名和类型,支持结构化数据;B选项正确,DataFrame利用Catalyst优化器生成高效执行计划,性能优于RDD;C选项正确,DataFrame支持SparkSQL语法,可直接执行SQL查询;D选项错误,DataFrame底层采用Tungsten内存管理和列式存储,与RDD的分布式对象集合存储结构不同,且依赖优化执行计划,并非“完全相同”。40.以下关于SparkStreaming中DStream和Checkpoint的描述,正确的是?
A.DStream是SparkStreaming的基本抽象,代表连续数据流
B.Checkpoint只能存储在内存中,无法持久化到磁盘
C.DStream的updateStateByKey操作无需Checkpoint即可实现状态管理
D.SparkStreaming的微批处理间隔必须小于Checkpoint间隔【答案】:A
解析:本题考察SparkStreaming核心概念。DStream(离散流)是SparkStreaming的基本抽象,由一系列连续的RDD组成,代表连续数据流,因此A正确。B错误,Checkpoint可存储在内存或持久化存储(如HDFS);C错误,updateStateByKey等有状态操作需要Checkpoint保存状态;D错误,微批处理间隔(batchinterval)和Checkpoint间隔无强制大小关系,通常Checkpoint间隔更大。41.SparkDataFrame相比RDD,其核心优势主要体现在哪里?
A.支持更复杂的数据类型定义
B.自动进行物理执行计划优化
C.必须通过DataFrameAPI操作数据
D.只能在SparkSQL中使用【答案】:B
解析:本题考察DataFrame的关键优势。SparkDataFrame通过Catalyst优化器自动对执行计划进行物理优化(如合并Shuffle、裁剪冗余计算),显著提升执行效率。A选项RDD已支持多种数据类型;C选项DataFrame支持多种操作API(如DSL、SQL);D选项DataFrame可通过多种方式使用,并非仅依赖SQL。42.Spark作业执行过程中,Shuffle操作的主要副作用不包括以下哪项?
A.可能导致数据倾斜(部分Task处理数据量过大)
B.增加磁盘IO和网络传输开销
C.任务执行时间显著增加(因数据重分区)
D.保持RDD分区数不变(避免数据结构变化)【答案】:D
解析:本题考察Shuffle的副作用。选项A正确,Shuffle可能因数据分布不均导致数据倾斜;选项B正确,Shuffle需将数据写入磁盘并通过网络传输到目标节点,IO和网络开销大;选项C正确,Shuffle涉及大量数据移动和排序,任务执行时间显著增加;选项D错误,Shuffle操作(如reduceByKey)通常会通过重分区改变RDD的分区数,“保持分区数不变”不是Shuffle的副作用,而是部分转换操作(如map)的特性。43.在SparkSQL中,要读取一个本地JSON格式的文件并转换为DataFrame,以下哪种方法是正确的?
A.spark.read.json("path/to/json")
B.spark.read.csv("path/to/json")
C.spark.read.parquet("path/to/json")
D.spark.read.jdbc("path/to/json")【答案】:A
解析:本题考察SparkSQL的数据读取方式。正确答案为A,spark.read.json()是专门用于读取JSON格式文件的方法。B选项csv()用于读取CSV格式文件,C选项parquet()用于读取Parquet格式文件,D选项jdbc()用于从关系型数据库读取数据,均无法直接读取JSON文件。44.在SparkStandalone集群中,负责整个集群资源管理和任务调度的核心组件是?
A.Master
B.Worker
C.Driver
D.Executor【答案】:A
解析:本题考察SparkStandalone集群架构。Master是集群的主节点,负责管理所有Worker节点的资源分配、任务调度和状态监控(A正确);Worker是从节点,负责启动Executor并执行任务(B错误);Driver是运行在客户端的组件,负责协调Spark应用的执行(C错误);Executor是运行在Worker节点上的任务执行单元,不负责资源调度(D错误)。45.在SparkSQL中,若要将DataFrame注册为全局临时视图,应使用哪个方法?
A.df.createOrReplaceGlobalTempView("table")
B.df.createOrReplaceTempView("table")
C.df.registerTempTable("table")
D.df.registerGlobalTempView("table")【答案】:A
解析:本题考察SparkSQL视图注册方法。createOrReplaceGlobalTempView用于创建全局临时视图(存储在global_temp数据库,跨会话有效);createOrReplaceTempView为普通临时视图(仅当前会话有效);registerTempTable是旧版方法,registerGlobalTempView不存在。因此正确答案为A。46.以下哪个操作属于SparkRDD的Transformation操作?
A.count()
B.collect()
C.filter()
D.take()【答案】:C
解析:本题考察RDD的Transformation与Action操作的区别。Transformation是惰性操作,不立即执行,仅记录转换逻辑;Action是触发作业执行的操作。选项A(count())、B(collect())、D(take())均为Action操作,会触发Job提交并返回结果;选项C(filter())是Transformation操作,仅返回新RDD的转换逻辑,需后续Action触发计算。47.以下哪项不是SparkRDD的特性?
A.不可变性
B.可原地修改
C.分区存储
D.惰性计算【答案】:B
解析:本题考察SparkRDD的核心特性。RDD(弹性分布式数据集)具有不可变性(A正确),即转换操作不会修改原RDD而是生成新RDD;支持分区存储(C正确)以提高并行度;转换操作采用惰性计算(D正确),仅在行动操作触发时才执行。而RDD不支持原地修改(B错误),任何数据变更都会通过转换操作生成新RDD。48.关于SparkRDD的特性,以下说法错误的是?
A.RDD的转换操作(Transformation)是惰性执行的,只有触发Action操作才会真正计算
B.RDD之间的宽依赖(WideDependencies)会导致Shuffle过程的发生
C.RDD的分区数一旦确定,在后续转换操作中无法被修改
D.RDD支持通过persist()方法将数据持久化到内存或磁盘【答案】:C
解析:本题考察RDD核心特性。正确答案为C。RDD分区数在创建时确定,但可通过repartition/coalesce等转换操作修改分区数,因此C错误。A正确:RDD转换操作仅记录逻辑,Action触发实际计算;B正确:宽依赖(如groupByKey)会导致Shuffle;D正确:persist()方法支持数据持久化。49.SparkStreaming处理实时数据时,其核心处理模式是?
A.微批处理(Micro-batchProcessing)
B.实时流处理(如Storm的Trident模式)
C.仅支持批处理
D.只能处理静态数据【答案】:A
解析:本题考察SparkStreaming的处理模式。SparkStreaming基于DStream(离散流),采用微批处理模型,将实时数据流切分为小批量(通常1-10秒)进行批处理。选项B错误,实时流处理(如Trident)是Storm的特性,SparkStreaming不基于此;选项C错误,SparkStreaming支持实时处理,需微批;选项D错误,Streaming专门处理实时动态数据。50.以下哪个操作是SparkRDD的转换算子(Transformation)?
A.map
B.count
C.collect
D.foreach【答案】:A
解析:本题考察RDD算子类型。map是转换算子,会返回新的RDD,延迟执行;count、collect、foreach均为行动算子(Action),会触发作业执行并返回结果。因此正确答案为A。51.在Spark中,以下哪个操作属于转换算子(Transformation)?
A.map
B.collect
C.count
D.foreach【答案】:A
解析:本题考察SparkRDD转换算子与行动算子的区别。转换算子(Transformation)是惰性执行的,仅记录操作逻辑而不立即计算;行动算子(Action)会触发Spark作业的实际执行。选项A中map是典型的转换算子,用于对RDD中每个元素进行函数映射并返回新RDD;选项Bcollect是行动算子,用于将RDD数据收集到Driver端;选项Ccount是行动算子,用于统计RDD元素数量;选项Dforeach是行动算子,用于遍历RDD并执行副作用操作。因此正确答案为A。52.SparkDataFrame相比RDD的主要优势是以下哪项?
A.内存占用显著低于RDD
B.支持结构化数据和SQL查询
C.不需要进行数据序列化
D.只能处理结构化文本数据【答案】:B
解析:本题考察DataFrame的核心优势。DataFrame通过Schema定义结构化数据格式,支持SQL查询(B正确)是其关键优势。A错误,DataFrame内存占用取决于数据格式和优化,不一定更低;C错误,DataFrame中的数据仍需序列化以实现分布式存储;D错误,DataFrame可处理多种结构化数据格式(如CSV、JSON、Parquet等),并非仅文本。53.Spark相比MapReduce最显著的性能优势主要来源于以下哪个特性?
A.基于内存计算,减少磁盘IO
B.只能使用内存进行数据处理
C.无需进行Shuffle操作
D.仅支持Java语言开发【答案】:A
解析:本题考察Spark核心特性。正确答案为A,Spark通过内存计算减少磁盘IO是其相比MapReduce的主要性能优势。B错误,Spark支持内存计算和磁盘持久化(如cache/persist),并非“只能”用内存;C错误,Spark在数据倾斜或Join操作中仍需Shuffle;D错误,Spark支持Scala、Java、Python、R等多语言开发。54.在SparkSQL中,将DataFrame注册为可通过SQL查询的临时表,正确的方法是?
A.df.createOrReplaceTempView("student")
B.df.registerTempTable("student")
C.df.toGlobalTempView("student")
D.df.createGlobalTempView("student")【答案】:A
解析:本题考察SparkSQL临时表注册API。`createOrReplaceTempView`是Spark2.0+推荐的方法,用于创建会话级临时表(仅当前会话可见),因此A正确。B中`registerTempTable`在Spark2.1+已标记为过时;C、D为全局临时视图(存储在`global_temp`数据库,跨会话共享),不符合题目要求。55.SparkDataFrame相比RDD,其主要优势不包括以下哪项?
A.支持SQL查询
B.优化的内存存储格式(如列式存储)
C.自动进行内存计算优化
D.所有操作都比RDD更快【答案】:D
解析:本题考察DataFrame的核心优势。DataFrame的优势包括:A(SQL支持)、B(列式存储节省内存)、C(Catalyst优化器自动优化执行计划)。但选项D错误,DataFrame在结构化数据操作中效率更高,但复杂自定义逻辑(如UDF嵌套)可能因序列化开销导致性能低于RDD。56.在SparkStandalone集群模式中,负责管理Worker节点并调度任务的组件是?
A.Master
B.Worker
C.Driver
D.Executor【答案】:A
解析:本题考察Spark集群组件的职责。Master是集群主节点,负责管理Worker节点、调度任务和资源分配;Worker是从节点,运行Executor执行任务;Driver是提交应用的客户端进程;Executor是Worker上的任务执行容器。因此A选项正确。57.在Spark集群运行架构中,负责将任务分发给Executor并监控任务执行的组件是?
A.Driver
B.Executor
C.Master
D.Worker【答案】:A
解析:Driver组件负责Spark应用程序的逻辑控制,包括任务分发、执行计划生成及监控任务在Executor上的执行状态,因此A正确。B选项Executor是任务的实际执行者,仅负责本地执行任务;C选项Master是集群资源管理器,负责管理Worker节点和资源分配;D选项Worker是运行Executor的工作节点,不直接分配任务。58.使用spark-submit提交应用时,指定YARN集群模式(ClusterMode)的正确参数组合是?
A.--masteryarn--deploy-modecluster
B.--masteryarn-cluster
C.--masteryarn-client
D.--deploy-modeyarn--mastercluster【答案】:A
解析:本题考察SparkSubmit的参数规范。A正确,--master指定资源管理器,--deploy-mode指定运行模式;B错误,旧版参数已拆分;C错误,yarn-client是客户端模式;D错误,--deploy-mode参数值只能是cluster/client,不能作为master地址。因此答案为A。59.关于SparkStreaming中DStream窗口操作的描述,正确的是?
A.窗口操作需指定窗口长度(windowDuration)和滑动间隔(slideDuration)
B.窗口操作仅支持reduceByKeyAndWindow一种函数
C.窗口操作的结果是单个RDD,而非DStream
D.窗口操作会立即计算所有历史数据【答案】:A
解析:DStream窗口操作(如window、countByWindow)必须指定窗口长度和滑动间隔,A正确。窗口操作支持多种函数(如countByWindow、reduceByKeyAndWindow),B错误。窗口操作结果仍是DStream(由多个RDD组成),C错误。窗口操作基于微批处理,按滑动间隔累积处理,不会立即计算所有历史数据,D错误。60.以下Spark操作中,属于Transformation(转换)操作的是?
A.count()
B.collect()
C.map()
D.show()【答案】:C
解析:本题考察Spark操作类型知识点。Transformation操作是惰性执行的转换操作,返回新的RDD,不会立即触发计算;Action操作会触发作业执行,返回结果或副作用。A选项count()是Action,返回RDD元素数量;B选项collect()是Action,返回RDD所有元素到Driver;C选项map()是Transformation,将每个元素转换为新元素,返回新RDD;D选项show()是Action,打印DataFrame前n行数据。因此正确答案为C。61.在SparkMLlib中,以下哪个算法属于回归算法,而非分类算法?
A.LogisticRegression(逻辑回归)
B.NaiveBayes(朴素贝叶斯)
C.LinearRegression(线性回归)
D.DecisionTreeClassifier(决策树分类器)【答案】:C
解析:本题考察SparkMLlib的算法类型。正确答案为C。线性回归(LinearRegression)用于预测连续型数值,属于回归算法;A、B、D均为分类算法,用于预测离散型类别标签。A逻辑回归常用于二分类;B朴素贝叶斯是经典概率分类算法;D决策树分类器用于类别预测。62.SparkStreaming中,窗口操作(WindowOperations)的核心参数不包括以下哪一个?
A.windowDuration
B.slideDuration
C.batchDuration
D.numPartitions【答案】:C
解析:本题考察SparkStreaming窗口操作的参数。正确答案为C。窗口操作的核心参数是窗口长度(windowDuration,数据窗口的时间范围)和滑动间隔(slideDuration,窗口滑动的时间步长),numPartitions可选(控制结果分区数)。而batchDuration是DStream的批处理时间间隔(固定值,非窗口操作参数),因此选项C错误。63.在Spark2.x版本中,用于统一处理结构化数据和非结构化数据,并支持SQL查询的核心入口对象是?
A.HiveContext
B.SparkSession
C.SQLContext
D.StreamingContext【答案】:B
解析:本题考察Spark2.x的核心入口。SparkSession是Spark2.x引入的统一入口,替代了旧版的SQLContext和HiveContext。A选项HiveContext是Spark1.x中用于与Hive交互的入口,已被淘汰;C选项SQLContext是更早的基础SQL操作入口,SparkSession已集成其功能;D选项StreamingContext是用于SparkStreaming的流处理入口,与SQL查询无关。B选项正确,SparkSession支持SparkSQL、DataFrame等统一接口。64.在Spark中,用于设置Executor内存大小的核心配置参数是?
A.spark.driver.memory
B.spark.executor.memory
C.spark.memory.fraction
D.spark.default.parallelism【答案】:B
解析:本题考察Spark核心配置参数的作用。spark.driver.memory(A)用于设置Driver进程的内存大小,而非Executor;spark.executor.memory(B)专门用于配置每个Executor的内存,是核心参数;spark.memory.fraction(C)用于指定Executor内存中用于存储RDD数据和执行计算的比例,不直接设置总内存;spark.default.parallelism(D)控制默认分区数,与内存无关。因此正确答案为B。65.以下关于SparkDataFrame的描述,错误的是?
A.DataFrame是结构化的分布式数据集合,具有明确的Schema信息
B.DataFrame相比RDD,能通过Catalyst优化器实现更高效的查询执行
C.DataFrame仅支持SQL语法查询,不支持函数式API操作
D.DataFrame可以通过SparkSQL或DataFrameAPI进行数据筛选、聚合等操作【答案】:C
解析:本题考察DataFrame的核心特性。正确答案为C。DataFrame不仅支持SQL语法,还提供丰富的函数式API(如select、filter、groupBy等)和DataFrameAPI操作,是结构化数据处理的高效抽象。A正确,DataFrame以列组织数据并包含Schema;B正确,DataFrame基于Catalyst优化器优化查询;D正确,DataFrame支持多种数据操作方式。66.在Spark应用中,用于设置每个Executor内存大小的参数是?
A.spark.executor.memory
B.spark.driver.memory
C.spark.default.parallelism
D.【答案】:A
解析:本题考察Spark核心配置参数。A选项spark.executor.memory明确用于设置每个Executor进程的内存大小(如1g、2g);B选项spark.driver.memory是Driver端的内存配置;C选项spark.default.parallelism是RDD的默认分区数,与内存无关;D选项仅用于设置应用名称。因此正确答案为A。67.关于SparkRDD的描述,错误的是?
A.RDD是不可变的
B.RDD的分区数量在创建后不可改变
C.RDD支持惰性计算
D.RDD的转换操作是惰性执行的【答案】:B
解析:本题考察RDD的核心特性。RDD是不可变的(A正确),转换操作(如map、filter)属于惰性执行(D正确),且整体支持惰性计算(C正确)。而RDD的分区数量可通过repartition或coalesce等方法动态调整,并非创建后固定不变,因此B选项错误。68.在Spark中,使用cache()或persist()对RDD进行持久化时,默认的存储级别是?
A.MEMORY_AND_DISK
B.MEMORY_ONLY
C.DISK_ONLY
D.OFF_HEAP【答案】:A
解析:cache()默认调用persist(StorageLevel.MEMORY_AND_DISK),优先内存存储,不足则溢写到磁盘。B选项MEMORY_ONLY仅用内存,易丢失;C选项DISK_ONLY仅磁盘存储,效率低;D选项OFF_HEAP需显式指定,非默认级别。69.以下关于RDD的描述,错误的是?
A.RDD中的数据是不可变的
B.RDD的分区在创建后可以动态调整
C.RDD支持惰性计算,只有行动操作才会触发计算
D.RDD通过血缘关系(Lineage)实现容错【答案】:B
解析:本题考察RDD的核心特性。A选项正确,RDD创建后数据不可变,修改需生成新RDD;B选项错误,RDD分区在创建时确定,不可动态调整;C选项正确,RDD转换操作惰性执行,仅行动操作触发计算;D选项正确,RDD依赖Lineage记录数据血缘,支持故障恢复。因此答案为B。70.SparkStreaming中的DStream(离散流)本质是?
A.一个持续不断的实时数据流
B.由多个RDD组成的离散时间窗口流
C.仅存储在内存中的临时数据流
D.只能处理实时数据的单线程流【答案】:B
解析:本题考察SparkStreaming的DStream概念。DStream是SparkStreaming的核心抽象,由一系列按时间片划分的RDD组成(每个RDD对应一个时间窗口内的数据),因此选项B正确。选项A错误,DStream是离散的而非连续的;选项C错误,DStream可持久化到磁盘;选项D错误,DStream支持分布式并行处理,与单线程无关。71.在SparkMLlib中,KMeans算法主要用于以下哪种机器学习任务?
A.分类任务(监督学习)
B.回归任务(预测连续值)
C.聚类任务(无监督学习)
D.关联规则挖掘【答案】:C
解析:本题考察SparkMLlib算法类型。选项A错误,分类任务(如逻辑回归)是监督学习,KMeans无标签;选项B错误,回归任务(如线性回归)预测连续值,KMeans不适用;选项C正确,KMeans是无监督聚类算法,将数据分为K个簇(簇内相似度高,簇间差异大);选项D错误,关联规则(如Apriori)用于发现数据间关联,与KMeans无关。因此正确答案为C。72.以下哪个属于SparkRDD的行动操作(Action)?
A.map
B.count
C.filter
D.flatMap【答案】:B
解析:本题考察RDD操作类型。正确答案为B,count是典型的行动操作,触发作业执行并返回RDD元素数量。map、filter、flatMap均为转换操作(Transformation),仅返回新RDD(惰性执行),不触发作业。行动操作会立即计算并返回结果或副作用。73.SparkStreaming中,DStream(离散流)的本质是什么?
A.实时数据流的实时处理框架
B.一系列按时间片划分的RDD序列
C.内存中持续流动的数据集合
D.仅支持窗口滑动操作的流处理【答案】:B
解析:本题考察DStream的定义。DStream是对连续数据流按时间窗口(如1秒)切分成多个RDD,每个RDD代表一个时间片的数据,因此本质是RDD序列,B正确。A错误,DStream是SparkStreaming的抽象,而非框架本身;C错误,DStream不直接存储数据,而是通过RDD间接管理;D错误,DStream支持窗口操作,但“仅支持”表述错误。74.在SparkStandalone集群模式下,负责接收Worker节点心跳、管理集群资源和调度任务的组件是?
A.Master
B.Worker
C.Driver
D.Executor【答案】:A
解析:本题考察SparkStandalone集群组件职责。Master是集群主节点,负责资源调度、Worker节点管理和任务分配(A正确);Worker是工作节点,管理Executor并执行任务(B错误);Driver是运行Application主逻辑的进程(C错误);Executor是Executor进程,负责执行具体任务(D错误)。因此正确答案为A。75.以下哪个是SparkRDD的动作(Action)操作,会立即触发计算?
A.map
B.filter
C.collect
D.flatMap【答案】:C
解析:本题考察RDD转换操作与动作操作的区别。map(A)、filter(B)、flatMap(D)均为转换操作,仅定义数据转换逻辑,不触发计算;collect(C)是典型的动作操作,会将RDD数据收集到Driver端并立即触发计算,因此正确。76.以下关于SparkRDD的描述,错误的是?
A.RDD是不可变的
B.RDD的分区数量在创建后不可改变
C.RDD的转换操作是惰性执行的
D.RDD的依赖关系是不可变的【答案】:B
解析:本题考察SparkRDD的核心特性。RDD具有不可变性(A正确),即创建后无法修改其数据;转换操作(如map、filter)是惰性执行的(C正确),仅在遇到动作操作时才会触发计算;RDD的依赖关系(如窄依赖、宽依赖)在创建时确定且不可变(D正确)。而RDD的分区数量可通过`repartition`或`coalesce`方法动态调整,因此B选项描述错误。77.Spark2.x中,DataFrame与Dataset的主要区别是?
A.DataFrame是分布式的键值对集合
B.DataFrame只能处理非结构化数据
C.Dataset支持强类型,而DataFrame是弱类型
D.DataFrame比Dataset的性能更高【答案】:C
解析:本题考察DataFrame与Dataset的核心差异。A选项错误,DataFrame是结构化数据集合(有Schema),并非键值对;B选项错误,DataFrame专门用于处理结构化数据(如CSV、JSON),支持列名索引;C选项正确,DataFrame本质是Dataset[Row],Row为弱类型(需通过列名访问),而Dataset支持强类型(如Dataset[Person],直接使用对象属性);D选项错误,Dataset因强类型优化(如Tungsten编码),性能通常优于DataFrame。78.SparkStreaming中,关于窗口操作(WindowOperations)的描述,正确的是?
A.窗口操作的窗口长度(windowduration)必须大于滑动间隔(slideduration)
B.窗口操作会导致DStream的输出频率等于滑动间隔(slideduration)
C.窗口操作仅基于当前批次和前1个批次的数据进行计算
D.窗口操作只能应用于Kafka作为输入源的DStream【答案】:B
解析:本题考察SparkStreaming窗口操作逻辑。正确答案为B。窗口操作输出频率由滑动间隔决定(每slideduration触发一次计算,B正确)。A错误:窗口长度可小于/等于/大于滑动间隔(如滑动10秒、窗口5秒会导致数据重叠);C错误:窗口操作基于窗口长度内的所有历史批次数据;D错误:窗口操作可应用于任何DStream输入源。79.以下关于SparkRDD的描述,错误的是?
A.RDD是不可变的分布式集合
B.RDD支持惰性计算,转换操作不会立即执行
C.RDD的分区在创建后不可改变
D.RDD的转换操作(如map)会立即触发计算【答案】:D
解析:本题考察SparkRDD的核心特性。A正确:RDD是不可变的,对其的任何操作都会生成新RDD;B正确:RDD的转换操作(如map、filter)属于Transformation,仅记录逻辑,不立即执行;C正确:RDD分区默认不可变,若需重分区需显式调用repartition等方法;D错误:转换操作(如map)是惰性执行,不会立即触发计算,仅当Action操作(如count、collect)触发时才会执行作业。80.SparkStreaming中,DStream(离散流)的本质是?
A.一系列连续的RDD(ResilientDistributedDataset)
B.实时接收到的原始数据流(如网络套接字数据)
C.存储在内存中的单个数据流文件
D.直接从HDFS读取的静态数据集合【答案】:A
解析:本题考察SparkStreaming的核心抽象。正确答案为A。DStream是对SparkStreaming中离散时间片数据的封装,本质上由一系列连续的RDD组成,每个RDD对应一个时间窗口内的数据流。B错误,原始数据需经处理生成RDD;C错误,DStream并非单个文件,而是分布式RDD序列;D错误,DStream数据源多样(如Kafka、Socket等),不局限于HDFS。81.在SparkSQL中,将DataFrame注册为临时表供后续SQL查询的正确方法是?
A.df.createOrReplaceTempView("student")
B.df.createTempView("student")
C.df.registerTempTable("student")
D.df.registerTable("student")【答案】:A
解析:本题考察SparkSQL临时表注册方法。Spark2.0+版本推荐使用createOrReplaceTempView(A),该方法会创建或替换临时表,支持SQL查询;createTempView(B)是旧版本API,在高版本可能不推荐使用;registerTempTable(C)和registerTable(D)均为Spark1.x及更早版本的旧API,当前已被createOrReplaceTempView替代,且registerTable不存在。因此正确答案为A。82.在Spark集群中,负责在Worker节点上执行具体计算任务的组件是?
A.Driver
B.Executor
C.Master
D.Application【答案】:B
解析:本题考察Spark组件的职责。Executor是运行在Worker节点上的进程,负责执行Task(具体计算任务),拥有CPU和内存资源。A选项Driver负责协调任务和生成执行计划;C选项Master是集群管理器,负责资源分配;D选项Application是用户提交的应用程序,非组件。83.在SparkSQL中,若要将DataFramedf注册为全局临时视图(可跨会话访问),应使用的方法是?
A.df.createOrReplaceTempView("global_view")
B.df.createTempView(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防城港市防城区2025-2026学年第二学期五年级语文第八单元测试卷(部编版含答案)
- 安阳市安阳县2025-2026学年第二学期三年级语文第七单元测试卷(部编版含答案)
- 合肥市长丰县2025-2026学年第二学期五年级语文第八单元测试卷(部编版含答案)
- 郴州市永兴县2025-2026学年第二学期五年级语文第八单元测试卷(部编版含答案)
- 铁合金电炉冶炼工岗前安全防护考核试卷含答案
- 软膏剂工岗前环保竞赛考核试卷含答案
- 野生植物采集工岗前管理应用考核试卷含答案
- 自来水笔制造工安全应急考核试卷含答案
- 应急通信管理员安全素养知识考核试卷含答案
- 邢台市新河县2025-2026学年第二学期五年级语文期末考试卷(部编版含答案)
- 2026工人日报社社招聘7人笔试参考试题及答案解析
- T∕CEA 8019.1-2026 电梯移除工作指南 第一部分 总体要求
- 非政府采购项目内控制度
- 2025年中国大圆柱电池行业发展白皮书
- 【学习教育】建章立制:卫生院领导干部任期稳定制度
- 2026年宁夏财经职业技术学院单招职业技能测试题库及参考答案详解1套
- 2026届高三历史复习策略与核心考点精讲
- 中兴新云行测题库
- 地质灾害预测与大数据技术
- 雨课堂学堂在线学堂云《科学研究方法与论文写作(复大)》单元测试考核答案
- 2025年信用报告征信报告详版个人版模板样板(可编辑)
评论
0/150
提交评论