版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年Spark期末练习高分题库及参考答案详解【综合题】1.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实现,性能一定更强”的表述不准确。2.在Spark任务中,为了减少Shuffle过程中的数据倾斜,以下哪个参数需要重点关注?
A.spark.executor.memory
B.spark.sql.shuffle.partitions
C.spark.driver.maxResultSize
D.spark.default.parallelism【答案】:B
解析:本题考察Spark性能调优参数。正确答案为B。spark.sql.shuffle.partitions控制Shuffle分区数,增加该参数可减少单分区数据量,缓解数据倾斜(B正确)。A错误:executor内存影响内存使用,不解决Shuffle倾斜;C错误:driver.maxResultSize限制结果大小,与Shuffle无关;D错误:default.parallelism影响非Shuffle操作的分区数。3.以下哪项是RDD的核心特性,指RDD创建后数据不可修改,只能通过转换操作生成新的RDD?
A.不可变性
B.分区性
C.惰性计算
D.依赖关系【答案】:A
解析:本题考察RDD的核心特性知识点。RDD的不可变性是指其数据一旦创建就无法修改,只能通过转换操作(如map、filter)生成新的RDD;B选项“分区性”指RDD的数据分布在多个节点的不同分区中;C选项“惰性计算”指转换操作不会立即执行,需行动操作触发;D选项“依赖关系”指RDD之间的血缘关系(如窄依赖、宽依赖)。因此正确答案为A。4.以下关于SparkSQL创建临时视图的说法,正确的是?
A.临时视图仅在创建它的SparkSession会话中可见
B.临时视图必须通过registerTempTable方法创建
C.临时视图的数据会被持久化到磁盘存储
D.临时视图的作用范围是全局,所有SparkSession都可访问【答案】:A
解析:本题考察SparkSQL临时视图特性。正确答案为A。临时视图为会话级视图,仅在创建它的SparkSession中可见(A正确,D错误)。B错误:临时视图支持createOrReplaceTempView(推荐)和registerTempTable(旧API),非必须用registerTempTable;C错误:临时视图数据存储在内存中,不持久化到磁盘。5.当使用`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。6.以下哪个操作属于Spark的Transformation?
A.collect
B.map
C.count
D.saveAsTextFile【答案】:B
解析:本题考察SparkRDD操作的类型。Transformation是惰性转换操作,返回新的RDD(如map);而Action是触发作业执行的操作,返回结果或写入存储(如collect、count、saveAsTextFile均为Action)。因此B选项map是Transformation,其他选项为Action。7.以下关于SparkRDD的说法,正确的是?
A.RDD的数据是可变的
B.RDD的分区在创建后不可改变
C.RDD的转换操作是惰性执行的
D.RDD的依赖关系均为宽依赖,不可拆分【答案】:C
解析:本题考察SparkRDD的核心特性。正确答案为C。原因:RDD的转换操作(如map、filter)是惰性执行的,只有当触发Action操作时才会真正计算。A错误,RDD是不可变数据结构,数据不可修改;B错误,RDD分区可通过coalesce或repartition方法调整数量;D错误,RDD依赖分为宽依赖(如groupByKey)和窄依赖(如map),窄依赖可合并为Stage,宽依赖会触发Shuffle。8.在Spark中,使用SparkSession创建DataFrame后,若要通过SQL语句查询该DataFrame的数据,正确的操作是?
A.调用dataFrame.createOrReplaceTempView("table")后,使用spark.sql("SELECT*FROMtable")
B.调用dataFrame.registerTempTable("table")后,使用sqlContext.sql("SELECT*FROMtable")
C.直接调用dataFrame.sql("SELECT*FROMtable")
D.必须先将DataFrame转换为RDD再执行SQL【答案】:A
解析:本题考察SparkSQL的表注册与查询。正确答案为A:使用SparkSession的createOrReplaceTempView方法注册临时视图后,可通过spark.sql()执行SQL查询。B错误,registerTempTable已被createOrReplaceTempView替代(旧API);C错误,DataFrame无sql()方法,需通过SQLContext或SparkSession的spark.sql()执行;D错误,DataFrame本身支持SQL查询,无需转换为RDD。9.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。10.在提交Spark应用时,用于指定每个Executor内存大小的命令行参数是?
A.--executor-memory
B.--driver-memory
C.--master
D.--num-executors【答案】:A
解析:本题考察Spark应用部署参数。--executor-memory(A正确)用于设置每个Executor进程的内存大小(如--executor-memory2g)。B选项--driver-memory指定Driver进程内存;C选项--master指定集群资源管理器(如local、spark://...);D选项--num-executors指定Executor数量,不涉及内存配置。11.使用spark-submit提交Spark应用时,哪个参数用于指定应用的执行器(Executor)数量?
A.--master
B.--executor-memory
C.--num-executors
D.--driver-memory【答案】:C
解析:本题考察Spark提交任务的核心参数。<br>-选项A错误:--master用于指定Spark集群的运行模式(如local、spark://、yarn),与Executor数量无关。<br>-选项B错误:--executor-memory用于设置每个Executor的内存大小(如5g),而非数量。<br>-选项C正确:--num-executors用于指定应用使用的Executor实例数量,是控制并行度的关键参数。<br>-选项D错误:--driver-memory用于设置Driver进程的内存大小,与Executor数量无关。12.在SparkStreaming中,哪个操作可用于对DStream进行复杂转换并生成新的DStream?
A.transform
B.foreachRDD
C.updateStateByKey
D.mapPartitions【答案】:A
解析:本题考察SparkStreaming中DStream的转换操作。<br>-选项A正确:transform操作允许对DStream中的每个RDD应用任意RDD-to-RDD转换(如SQL查询、复杂计算),生成新的DStream,是DStream转换为DStream的核心算子。<br>-选项B错误:foreachRDD用于对DStream的每个RDD执行输出操作(如写入数据库),但不返回新的DStream,属于输出算子。<br>-选项C错误:updateStateByKey用于维护DStream的状态并更新(如计算累计值),但主要针对有状态转换,且返回的是有状态的DStream,但其功能是状态更新而非复杂转换。<br>-选项D错误:mapPartitions是RDD的算子,DStream本身没有直接继承该算子,若需对每个分区进行处理,应通过transform配合mapPartitions实现。13.SparkMLlib中,用于解决二分类问题的算法是?
A.LinearRegression(线性回归)
B.LogisticRegression(逻辑回归)
C.KMeans(K均值聚类)
D.Apriori(关联规则挖掘)【答案】:B
解析:本题考察SparkMLlib的常用算法类型。LinearRegression是回归算法,用于预测连续值(A错误);LogisticRegression是二分类算法,通过Sigmoid函数输出概率,适用于二分类问题(B正确);KMeans是无监督学习的聚类算法,用于数据分组(C错误);Apriori属于关联规则挖掘算法,不属于MLlib的机器学习分类算法(D错误)。因此正确答案为B。14.在Spark集群运行架构中,负责将任务分发给Executor并监控任务执行的组件是?
A.Driver
B.Executor
C.Master
D.Worker【答案】:A
解析:Driver组件负责Spark应用程序的逻辑控制,包括任务分发、执行计划生成及监控任务在Executor上的执行状态,因此A正确。B选项Executor是任务的实际执行者,仅负责本地执行任务;C选项Master是集群资源管理器,负责管理Worker节点和资源分配;D选项Worker是运行Executor的工作节点,不直接分配任务。15.在Spark中,若要使用SQL语句查询DataFrame的数据,正确的步骤是?
A.直接使用spark.sql("SELECT*FROMdf"),无需任何额外操作
B.先调用df.createOrReplaceTempView("tempView"),再执行spark.sql("SELECT*FROMtempView")
C.使用df.registerTempTable("tempView"),并导入org.apache.spark.sql.functions._
D.必须将DataFrame转换为RDD后才能进行SQL查询【答案】:B
解析:本题考察SparkSQL的基本操作。B选项正确,需先将DataFrame注册为临时视图(createOrReplaceTempView),才能通过spark.sql()执行SQL查询;A错误,直接查询未注册的DataFrame会报错;C错误,registerTempTable方法已被弃用,且导入functions包与SQL查询无关;D错误,DataFrame本身支持结构化数据查询,无需转换为RDD。16.以下关于SparkDataFrame的说法,正确的是?
A.DataFrame相比RDD增加了Schema信息,支持结构化数据的查询
B.DataFrame的列名可以通过修改Schema动态调整
C.DataFrame只能通过SQL语句进行数据查询操作
D.DataFrame的所有操作都必须在Driver端完成本地计算【答案】:A
解析:本题考察DataFrame的核心优势。正确答案为A。DataFrame通过Schema记录列名和类型,支持结构化数据的高效查询(如SQL或API)。选项B错误,DataFrame的列名不可动态修改,需通过withColumn等转换操作实现;选项C错误,DataFrame支持多种查询方式(如select、filter等API),并非仅依赖SQL;选项D错误,DataFrame操作本质是分布式执行,但可通过cache、collect等操作在Driver端获取结果(非全部操作在Driver端)。17.关于SparkDataFrame和Dataset的描述,正确的是?
A.DataFrame是强类型的分布式数据集
B.Dataset只能通过SparkSession.readAPI创建
C.DataFrame与RDD相比,查询性能通常更优
D.Dataset不支持SQL操作【答案】:C
解析:本题考察DataFrame与Dataset的核心区别。A选项错误,Dataset是强类型分布式数据集(如Dataset[CaseClass]),DataFrame是弱类型(基于Row);B选项错误,Dataset可通过RDD转换(如rdd.toDS())或SparkSession.readAPI创建;C选项正确,DataFrame通过Schema元数据和Catalyst优化器实现更优的执行计划,查询性能通常优于RDD;D选项错误,Dataset可注册为临时视图后通过SQL查询。18.关于RDD的特性,以下说法正确的是?
A.RDD是不可变的
B.RDD的分区数量在创建后不能改变
C.RDD的每个分区必须在同一个Executor上
D.RDD的依赖关系只能是窄依赖【答案】:A
解析:本题考察RDD核心特性。正确答案为A:RDD本质是不可变的分布式数据集,数据创建后无法修改。B错误:RDD分区数量可通过coalesce()或repartition()调整;C错误:RDD分区分布在不同Executor节点上,不限制同一节点;D错误:RDD依赖关系包含宽依赖(如groupByKey)和窄依赖(如map)。19.使用`spark-submit`提交Spark应用时,若需设置Driver内存为8GB、Executor内存为4GB,正确参数组合是?
A.--driver-memory8g--executor-memory4g
B.--driver-memory8GB--executor-memory4GB
C.--driver-memory8G--executor-memory4G
D.--driver-memory8g--executor-memory4GB【答案】:A
解析:本题考察Spark提交参数的正确性。Spark内存参数支持小写`g`或`G`(如8g、8G等效),但推荐统一使用小写字母(如`8g`)。A正确,参数名称和单位均符合规范;B错误,`GB`大写单位虽可接受,但非推荐写法;C错误,`8G`中`G`大写,`4G`同样,与题干“正确组合”要求不符;D错误,`executor-memory`参数使用`GB`单位,存在格式不一致问题。20.SparkDataFrame相比RDD,主要优势不包括以下哪项?
A.自动维护数据的Schema信息,便于SQL优化和类型检查
B.采用列式存储,内存利用率更高,支持向量化执行
C.所有操作均在内存中完成,无需磁盘IO
D.可利用Catalyst优化器生成更高效的物理执行计划【答案】:C
解析:本题考察DataFrame优势。正确答案为C。DataFrame虽优化了内存使用,但数据量过大时仍需磁盘IO,并非所有操作都在内存中完成。A正确:DataFrame自带Schema;B正确:列式存储提升内存效率;D正确:Catalyst优化器生成最优执行计划。21.以下哪个是SparkRDD的‘动作(Action)’操作?
A.filter()
B.flatMap()
C.count()
D.mapPartitions()【答案】:C
解析:本题考察RDD转换与动作操作的区别。C正确:count()是动作操作,会触发计算并返回RDD元素数量;A、B、D均为转换操作(Transformation),属于惰性执行,仅生成新RDD而不立即计算结果。22.以下哪个操作是Spark的行动操作(Action),会触发计算并返回结果?
A.map
B.count
C.filter
D.flatMap【答案】:B
解析:本题考察RDD操作类型。正确答案为B,count是典型的行动操作,会立即触发Spark作业执行并返回元素数量。A(map)、C(filter)、D(flatMap)均为转换操作(Transformation),属于惰性计算,不会触发实际计算。23.在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,均非统一入口。24.SparkStreaming中,DStream的本质是什么?
A.一系列连续的RDD
B.实时数据流的原始字节流
C.单个持久化的RDD
D.直接从Kafka拉取的实时数据【答案】:A
解析:本题考察SparkStreaming的微批处理模型。DStream(离散流)本质是由多个微批处理的RDD组成的序列(每个微批对应一个RDD),通过小批量处理实现近似实时计算;选项B错误(原始字节流无结构化),选项C错误(DStream是多RDD序列而非单个),选项D错误(数据需经微批划分,非直接拉取)。因此正确答案为A。25.以下哪个操作属于SparkRDD的Transformation(转换)操作?
A.count()
B.map()
C.collect()
D.saveAsTextFile()【答案】:B
解析:本题考察RDD操作类型的区分。Transformation操作(如map、filter)返回新RDD,属于惰性操作;Action操作(如count、collect、saveAsTextFile)会触发计算并返回结果或副作用。A选项count()是Action操作,用于统计元素数量;B选项map()是Transformation操作,通过函数转换RDD元素并返回新RDD;C选项collect()是Action操作,将RDD所有元素收集到Driver端;D选项saveAsTextFile()是Action操作,将RDD数据写入外部存储。26.以下关于SparkRDD的描述,正确的是?
A.RDD是不可变的分布式集合
B.RDD的分区数一旦创建无法修改
C.RDD的每个分区只能存储一种数据类型
D.RDD的转换操作会立即执行【答案】:A
解析:本题考察SparkRDD的核心特性。正确答案为A:RDD是不可变的分布式集合,即RDD创建后无法直接修改其数据,只能通过转换操作生成新的RDD。B错误,RDD分区数可通过repartition或coalesce方法修改;C错误,RDD每个分区可存储任意数据类型(但同分区内数据类型需一致);D错误,RDD的转换操作是惰性执行,需触发Action操作才会真正计算。27.以下哪个操作是SparkRDD的Action操作,会立即触发作业执行?
A.map(func)
B.filter(func)
C.collect()
D.flatMap(func)【答案】:C
解析:本题考察RDD的Transformation与Action操作区别。正确答案为C,collect()是Action操作,会将RDD数据收集到Driver端并触发作业执行。A、B、D均为Transformation操作,属于惰性执行,仅在触发Action时才会实际计算。28.关于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)灵活设置。29.在SparkMLlib中,使用Pipeline构建机器学习工作流时,哪个是必须的核心阶段?
A.特征工程(FeatureEngineering)
B.模型训练(AlgorithmModel)
C.模型评估(EvaluationMetrics)
D.参数调优(HyperparameterTuning)【答案】:B
解析:本题考察SparkMLlibPipeline的基本结构。<br>-选项A错误:特征工程通常通过多个Transformer(如StringIndexer、OneHotEncoder)实现,属于可选的特征处理阶段,而非Pipeline必须的核心阶段。<br>-选项B正确:Pipeline由一系列Stage(Estimator或Transformer)组成,其中Estimator(如LogisticRegression、RandomForestClassifier)是必须的,因为它是“学习”阶段,可将输入数据转换为模型(Transformer),是构建模型的核心。<br>-选项C错误:模型评估(如计算准确率、RMSE)通常在Pipeline之外通过Evaluator完成,不属于Pipeline的核心阶段。<br>-选项D错误:参数调优(如GridSearchCV)是独立于Pipeline的优化步骤,Pipeline本身不包含参数调优逻辑。30.SparkStreaming处理流数据时,每个微批(micro-batch)的数据被抽象为?
A.RDD
B.DStream
C.RDD和DStream的组合
D.内存队列(Queue)【答案】:A
解析:本题考察SparkStreaming的核心概念。SparkStreaming通过DStream(离散流)处理实时数据,DStream本质是一系列RDD的序列,每个微批(micro-batch)对应一个RDD(选项A)。选项B的DStream是流的抽象,而非单个微批数据;选项C“组合”说法错误;选项D的Queue是测试场景的输入源,非微批数据抽象。正确答案为A。31.在Spark中,如何将DataFrame注册为临时表,以便后续通过SQL语句查询?
A.df.createOrReplaceTempView("tableName")
B.df.createTempView("tableName")
C.df.registerTempTable("tableName")
D.df.createTable("tableName")【答案】:A
解析:本题考察SparkSQL临时视图注册方法。在Spark2.0+中,推荐使用createOrReplaceTempView(A正确),该方法支持创建或替换临时表,供SQL查询。B选项createTempView为旧版本方法,已被弃用;C选项registerTempTable是Spark1.x的遗留方法,现已不推荐;D选项createTable用于创建永久表(如HiveMetastore表),而非临时SQL视图。32.SparkStreaming中,使用window操作对DStream进行窗口计算时,不需要指定的参数是?
A.windowDuration:窗口持续时间
B.slideDuration:滑动间隔时间
C.numPartitions:分区数量
D.聚合函数(如reduceFunc)【答案】:C
解析:本题考察DStream窗口操作参数。window操作需指定窗口时长(windowDuration)和滑动间隔(slideDuration),聚合函数(如reduceByKeyAndWindow的reduceFunc)可选;numPartitions是RDD分区控制参数,不属于窗口操作核心参数。因此正确答案为C。33.以下关于SparkRDD特性的描述,正确的是?
A.RDD的数据在创建后不可修改
B.RDD的分区数一旦创建就无法改变
C.RDD只能存储结构化数据(如CSV格式)
D.RDD的计算结果会自动持久化到磁盘【答案】:A
解析:本题考察RDD的核心特性。A正确:RDD是不可变的,任何转换操作(如map、filter)都会生成新的RDD,原RDD数据不会被修改;B错误:RDD分区数可通过repartition或coalesce方法动态调整;C错误:RDD支持存储任意类型的数据(如文本、JSON、自定义对象),并非仅结构化数据;D错误:RDD默认不持久化,持久化需显式设置StorageLevel(如MEMORY_AND_DISK)。34.在Spark中,以下哪个操作会触发RDD的实际计算(即触发作业的提交和执行)?
A.filter
B.map
C.collect
D.flatMap【答案】:C
解析:本题考察RDD的惰性执行特性。正确答案为C,collect是行动操作(Action),会触发RDD的计算并返回结果到Driver端;而filter、map、flatMap均属于转换操作(Transformation),仅定义计算逻辑,不会立即触发执行,因此不会提交作业。35.在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内存)。36.关于RDD的核心特性,以下描述正确的是?
A.RDD中的数据元素一旦创建便不可修改
B.RDD的Transformation操作会立即触发计算
C.RDD的分区数量在创建后可以动态调整
D.RDD仅支持内存存储,无法持久化到磁盘【答案】:A
解析:本题考察RDD的基本特性。RDD具有不可变性(A正确),Transformation操作属于惰性计算,不会立即执行(B错误);RDD分区数在创建后不可动态调整(C错误);RDD支持多种存储级别(如DISK_ONLY),并非仅内存存储(D错误)。正确答案为A。37.关于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()方法支持数据持久化。38.在SparkSQL中,关于DataFrame和Dataset的说法,错误的是?
A.DataFrame是弱类型的分布式数据集合,每一行数据以Row对象表示
B.Dataset是强类型的,支持编译时类型检查和类型安全操作
C.DataFrame和Dataset均基于SparkRDD实现,共享部分底层执行逻辑
D.DataFrame和Dataset均只能处理结构化数据,不支持非结构化数据【答案】:D
解析:本题考察DataFrame与Dataset的核心区别。DataFrame是弱类型(A正确),基于RDD[Row]实现;Dataset是强类型(B正确),支持类型安全操作,两者均基于RDD实现(C正确);DataFrame和Dataset主要针对结构化数据优化,但Dataset通过Encoder支持半结构化数据的处理,且均不局限于结构化数据(D错误,描述过于绝对)。因此错误选项为D。39.以下哪个操作是SparkRDD的行动(Action)操作?
A.map
B.filter
C.collect
D.flatMap【答案】:C
解析:本题考察RDD转换与行动操作的区别。转换操作(如map、filter、flatMap)是惰性执行的,仅记录数据处理逻辑;行动操作会触发作业执行并返回结果到Driver。选项C的collect会将RDD数据收集到Driver端,属于行动操作。其他选项均为转换操作。40.关于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错误。41.Spark集群运行架构中,Driver进程的核心职责是?
A.直接在Executor上执行用户定义的任务代码
B.管理集群中所有Worker节点的资源分配
C.将应用程序逻辑转换为DAG并提交任务调度
D.负责将RDD数据持久化到HDFS等外部存储【答案】:C
解析:本题考察Driver的核心功能。C正确:Driver负责解析用户代码,构建RDD依赖关系的DAG图,并提交给DAGScheduler进行任务调度;A错误:任务代码由Executor在Worker节点上执行;B错误:集群资源管理由ClusterManager(如YARN的ResourceManager)负责;D错误:RDD持久化由StorageLevel配置,Executor负责存储到磁盘/内存,Driver不直接管理持久化。42.在SparkSQL中,将DataFrame注册为临时表并执行SQL查询的正确步骤是?
A.df.createOrReplaceTempView("temp_table");spark.sql("SELECT*FROMtemp_table")
B.df.createTempView("temp_table");spark.sql("SELECT*FROMtemp_table")
C.df.registerTempTable("temp_table");spark.sql("SELECT*FROMtemp_table")
D.df.toTempView("temp_table");spark.sql("SELECT*FROMtemp_table")【答案】:A
解析:本题考察SparkSQL的临时表注册。A正确,createOrReplaceTempView是Spark2.0+推荐的API;B错误,createTempView是旧版API;C错误,registerTempTable已被废弃;D错误,无toTempView方法。因此答案为A。43.SparkStreaming中,Checkpoint机制的主要作用是?
A.持久化RDD数据到磁盘
B.保存应用状态,支持故障恢复
C.加速DStream数据的传输
D.记录Spark集群的资源使用情况【答案】:B
解析:本题考察SparkStreaming的Checkpoint机制。选项A错误,RDD持久化用cache/persist,与Checkpoint无关;选项B正确,Checkpoint用于保存应用的状态信息(如有状态转换操作的中间结果),在应用重启时恢复状态;选项C错误,Checkpoint不涉及数据传输优化;选项D错误,Checkpoint不记录集群资源使用。因此正确答案为B。44.以下哪个操作是RDD的转换操作(Transformation)?
A.count()(统计元素数量)
B.collect()(收集RDD数据到Driver)
C.map()(对每个元素执行函数转换)
D.show()(显示DataFrame前N行数据)【答案】:C
解析:本题考察RDD转换操作与动作操作的区别。转换操作(如map)是惰性的,仅返回新RDD而不立即执行,因此C正确。A、B是动作操作(Action),会触发计算并返回结果;D是DataFrame的动作操作(非RDD方法),且同样触发计算。45.SparkSQL中,执行一条SQL语句时,Spark首先会进行什么步骤?
A.生成物理执行计划
B.解析SQL语法生成逻辑执行计划
C.直接执行并返回结果
D.由Hivemetastore直接获取元数据【答案】:B
解析:本题考察SparkSQL的执行流程。SparkSQL执行流程为:1.解析SQL语法生成逻辑执行计划(LogicalPlan);2.优化逻辑计划(如谓词下推);3.生成物理执行计划(PhysicalPlan);4.提交执行。选项A错误,物理执行计划是优化后的结果;选项C错误,SQL执行需经过多步骤解析优化;选项D错误,元数据获取是在解析阶段,且非“首先”步骤。46.关于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仅为其中一种通用输出方式。47.关于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()是标准创建方式)。48.Spark中,RDD的哪种特性使得转换操作(Transformation)不会立即执行,而是在遇到动作操作(Action)时才会触发实际计算?
A.惰性计算(LazyEvaluation)
B.不可变性(Immutability)
C.可分区性(Partitioning)
D.依赖关系(Lineage)【答案】:A
解析:本题考察RDD的核心特性。正确答案为A。惰性计算(LazyEvaluation)是RDD的关键特性,转换操作仅记录数据转换逻辑,不立即执行,直到Action操作触发才会通过DAG执行引擎计算结果。B选项不可变性指RDD创建后数据不可修改,与执行时机无关;C选项可分区性是指RDD可被分割为多个分区并行处理,不涉及执行延迟;D选项依赖关系(Lineage)是记录RDD转换链用于容错,与执行时机无关。49.关于SparkDataFrame和RDD的描述,错误的是?
A.DataFrame支持Schema信息,RDD不支持
B.DataFrame比RDD具有更好的性能,因优化过
C.DataFrame只能通过SparkSQL操作,无法使用TransformationAPI
D.DataFrame是分布式结构化数据集合,RDD是分布式弹性数据集【答案】:C
解析:本题考察DataFrame与RDD的核心区别。DataFrame支持Schema,优化后性能优于RDD,且既支持SparkSQL也支持API操作(如df.select()),而RDD是分布式弹性数据集。选项C错误,因DataFrame可通过API操作。50.在Spark提交应用时,通过--executor-memory参数设置的是?
A.Driver端的内存大小
B.每个Executor进程的内存大小
C.整个应用的总内存大小
D.每个Worker节点的内存大小【答案】:B
解析:本题考察Spark资源配置参数。正确答案为B:--executor-memory指定单个Executor进程的内存(含堆内/外内存)。A错误:Driver内存需通过--driver-memory设置;C错误:总内存由Executor数量(--num-executors)和单个Executor内存共同决定;D错误:Worker节点内存是集群级配置,非Spark应用提交参数。51.SparkStreaming中,关于窗口(Window)操作的描述,正确的是?
A.窗口操作必须指定窗口长度(windowduration)和滑动间隔(slideduration)
B.窗口操作的滑动间隔必须小于窗口长度才能保证数据不重复
C.窗口操作只能基于Kafka输入DStream进行
D.窗口操作会导致原始DStream的数据被重复处理【答案】:A
解析:本题考察SparkStreaming窗口操作。正确答案为A:窗口操作需明确窗口长度(数据聚合时间范围)和滑动间隔(计算触发频率)。B错误:滑动间隔可大于/等于窗口长度(如间隔=窗口长度时无重叠,间隔>窗口长度时数据可能丢失);C错误:窗口操作可基于任意输入DStream(如SocketTextStream);D错误:窗口操作仅聚合窗口内数据,原始数据不重复处理,仅按窗口计算结果。52.以下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。53.关于SparkStreaming中DStream的描述,错误的是?
A.DStream是由一系列连续的RDD组成的离散流
B.DStream的window操作需要指定窗口时长(windowDuration)和滑动间隔(slideDuration)
C.使用DStream.transform(func)可以对每个批次的RDD执行任意转换操作
D.DStream转换为RDD时必须通过checkpoint方法持久化数据【答案】:D
解析:本题考察DStream核心操作。正确答案为D:DStream转换为RDD通过foreachRDD实现,checkpoint用于持久化状态而非转换为RDD。A正确,DStream本质是RDD序列;B正确,window操作需窗口时长和滑动间隔;C正确,transform可对每个批次RDD应用任意转换。54.以下关于SparkRDD特性的描述,正确的是?
A.RDD的转换操作会立即触发计算
B.RDD不支持数据分区操作,只能整体处理
C.RDD的转换操作是惰性执行的,仅在行动操作触发时执行
D.RDD的数据仅存储在Driver端内存中【答案】:C
解析:本题考察RDD的核心特性。RDD的转换操作(Transformation)是惰性执行的,只有当行动操作(Action)被调用时,才会触发整个DAG的计算过程,因此C正确。A错误,转换操作不会立即执行;B错误,RDD本身就是基于分区的分布式集合,支持分区操作;D错误,RDD的数据存储在各个Executor的内存或磁盘中,Driver端仅负责调度和元数据管理。55.在Spark中,使用YARN作为资源管理器时,提交应用程序的核心命令参数是?
A.spark-submit--masteryarn
B.spark-submit--masterspark://localhost:7077
C.spark-submit--mastermesos://master:5050
D.spark-submit--masterlocal[*]【答案】:A
解析:spark-submit的--master参数指定运行模式,YARN模式需设置为yarn。B选项对应Standalone模式;C选项对应Mesos模式;D选项对应本地模式。因此正确提交YARN应用需使用A选项。56.关于Spark中RDD的特性,以下说法错误的是?
A.RDD中的数据是不可变的
B.RDD支持分区(Partition)机制
C.RDD可以直接使用广播变量(BroadcastVariable)
D.RDD的转换操作(Transformation)是惰性执行的【答案】:C
解析:本题考察SparkRDD的核心特性。RDD本身不直接支持广播变量,广播变量是Spark提供的一种高效分发大对象到各个Executor的机制,并非RDD的固有特性。A选项正确,RDD的数据不可变,只能通过转换操作生成新RDD;B选项正确,RDD通过分区优化并行计算;D选项正确,转换操作仅记录逻辑,行动操作(Action)才会触发计算。因此错误选项为C。57.SparkSQL中负责优化逻辑执行计划的核心组件是?
A.Catalyst优化器
B.Tungsten执行引擎
C.HiveMetastore
D.SparkContext【答案】:A
解析:本题考察SparkSQL的核心组件。A选项正确,Catalyst优化器通过逻辑计划分析、规则优化(如谓词下推、列裁剪)生成最优逻辑执行计划;B选项错误,Tungsten执行引擎负责物理执行层的优化(如内存管理、代码生成),不直接优化逻辑计划;C选项错误,HiveMetastore是元数据存储服务,用于管理表结构和分区信息;D选项错误,SparkContext是Spark核心上下文,负责集群资源管理,不参与SQL优化。58.SparkStreaming采用的核心处理模型是?
A.实时流处理(无界流连续处理)
B.微批处理(Micro-batchProcessing)
C.流批一体(统一处理有界/无界数据)
D.事件驱动(Event-driven)【答案】:B
解析:本题考察SparkStreaming的处理模型。SparkStreaming基于微批处理,将输入数据流按固定时间间隔(如1秒)划分为小批次,按RDD方式处理,属于“准实时”处理;A错误,实时流处理(如Flink的DataStreamAPI)是连续无界流处理;C错误,“流批一体”是Spark3.x后引入的概念,并非核心处理模型;D错误,事件驱动不是SparkStreaming的核心模型。59.在使用spark-submit提交Spark作业时,用于指定Driver端内存大小的参数是?
A.--master
B.--executor-memory
C.--driver-memory
D.--num-executors【答案】:C
解析:本题考察spark-submit参数含义。--driver-memory指定Driver进程内存大小(如--driver-memory2g);选项A--master指定集群资源管理器(如local[*]);选项B--executor-memory指定每个Executor内存;选项D--num-executors指定Executor数量。正确答案为C。60.SparkStreaming中,窗口操作(WindowOperation)的核心作用是?
A.对DStream按固定窗口长度和滑动间隔进行数据聚合
B.仅用于实时数据的实时过滤(Filter)
C.直接将DStream转换为RDD
D.加速数据读取的并行度【答案】:A
解析:本题考察SparkStreaming窗口操作的功能。窗口操作通过设置窗口长度(windowDuration)和滑动间隔(slideDuration),对DStream在固定时间窗口内的数据进行聚合计算(如countByWindow),实现历史数据的批量处理。B选项错误,窗口操作不仅限于过滤;C错误,DStream本身就是对RDD的抽象,窗口操作是DStream的转换操作,不会直接转换为RDD;D错误,窗口操作与并行度无关。因此正确答案为A。61.在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文件。62.关于SparkSQL中临时视图的说法,正确的是?
A.createOrReplaceTempView创建的临时视图在当前SparkSession关闭后失效
B.createGlobalTempView创建的视图可以跨多个SparkSession共享
C.spark.sql("CREATETEMPORARYVIEW")会覆盖已存在的同名视图
D.临时视图仅在创建它的Executor中可见【答案】:B
解析:本题考察SparkSQL临时视图的作用域。createOrReplaceTempView创建的视图仅在当前SparkSession内有效,关闭后失效,但不会自动覆盖(A错误);createTempView若视图存在会报错,createOrReplaceTempView才会覆盖(C错误);临时视图由Driver管理,所有Executor均可访问(D错误);createGlobalTempView创建的视图存储在全局临时数据库(global_temp)中,可跨多个SparkSession共享(B正确)。因此正确答案为B。63.在Spark中,以下哪个操作属于‘行动操作(Action)’?
A.map
B.filter
C.reduceByKey
D.collect【答案】:D
解析:本题考察Transformation与Action的区别。map、filter、reduceByKey均为Transformation操作(仅定义逻辑,惰性执行);collect是典型的Action操作,会触发RDD计算并将结果收集到Driver端,属于终端操作。64.在使用spark-submit提交Spark作业时,用于指定每个Executor可使用的CPU核心数的参数是?
A.--executor-memory
B.--driver-memory
C.--num-executors
D.--executor-cores【答案】:D
解析:本题考察Spark作业资源配置参数。--executor-cores用于指定每个Executor的CPU核心数(如--executor-cores2表示每个Executor使用2个核心);A错误,--executor-memory指定Executor内存大小;B错误,--driver-memory指定Driver内存;C错误,--num-executors指定Executor总数量。65.以下哪个操作属于SparkRDD的Transformation操作?
A.count()
B.collect()
C.filter()
D.saveAsTextFile()【答案】:C
解析:本题考察RDD转换与动作操作的区别。正确答案为C:filter()是Transformation,仅记录数据处理逻辑,不触发计算。A(count())、B(collect())、D(saveAsTextFile())均为Action操作,会立即触发作业执行并返回结果或写入存储。66.在Spark集群中,负责协调和管理所有Worker节点,并接收Driver程序请求的核心组件是?
A.Driver
B.Master(Standalone)或ResourceManager(YARN)
C.Worker
D.Executor【答案】:B
解析:本题考察Spark集群核心组件职责。Master(Standalone模式)或ResourceManager(YARN模式)是集群管理器,负责资源分配和任务调度;Driver是应用主程序,Worker是计算节点,Executor是执行任务的进程。因此正确答案为B。67.以下哪个是SparkRDD的动作操作(Action)?
A.map
B.filter
C.collect
D.flatMap【答案】:C
解析:本题考察RDD操作类型。A选项“map”、B选项“filter”、D选项“flatMap”均为转换操作(Transformation),仅定义数据处理逻辑,不触发计算;C选项“collect”是动作操作,会将RDD数据收集到Driver端并返回结果,强制触发分布式计算。68.在使用spark-submit提交Spark作业时,若要指定每个Executor的内存为4G,应使用哪个参数?
A.--executor-memory4g
B.--driver-memory4g
C.--executor-cores4
D.--masterlocal[4]【答案】:A
解析:本题考察Spark作业提交参数。选项A的--executor-memory是**控制每个Executor进程的内存大小**(单位:g/m),4g表示每个Executor内存为4GB,符合题意。选项B的--driver-memory是Driver端内存,与Executor无关;选项C的--executor-cores是控制每个Executor的CPU核心数,而非内存;选项D的--masterlocal[4]是指定本地运行时的CPU核心数,与Executor内存无关。因此正确答案为A。69.在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的标准方式。70.关于SparkRDD的特性,以下描述正确的是?
A.RDD中的数据元素是可变的
B.RDD的转换操作(Transformation)会立即触发计算
C.RDD的分区数在创建后不可修改
D.RDD的依赖关系记录了数据的血缘关系【答案】:D
解析:本题考察RDD的核心特性。A选项错误,RDD中的数据元素是不可变的,任何修改都需通过转换操作生成新RDD;B选项错误,RDD的转换操作(如map、filter)是惰性操作,不会立即触发计算,仅当Action操作(如count、collect)触发时才会执行;C选项错误,RDD的分区数可通过repartition或coalesce方法修改;D选项正确,RDD的Lineage(血缘关系)记录了依赖关系,用于数据容错和重新计算。71.Spark中,以下哪个操作属于Action操作?
A.map
B.count
C.filter
D.flatMap【答案】:B
解析:本题考察Transformation与Action的区别。map、filter、flatMap均为Transformation操作,属于“延迟执行”(仅记录计算逻辑,不触发作业);而count是Action操作,会立即触发Spark作业执行并返回结果(如数据元素数量)。因此正确答案为B。72.使用spark-submit提交Spark应用时,以下哪个参数用于设置Driver进程的内存大小?
A.--executor-memory
B.--driver-memory
C.--master
D.--deploy-mode【答案】:B
解析:本题考察Spark提交参数的作用。A选项--executor-memory用于设置每个Executor进程的内存大小,而非Driver;B选项--driver-memory专门设置Driver进程的内存(如--driver-memory2g);C选项--master用于指定集群Master地址(如local[*]、spark://master:7077);D选项--deploy-mode用于设置部署模式(cluster或client),不涉及内存配置。因此正确选项为B。73.以下哪个是SparkMLlib中用于‘分类(Classification)’的典型算法?
A.LinearRegression
B.KMeans
C.LogisticRegression
D.Word2Vec【答案】:C
解析:本题考察MLlib核心算法类型。C正确:LogisticRegression是典型的二分类/多分类算法;A错误:LinearRegression是回归算法(预测连续值);B错误:KMeans是无监督聚类算法;D错误:Word2Vec是自然语言处理中的词向量生成算法,非分类算法。74.关于Spark内存管理,以下描述错误的是?
A.内存分为存储内存(Storage)和执行内存(Execution)
B.堆外内存(Off-Heap)可避免JVMGC开销
C.spark.memory.fraction参数控制Spark总内存占JVM堆内存比例
D.所有Spark任务必须使用堆内内存,无法启用堆外内存【答案】:D
解析:本题考察Spark内存管理机制。Spark支持通过spark.memory.offHeap.enabled参数启用堆外内存(如设置spark.executor.memory和spark.memory.offHeap.size),因此选项D描述错误。选项A正确,Spark内存分为存储(缓存数据)和执行(Shuffle/计算);选项B正确,堆外内存由操作系统直接管理,避免JVMGC影响;选项C正确,spark.memory.fraction默认值0.6控制Spark可使用的堆内存比例。75.SparkDataFrame相比RDD,最显著的优势是?
A.数据存储格式更紧凑
B.自带Schema元数据信息
C.分区数量可动态调整
D.内存占用更低【答案】:B
解析:本题考察DataFrame的核心优势。DataFrame是带有Schema信息的分布式表格,Schema元数据使SparkSQL的优化器(如Catalyst)能基于列类型和关系进行物理执行计划优化,减少不必要的计算;A错误,DataFrame存储格式(如Parquet)紧凑,但这是存储层优势而非相比RDD的“最显著”优势;C错误,RDD也支持分区调整;D错误,DataFrame因Schema存储和类型检查,内存占用通常高于未优化的RDD。76.SparkSQL中,DataFrame相比RDD的主要优势不包括以下哪项?
A.提供了类型安全的API,编译时可检查数据类型
B.基于Catalyst优化的执行计划,提升查询效率
C.支持直接与关系型数据库进行SQL交互操作
D.可以直接操作未结构化的二进制数据【答案】:D
解析:本题考察DataFrame的核心优势。DataFrame基于结构化数据设计,提供类型安全(A正确)、优化的Catalyst执行计划(B正确),并支持SQL语法与关系型数据库兼容(C正确)。而RDD可直接操作未结构化数据,DataFrame因强类型和结构化设计,无法直接操作二进制数据(D错误),故D为正确答案。77.在Spark中,DataFrame与Dataset的主要区别是?
A.DataFrame是Dataset[Row],Dataset是强类型集合
B.DataFrame支持SQL查询,Dataset不支持
C.DataFrame是弱类型(基于Row),Dataset是强类型(基于样例类)
D.DataFrame只能用于结构化数据,Dataset仅用于非结构化数据【答案】:C
解析:本题考察DataFrame与Dataset的本质区别。正确答案为C,DataFrame是弱类型集合(Dataset[Row]),Schema由元数据描述,编译时不做类型检查;Dataset是强类型集合(基于样例类),编译时可检查类型安全。A错误,DataFrame是Dataset[Row]的实例,两者结构关系描述错误;B错误,两者均支持SparkSQL操作;D错误,两者均可处理结构化/半结构化数据。78.在Spark中,以下哪个操作会直接触发作业(Job)的执行?
A.map()
B.collect()
C.filter()
D.flatMap()【答案】:B
解析:本题考察Spark操作的惰性执行机制。map()、filter()、flatMap()均为转换操作(Transformation),仅记录操作逻辑,不会触发作业执行(A、C、D错误);collect()是行动操作(Action),会触发Spark提交作业并执行,最终返回数据到Driver端(B正确)。因此正确答案为B。79.在SparkSQL中执行`SELECTname,ageFROMusersWHEREage>18`时,Spark会自动应用哪种优化技术减少数据量?
A.谓词下推(PredicatePushdown)
B.列裁剪(ColumnPruning)
C.连接重排(JoinReordering)
D.广播连接(BroadcastJoin)【答案】:B
解析:本题考察SparkSQL优化策略。A错误,谓词下推(age>18)会过滤行数据,但题干中`SELECTname,age`明确指定列,列裁剪更直接;B正确,列裁剪会仅读取`name`和`age`列,避免读取`users`表中其他无用列,减少数据传输;C错误,连接重排适用于多表连接场景,题干仅单表查询;D错误,广播连接用于大表与小表连接时优化,题干无连接操作。80.Spark运行在YARN集群模式时,用于指定Driver内存大小的参数是?
A.--driver-memory
B.--executor-memory
C.--mas
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版六年级下册数学判断题专项练习(含答案)
- 2026年鸡西市鸡冠区社区工作者招聘笔试参考题库及答案解析
- 2026年陕西省商洛市社区工作者招聘考试模拟试题及答案解析
- 2026年郑州市中原区社区工作者招聘考试备考试题及答案解析
- 第4课 编码助力班级图书管理教学设计小学信息技术(信息科技)四年级下册鲁教版(信息科技)
- 2026年梅州市梅江区社区工作者招聘笔试参考题库及答案解析
- 2026年浙江省杭州市社区工作者招聘考试参考题库及答案解析
- 第2节 算法教学设计初中信息技术苏科版2018八年级全一册-苏科版2018
- 2026年厦门市翔安区社区工作者招聘考试参考题库及答案解析
- 人教部编版八年级下册公平正义的守护教案设计
- 2025 年预制菜产业发展研究报告
- 2025年csco胃癌诊疗指南
- 祖国在我心窝里童声二部合唱简谱
- 酒店营业收入统计报表模板
- 2025年汇川北森测评题库及答案
- 护理员应急救护知识培训课件
- 实施指南(2025)《JC-T 2764-2023 导光板玻璃》
- 配电系统动态孤岛划分与故障自愈策略研究
- 浙江电力安全生产培训课件
- 提升PICC导管维护规范率
- 卵巢肿瘤护理查房课件
评论
0/150
提交评论