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

下载本文档

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

文档简介

2025年大数据技术与应用考试试卷及答案一、单项选择题(本大题共15小题,每小题2分,共30分。在每小题给出的四个选项中,只有一项是最符合题目要求的)1.关于HDFS3.x版本的特性,以下描述错误的是()A.支持纠删码(ErasureCoding)降低存储成本B.引入HDFSFederation实现元数据横向扩展C.默认数据块大小调整为256MB以减少NameNode内存压力D.支持基于Raft协议的高可用(HDFSHA)2.以下Spark操作中,属于Action的是()A.map()B.filter()C.reduce()D.flatMap()3.数据清洗过程中,处理“年龄”字段时出现“-5”和“200”等值,应采用的主要方法是()A.直接删除记录B.视为缺失值并填充C.基于业务规则修正(如设置合理范围)D.保留原始值用于异常分析4.在Kafka中,消费者组(ConsumerGroup)的主要作用是()A.提高生产者的消息发送吞吐量B.实现消息的广播和负载均衡C.保证消息的顺序性D.减少Broker的存储压力5.关于Flink的时间窗口(TimeWindow),以下说法正确的是()A.滚动窗口(TumblingWindow)允许窗口重叠B.滑动窗口(SlidingWindow)的大小必须等于滑动间隔C.会话窗口(SessionWindow)通过会话间隔自动合并窗口D.事件时间(EventTime)窗口必须依赖水印(Watermark)机制6.分布式文件系统中,以下不属于元数据(Metadata)的是()A.文件创建时间B.文件块的存储位置C.文件内容的哈希值D.文件的所有者信息7.数据湖(DataLake)与数据仓库(DataWarehouse)的核心区别是()A.数据湖存储结构化数据,数据仓库存储非结构化数据B.数据湖在存储阶段不强制模式(Schema-on-Read),数据仓库在写入阶段强制模式(Schema-on-Write)C.数据湖仅支持离线处理,数据仓库支持实时处理D.数据湖的存储成本更高8.处理数据倾斜(DataSkew)时,以下策略无效的是()A.对倾斜键加盐(SkewKey)后进行两阶段聚合B.增加Shuffle过程的并行度C.使用广播变量(BroadcastVariable)优化join操作D.将HDFS块大小调整为更小的值9.关于HBase的Region划分,以下描述正确的是()A.Region的大小固定,由配置参数决定B.Region分裂(Split)发生在RegionServer内存不足时C.预分区(Pre-split)可以避免热点问题(HotSpotting)D.Region合并(Merge)仅支持手动触发10.机器学习模型在大数据场景中部署时,关键挑战不包括()A.模型推理的低延迟要求B.海量数据的实时特征计算C.模型版本的管理与回溯D.训练数据的随机采样11.以下不属于NoSQL数据库特点的是()A.支持ACID事务B.水平扩展能力C.灵活的模式(Schema-less)D.针对特定场景优化(如键值、列族、文档)12.在SparkMLlib中,以下算法属于无监督学习的是()A.逻辑回归(LogisticRegression)B.K-means聚类C.梯度提升树(GBT)D.协同过滤(CollaborativeFiltering)13.关于分布式计算框架的选择,处理实时流数据(毫秒级延迟)时,最适合的是()A.HadoopMapReduceB.SparkRDDC.FlinkD.Hive14.数据脱敏(DataMasking)的核心目的是()A.提高数据压缩率B.保护敏感信息(如身份证号、手机号)C.减少数据存储量D.加速数据查询15.以下大数据技术组件中,用于资源管理与任务调度的是()A.HBaseB.YARNC.KafkaD.Presto二、填空题(本大题共10小题,每空2分,共20分)1.HDFS的默认副本数是________,纠删码(如RS-6-3)的冗余率为________。2.SparkRDD的持久化(Persistence)级别中,“MEMORY_AND_DISK_SER”表示________。3.Flink中用于处理乱序事件时间数据的关键机制是________,其延迟阈值通过________参数设置。4.数据湖的典型存储格式包括________(至少列举2种)。5.HBase的RowKey设计需要避免________问题(如时间戳作为前缀导致写热点)。6.Kafka的消息偏移量(Offset)由________维护,消费者通过提交偏移量表示________。7.数据清洗的主要步骤包括________、________、________(至少列举3步)。8.分布式系统CAP定理中的三个特性是________、________、________。9.机器学习中的特征工程包括________、________、________(至少列举3类操作)。10.实时计算框架中,________(填技术)通过Checkpoint实现状态容错,其最小处理延迟可达________。三、简答题(本大题共5小题,每小题8分,共40分)1.简述Hadoop3.x相比2.x的主要改进(至少4点)。2.说明SparkShuffle的优化策略(从数据序列化、并行度、内存管理角度)。3.数据清洗中,如何处理缺失值?请列举至少3种方法并说明适用场景。4.解释分布式系统中“最终一致性”(EventualConsistency)的含义,并举例说明其应用场景。5.结合电商场景,说明如何利用大数据技术实现用户画像(需包含数据来源、处理流程、关键指标)。四、综合应用题(本大题共2小题,第1题15分,第2题15分,共30分)1.某电商平台需构建用户行为分析大数据平台,要求支持实时与离线分析。请设计平台架构,包括:(1)数据采集模块(如用户点击、下单、支付行为);(2)数据存储模块(需区分实时与离线数据);(3)数据处理模块(实时计算与离线计算框架选择);(4)分析与可视化模块(工具举例)。2.针对某互联网公司的海量日志数据(日均100TB,格式为JSON,包含字段:timestamp、user_id、url、status_code、response_time),需统计以下指标:(1)每小时4xx/5xx错误状态码的请求占比;(2)TOP10慢响应URL(响应时间>1s)。要求使用Spark或Flink实现,写出关键处理步骤及核心代码逻辑(伪代码或Scala/Java代码)。答案及解析一、单项选择题1.C(HDFS3.x默认块大小仍为128MB,256MB为可选配置)2.C(reduce()触发计算并返回结果,属于Action;其余为Transformation)3.C(业务规则修正是处理逻辑错误值的合理方法,直接删除可能丢失有效数据)4.B(消费者组通过分配分区实现负载均衡,不同组可广播消息)5.D(事件时间窗口需水印标记事件时间进度,处理乱序数据)6.C(文件内容哈希值属于数据本身,非元数据)7.B(数据湖采用读时模式,数据仓库采用写时模式)8.D(调整HDFS块大小与数据倾斜无关,倾斜是计算层问题)9.C(预分区可提前划分Region,避免热点)10.D(部署阶段关注推理与特征,随机采样是训练阶段问题)11.A(NoSQL通常弱化事务,支持BASE模型)12.B(K-means无监督,其余为监督或半监督)13.C(Flink支持毫秒级实时处理,MapReduce/Hive为批处理,SparkRDD延迟较高)14.B(脱敏核心是保护隐私)15.B(YARN负责资源管理与任务调度)二、填空题1.3;33.3%(RS-6-3表示6数据块+3校验块,冗余率3/9=33.3%)2.数据优先存储在内存,内存不足时溢写磁盘,且数据序列化存储3.水印(Watermark);allowedLateness4.Parquet、ORC、DeltaLake(任选2种)5.单调递增(或顺序写入)6.Broker;已消费到的位置7.缺失值处理、异常值检测、冗余数据删除、格式标准化(任选3步)8.一致性(Consistency)、可用性(Availability)、分区容错性(PartitionTolerance)9.特征提取、特征转换、特征选择、特征构造(任选3类)10.Flink;毫秒级(或1ms)三、简答题1.Hadoop3.x主要改进:(1)HDFS支持纠删码,降低存储成本(如RS码将冗余从3副本降至1.5倍);(2)YARN引入资源公平调度器(FairScheduler)的v2版本,支持更细粒度的资源分配;(3)HDFSHA基于Raft协议,替代ZooKeeper实现元数据高可用,减少依赖;(4)支持HDFSFederation横向扩展元数据服务,解决单NameNode性能瓶颈;(5)MapReduce支持应用程序级别的Container重用,减少启动开销。2.SparkShuffle优化策略:(1)数据序列化:使用Kryo序列化替代默认Java序列化,减少数据体积和网络传输时间;(2)并行度调整:通过增加shuffle.partitions参数值(如设置为200),提高并行任务数,避免单个任务处理过多数据;(3)内存管理:调整spark.shuffle.memoryFraction(如提升至0.3),为Shuffle的Buffer分配更多内存,减少磁盘溢写;(4)使用优化的ShuffleManager(如SortShuffleManager的bypass机制),当分区数较少时避免排序,降低CPU开销。3.缺失值处理方法及场景:(1)删除记录:适用于缺失值比例极低(如<5%)且数据量充足的场景,避免引入偏差;(2)统计填充:用均值/中位数/众数填充,适用于数值型/分类型字段,数据分布较稳定时;(3)模型预测填充:训练回归或分类模型预测缺失值,适用于缺失值与其他字段高度相关的场景(如用年龄预测收入缺失值);(4)插值法(如时间序列数据用前向/后向填充):适用于时序数据,上下文有连续性时。4.最终一致性含义:分布式系统中,当更新操作完成后,所有节点在经过一定时间(收敛时间)后,最终会看到相同的数据状态;期间不同节点可能存在临时不一致。应用场景:电商库存系统(下单扣减库存时,不同副本可能短暂不一致,但最终同步);社交平台好友列表(用户A添加好友后,其他节点可能延迟同步,但最终一致)。5.电商用户画像实现:(1)数据来源:用户基本信息(注册数据)、行为数据(点击/收藏/加购/下单)、交易数据(支付金额/频次)、客服数据(咨询记录)、外部数据(天气/地域);(2)处理流程:①数据采集:用Flume/Kafka收集多源数据;②数据清洗:去重、补全缺失值、过滤异常(如无效IP);③特征工程:计算用户活跃度(7日登录次数)、消费能力(客单价)、偏好(高频点击品类);④建模:用K-means聚类划分用户群体(如高价值/潜力/流失),或用决策树预测购买概率;(3)关键指标:RFM(最近购买时间、频率、金额)、用户生命周期阶段(引入/成长/成熟/衰退)、偏好品类TOP3、平均支付时长。四、综合应用题1.电商用户行为分析平台架构设计:(1)数据采集模块:前端行为:通过埋点SDK(如GoogleAnalytics、神策)收集点击流数据,经Kafka(Topic:user_behavior)实时传输;交易数据:订单系统通过Canal捕获MySQLbinlog,同步至Kafka(Topic:order_events);第三方数据:通过API接口定时拉取(如物流信息),用Flume写入HDFS。(2)数据存储模块:实时数据:Kafka(短期缓存)+HBase(高频查询,如用户实时行为)+Redis(缓存用户标签);离线数据:HDFS存储全量历史数据(按日期分区),Hive数据仓库(结构化处理),数据湖(DeltaLake存储原始+清洗后数据)。(3)数据处理模块:实时计算:Flink处理Kafka数据流,计算实时UV、下单转化率,结果写入HBase/Redis;离线计算:SparkSQL处理HDFS/Hive数据,每日凌晨跑批计算用户画像、销售报表;机器学习:用SparkMLlib训练用户分群模型,模型导出至PMML格式,供实时服务调用。(4)分析与可视化:实时看板:Grafana对接Prometheus,展示实时订单量、错误率;离线报表:Tableau/Superset连接Hive,提供用户分群、销售趋势报告;自助分析:通过Presto对数据湖进行即席查询,支持业务人员自定义分析。2.日志数据处理实现(以Spark为例):关键步骤:①读取日志数据:从HDFS/对象存储读取JSON日志,解析为DataFrame;②数据清洗:过滤无效记录(如status_code非数字、response_time为负);③时间窗口划分:按小时分组(基于timestamp字段);④错误率计算:统计每小时总请求数、4xx/5xx请求数,计算占比;⑤慢响应URL统计:过滤response_time>1s的记录,按URL分组计数,取TOP10。核心代码(Scala):```scalaimportorg.apache.spark.sql.{SparkSession,functions=>F}objectLogAnalysis{defmain(args:Array[String]):Unit={valspark=SparkSession.builder().appName("LogAnalysis").master("yarn").getOrCreate()importspark.implicits._//步骤1:读取JSON日志vallogDF=spark.read.json("hdfs:///logs/").select(F.from_unixtime(F.col("timestamp")/1000,"yyyy-MM-ddHH:00").as("hour"),//转换为小时级时间窗口F.col("user_id"),F.col("url"),F.col("status_code").cast("int").as("status_code"),//确保状态码为整数F.col("response_time").cast("double").as("response_time")//响应时间转换为数值)//步骤2:清洗数据(过滤无效状态码和负响应时间)valcleanedDF=logDF.filter(F.col("status_code").isNotNull&&F.col("status_code")>=100&&F.col("response_ti

温馨提示

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

评论

0/150

提交评论