2026年大数据技术与应用考试试题及答案_第1页
2026年大数据技术与应用考试试题及答案_第2页
2026年大数据技术与应用考试试题及答案_第3页
2026年大数据技术与应用考试试题及答案_第4页
2026年大数据技术与应用考试试题及答案_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2026年大数据技术与应用考试试题及答案第一部分:单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个选项中,只有一项是符合题目要求的)1.在Hadoop生态系统中,负责资源管理和调度的组件是()。A.HDFSB.MapReduceC.YARND.ZooKeeper2.HDFS默认的数据块大小(在Hadoop2.x及以后版本)是()。A.64MBB.128MBC.256MBD.512MB3.下列关于HDFS副本机制的描述,错误的是()。A.默认副本系数为3B.副本存储策略遵循机架感知原则C.第一个副本通常存储在客户端所在的节点D.当副本系数不足时,NameNode会立即删除该文件4.在MapReduce计算模型中,主要负责将MapTask的输出进行合并、排序并传输给ReduceTask的阶段是()。A.Split阶段B.Map阶段C.Shuffle阶段D.Reduce阶段5.SparkRDD中,用于将RDD元素持久化到内存中的算子是()。A.mapB.reduceC.cacheD.filter6.下列关于Spark的描述,正确的是()。A.Spark是基于磁盘的计算框架,因此比MapReduce慢B.Spark是粗粒度的资源申请,细粒度的任务调度C.SparkSQL只能处理结构化数据文件,不能处理Hive中的数据D.Spark的RDD是可变的,一旦创建就可以修改7.在HBase数据模型中,RowKey的设计至关重要,下列哪项不是RowKey设计的原则?()A.RowKey长度尽可能短B.RowKey尽量散列,避免热点C.RowKey根据业务查询频率进行排序存储D.RowKey必须包含业务的所有列名8.下列哪个组件通常用于数据的采集与聚合,支持Flume和Kafka等数据源?()A.SqoopB.FlumeC.PigD.Mahout9.关系型数据库向Hadoop进行数据导入导出的工具是()。A.FlumeB.SqoopC.OozieD.Hue10.在Spark中,宽依赖指的是()。A.父RDD的一个分区只被子RDD的一个分区使用B.父RDD的一个分区被子RDD的多个分区使用C.父RDD的多个分区只被子RDD的一个分区使用D.不存在依赖关系11.Kafka中,消息的物理存储单位是()。A.TopicB.PartitionC.SegmentD.Broker12.下列关于数据仓库特征的描述,不正确的是()。A.面向主题的B.集成的C.相对稳定的D.实时更新的13.在Hive中,将结构化数据文件映射为一张数据库表,本质是()。A.实际存储数据的数据库B.HDFS上的一个目录C.内存中的临时表D.MapReduce程序14.SparkStreaming接收实时数据流时,将流数据按照时间切分为一系列离散的RDD,这种机制称为()。A.DStreamB.微批处理C.连续处理D.窗口计算15.下列哪种算法适合在大数据环境下进行协同过滤推荐?()A.ALS(交替最小二乘法)B.K-MeansC.LogisticRegressionD.PageRank16.ZooKeeper在Hadoop集群中的作用不包括()。A.配置管理B.分布式协调C.NameNode的高可用(HA)协调D.数据存储计算17.在HDFS中,SecondaryNameNode的主要作用是()。A.热备NameNode,当NameNode故障时立即接管B.辅助NameNode合并FsImage和Edits日志,减少NameNode启动时间C.负责DataNode的负载均衡D.存储实际的数据块18.下列关于Flume架构的描述,正确的是()。A.Source、Channel、Sink是Flume的核心组件B.Source负责从Channel中取出数据C.Sink负责将数据写入ChannelD.Channel是数据的源头19.在Scala语言中,下列哪种数据结构是不可变的?()A.ListB.ArrayBufferC.ListBufferD.HashMap20.在机器学习的大数据应用中,用于评估分类模型准确率的指标公式为()。A.Precision=TP/(TP+FP)B.Recall=TP/(TP+FN)C.Accuracy=(TP+TN)/(TP+TN+FP+FN)D.F1-Score=2(PrecisionRecall)/(Precision+Recall)第二部分:多项选择题(本大题共10小题,每小题3分,共30分。在每小题给出的四个选项中,有两项或两项以上是符合题目要求的。多选、少选、错选均不得分)21.大数据的“4V”特征包括()。A.Volume(大量)B.Velocity(高速)C.Variety(多样)D.Value(低价值密度)22.Hadoop2.x相比Hadoop1.x的重大改进包括()。A.引入YARN进行资源管理B.支持NameNode高可用(HA)C.HDFS支持异构存储D.移除了MapReduce计算框架23.下列属于HDFS的读写流程特点的有()。A.写数据时采用流水线复制B.读数据时尽量遵循数据本地性原则C.客户端直接与DataNode交互进行数据传输D.所有数据读写操作都必须经过NameNode中转24.SparkRDD的五大核心特性包括()。A.分区列表B.依赖关系C.计算函数D.分区器E.最佳位置25.下列属于NoSQL数据库的有()。A.HBaseB.MongoDBC.RedisD.MySQL26.在Hive中,常用的内部函数包括()。A.count()B.sum()C.explode()D.rank()27.Kafka相比传统消息队列的优势在于()。A.高吞吐量B.支持消息回溯C.分布式架构,支持水平扩展D.强数据一致性(ACID)28.数据清洗的主要任务包括()。A.缺失值处理B.异常值检测与处理C.数据重复去除D.数据标准化与归一化29.下列关于Scala特性的描述,正确的有()。A.面向对象B.函数式编程C.静态类型D.运行时类型推断30.在构建推荐系统时,常用的基于内容的推荐算法特征包括()。A.用户画像B.物品画像C.协同过滤矩阵D.相似度计算(如余弦相似度)第三部分:填空题(本大题共10小题,每小题2分,共20分)31.HDFS的默认端口号是________,MapReduce提交Job的默认端口号是________。32.在MapReduce程序中,MapTask的输入数据格式默认为________,输出数据的Key默认为________。33.Spark中,________算子可以将两个RDD中的元素按照Key进行聚合。34.HBase中,数据存储在________中,它是HDFS上的一个目录。35.Kafka中,每个Topic可以分为多个________,以实现并行处理和扩展。36.在LinuxShell中,用于查看HDFS文件系统目录结构的命令是________。37.在Scala中,________是所有类的父类。38.在Hive中,________表删除时,元数据和存储在HDFS上的数据都会被删除;而外部表删除时,只删除元数据。39.数据挖掘中,________算法是一种典型的划分聚类算法。40.在SparkStreaming中,________操作可以将DStream转换为普通的RDD进行处理。第四部分:简答题(本大题共5小题,每小题6分,共30分)41.简述HDFS中NameNode与DataNode的功能及区别。42.请解释SparkRDD中“窄依赖”与“宽依赖”的概念,并说明它们对Stage划分的影响。43.简述Hive的内部表与外部表的区别及其应用场景。44.在Kafka中,Producer发送消息有哪几种方式?请简述其特点。45.简述数据仓库中维度建模的事实表与维度表的定义及关系。第五部分:综合应用与分析题(本大题共3小题,共30分)46.(本题10分)MapReduce编程与计算分析。假设有一个大文本文件存储在HDFS上,文件内容为英文文章。现要求编写MapReduce逻辑(伪代码或思路)来统计每个单词出现的词频(WordCount)。(1)请写出Map函数的输入键值对类型、输出键值对类型及处理逻辑。(2)请写出Reduce函数的输入键值对类型、输出键值对类型及处理逻辑。(3)如果输入文件大小为100GB,HDFS块大小为128MB,MapTask的默认切片大小与块大小一致,请问理论上会产生多少个MapTask?(不考虑切片切分不均匀的情况)47.(本题10分)SparkRDD转换与行动算子分析。设有RDD:`data=sc.parallelize([(1,"apple"),(2,"banana"),(1,"orange"),(3,"grape")])`。请写出以下操作后的结果(假设执行环境已初始化):(1)`rdd1=data.mapValues(lambdax:x.upper())`,请写出`rdd1.collect()`的结果。(2)`rdd2=data.groupByKey()`,请写出`rdd2.collect()`的结果(结果格式需清晰展示Iterable中的内容)。(3)`rdd3=data.reduceByKey(lambdax,y:x+","+y)`,请写出`rdd3.collect()`的结果。(4)简述`groupByKey`和`reduceByKey`在性能上的区别及原因。48.(本题10分)大数据架构设计案例分析。某电商公司需要构建一个实时用户行为分析系统,主要需求如下:1.实时收集用户在Web端和App端的点击流日志(Clickstream)、下单日志等。2.对数据进行实时清洗,过滤掉无效日志(如爬虫流量)。3.实时计算每分钟的活跃user数(UV)和商品点击量。4.将计算结果实时写入MySQL,供后台大屏展示。请基于Hadoop/Spark生态圈设计一套合理的技术架构方案。(1)请画出架构图或用文字描述数据流转过程。(2)说明每个环节选用的关键技术组件(如数据采集、消息队列、实时计算、存储)及其选型理由。(3)针对实时计算UV(去重统计),请给出一种可行的实现思路(如使用Redis或HyperLogLog)。参考答案及详细解析第一部分:单项选择题1.【答案】C【解析】YARN(YetAnotherResourceNegotiator)是Hadoop2.0引入的资源管理系统,负责集群资源的统一管理和调度。HDFS负责存储,MapReduce负责计算,ZooKeeper负责协调服务。2.【答案】B【解析】在Hadoop2.x和3.x版本中,HDFS默认的数据块大小为128MB。Hadoop1.x默认为64MB。3.【答案】D【解析】HDFS副本机制中,当副本系数不足时(例如某DataNode故障导致副本丢失),NameNode会检测并指挥其他DataNode复制新的副本以恢复副本系数,而不是删除文件。4.【答案】C【解析】Shuffle阶段是MapReduce的核心过程,位于Map和Reduce之间,负责将Map的输出按照Key进行分区、排序、分组,并通过网络传输给Reduce。5.【答案】C【解析】`cache()`是`persist(StorageLevel.MEMORY_ONLY)`的简写,用于将RDD持久化到内存中,避免重复计算。map和reduce是转换算子,filter也是转换算子。6.【答案】B【解析】Spark是基于内存的迭代计算框架,通常比MapReduce快;Spark是粗粒度资源申请(申请Executor),细粒度任务调度(线程级);SparkSQL可以处理多种数据源;RDD是不可变的。7.【答案】D【解析】RowKey是字节数组,设计原则包括长度原则(短)、散列原则(哈希前缀)、排序原则。RowKey不需要包含业务列名,它只是行的唯一标识。8.【答案】B【解析】Flume是Cloudera提供的一个高可用的、高可靠的、分布式的海量日志采集、聚合和传输系统。Sqoop用于结构化数据传输。9.【答案】B【解析】Sqoop(SQL-to-Hadoop)是用于在Hadoop和关系型数据库(如MySQL,Oracle)之间传输数据的工具。10.【答案】B【解析】宽依赖是指父RDD的一个分区被子RDD的多个分区依赖,通常对应Shuffle操作(如groupByKey,reduceByKey)。窄依赖是指父RDD的一个分区只被子RDD的一个分区使用。11.【答案】C【解析】Kafka中,Topic是逻辑上的概念,Partition是物理上的分片,Partition由多个Segment组成。Segment是物理存储的最小单位,包含.log数据文件和.index索引文件。12.【答案】D【解析】数据仓库是面向主题的、集成的、相对稳定的(非易失的)、反映历史变化的数据集合,通常用于分析,不支持实时更新(OLTP),而是支持批量加载和查询(OLAP)。13.【答案】B【解析】Hive表的数据实质上存储在HDFS的目录中。Hive只是元数据管理工具,将HDFS文件映射为表结构。14.【答案】B【解析】SparkStreaming将实时流数据按时间间隔(如BatchInterval)切分为一个个微小的批处理,即微批处理架构。15.【答案】A【解析】ALS(AlternatingLeastSquares)是SparkMLlib中提供的协同过滤推荐算法。K-Means是聚类,LogisticRegression是分类,PageRank是图计算。16.【答案】D【解析】ZooKeeper主要用于配置管理、分布式协调、Leader选举等。它不负责海量数据的存储计算,那是HDFS和MapReduce/Spark的工作。17.【答案】B【解析】SecondaryNameNode并非热备,它的主要工作是定期合并NameNode的FsImage(镜像文件)和Edits(编辑日志),减少NameNode重启时的恢复时间。在Hadoop2.xHA架构中,通常由StandbyNameNode执行此任务。18.【答案】A【解析】Flume核心架构是Source(源)->Channel(通道)->Sink(目的地)。Source负责接收数据,Sink负责发送数据,Channel负责缓冲。19.【答案】A【解析】Scala中,List是不可变列表。ArrayBuffer、ListBuffer、HashMap(默认)都是可变的。20.【答案】C【解析】Accuracy(准确率)定义是(TP+TN)/Total。A是精确率,B是召回率,D是F1分数。第二部分:多项选择题21.【答案】ABCD【解析】大数据的4V特征通常指:Volume(数据量大)、Velocity(处理速度快)、Variety(数据类型繁多)、Value(价值密度低)。22.【答案】ABC【解析】Hadoop2.x引入了YARN,支持HA,HDFS支持异构存储。MapReduce依然存在,只是运行在YARN之上。23.【答案】ABC【解析】HDFS读写是“控制流在NameNode,数据流在DataNode”。客户端直接与DataNode传输数据。NameNode不中转数据,否则会成为瓶颈。24.【答案】ABCDE【解析】RDD的五大核心特性:分区列表、依赖关系、计算函数、分区器(可选)、最佳位置(可选)。25.【答案】ABC【解析】HBase(列式)、MongoDB(文档)、Redis(键值)均为NoSQL。MySQL是关系型数据库。26.【答案】ABCD【解析】count,sum是聚合函数;explode是UDTF(表生成函数);rank是窗口分析函数。均为Hive常用函数。27.【答案】ABC【解析】Kafka具有高吞吐、磁盘持久化支持回溯、分布式架构等优点。Kafka并不提供强ACID事务保证,它主要提供顺序性和消息投递保障。28.【答案】ABCD【解析】数据清洗包括处理缺失值、异常值、去重、标准化、归一化、一致性检查等。29.【答案】ABC【解析】Scala是面向对象和函数式编程的结合,也是静态类型语言。Scala有类型推断,但主要是在编译时进行,而非运行时。30.【答案】ABD【解析】基于内容的推荐依赖用户画像和物品画像,并计算相似度。协同过滤矩阵是基于协同过滤算法的,不是基于内容的推荐核心特征。第三部分:填空题31.【答案】8020/9001(或8032);注:HDFS2.x默认8020,3.x默认9820;JobTracker旧版端口,YARNResourcemanager端口8032。此处考查经典端口,填8020和8032较为准确。32.【答案】TextInputFormat/LongWritable(偏移量)【解析】默认InputFormat是TextInputFormat,Key是行偏移量,Value是行内容。33.【答案】join(或reduceByKey)【解析】`join`用于连接,`reduceByKey`用于聚合。题目问按Key聚合,通常指reduceByKey,但join也是基于Key。此处填reduceByKey更贴切“聚合”。34.【答案】Region【解析】HBase中表被划分为Region,Region存储在HDFS目录下。35.【答案】Partition(分区)36.【答案】hdfsdfs-ls37.【答案】Any38.【答案】内部(或Managed)39.【答案】K-Means40.【答案】foreachRDD第四部分:简答题41.【答案】NameNode(名称节点):(1)管理HDFS的命名空间(文件系统目录树)和元数据(文件与Block的映射关系,Block与DataNode的映射关系)。(2)处理客户端请求(如打开、关闭、重命名文件/目录)。(3)管理DataNode的状态报告和块副本放置策略。DataNode(数据节点):(1)存储实际的数据块。(2)向NameNode定期发送心跳和块报告。(3)执行NameNode下发的指令(如创建、删除、复制块)。区别:NameNode是主节点,存储元数据(内存),单点(需HA);DataNode是从节点,存储数据(磁盘),多节点。42.【答案】窄依赖:父RDD的一个分区只被子RDD的一个分区使用。不发生Shuffle。宽依赖:父RDD的一个分区被子RDD的多个分区使用。发生Shuffle。对Stage划分的影响:Spark根据RDD之间的依赖关系将Job划分为多个Stage。遇到宽依赖时,会划分一个新的Stage。因此,Stage内部是窄依赖,可以通过管道方式在一个Task中高效执行;Stage之间由于是宽依赖,涉及Shuffle,需要跨网络传输数据,是Job执行的性能瓶颈点。43.【答案】区别:(1)数据管理:内部表由Hive管理生命周期,删除表时元数据和HDFS上的数据都会被删除;外部表由Hive管理元数据,但数据由外部管理,删除表时只删除元数据,HDFS文件保留。(2)存储位置:内部表默认存储在`hive.metastore.warehouse.dir`配置的路径下;外部表可以使用`LOCATION`关键字指定任意HDFS路径。应用场景:内部表适用于不需要与其他工具共享数据的临时表、中间表。外部表适用于原始数据导入、需要被多个工具(如Pig,Spark)共享读取的数据。44.【答案】KafkaProducer发送消息主要有三种方式:(1)发送并忘记:Producer只负责发送消息,不关心服务端是否成功接收。这种方式吞吐量最高,但可靠性最低(可能丢数据)。(2)同步发送:Producer调用`send()`后返回一个Future对象,通过`get()`方法阻塞等待Kafka的响应。这种方式可靠性高,但吞吐量低。(3)异步发送:Producer调用`send()`并提供一个回调函数。Kafka返回响应后自动触发回调。这种方式在保证一定可靠性的同时,保持了较好的吞吐量。45.【答案】事实表:存储业务过程中的原子性事件或度量(如销售额、销售数量),通常包含大量的行和维度外键。特点是数据量大,不断增长。维度表:存储描述业务过程属性的环境信息(如时间、地点、商品、用户)。特点是数据量相对较小,变化较慢。关系:通过外键关联。事实表中包含指向各个维度表的外键,通过这种“星型模型”或“雪花模型”的连接,可以进行多维分析(OLAP)。第五部分:综合应用与分析题46.【答案】(1)Map函数:输入:`<LongWritablekey,Textvalue>`(key为字节偏移量,value为一行文本)输出:`<Text,IntWritable>`(单词,1)逻辑处理:将value转换为字符串。分割字符串为单词数组(按空格或标点)。遍历单词数组,对每个非空单词,输出`<单词,1>`。(2)Reduce函数:输入:`<Textkey,Iterable<IntWritable>values>`(单词,<1,1,1...>)输出:`<Text,IntWritable>`(单词,总频次)逻辑处理:定义一个变量sum=0。遍历values,将每个值累加到sum。输出`<key,sum>`。(3)MapTask数量计算:文件大小100GB=100*1024MB。块大小128MB。切片数=⌈100理论上产生800个MapTask。47.【答案】(1)`rdd1.collect()`结果:`[(1,"APPLE"),(2,"BANANA"),(1,"ORANGE"),(3,"GRAPE")]`解析:mapValues只对Value进行操作,将字母转为大写。(2)`rdd2.collect()`结果:`[(1,["apple","orange"]),(2,["banana"]),(3,["grape"])]`解析:groupByKey将相同Key的Value聚合成一个Iterable列表。(3)`rdd3.collect()`结果:`[(1,"apple,orange"),(2,"banana"),(3,"grape")]`解析:reduceByKe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论