版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年大数据基础试题及答案一、单项选择题(每题2分,共30分)1.以下哪项不属于大数据的“4V”特征?A.Volume(大量)B.Variety(多样)C.Velocity(高速)D.Validity(有效)答案:D2.HDFS默认的块大小是?A.32MBB.64MBC.128MBD.256MB答案:C3.Spark中RDD的“窄依赖”指的是?A.父RDD的一个分区只被一个子RDD的分区使用B.父RDD的多个分区被一个子RDD的分区使用C.子RDD的分区数少于父RDDD.子RDD的分区数多于父RDD答案:A4.以下哪个组件是Hadoop生态中用于资源管理和任务调度的?A.HDFSB.YARNC.MapReduceD.Hive答案:B5.数据仓库(DataWarehouse)的核心特点是?A.面向事务、实时更新、支持OLTPB.面向主题、集成、非易失、时变C.支持高并发读写、数据实时性强D.存储非结构化数据、模式灵活答案:B6.Kafka中,消费者组(ConsumerGroup)的主要作用是?A.保证消息按顺序消费B.实现消息的广播和负载均衡C.存储消息的元数据D.提高生产者的发送速率答案:B7.以下哪种数据库适合存储时序数据(如传感器实时采集的温度数据)?A.关系型数据库(MySQL)B.列存储数据库(HBase)C.时序数据库(InfluxDB)D.图数据库(Neo4j)答案:C8.数据清洗中处理“缺失值”的常用方法不包括?A.删除包含缺失值的记录B.用均值/中位数填充C.用随机数填充D.基于模型预测填充答案:C9.Flink中“事件时间(EventTime)”指的是?A.数据进入Flink系统的时间B.数据提供的实际时间(由数据源记录的时间戳)C.数据被处理完成的时间D.窗口触发计算的时间答案:B10.以下哪项是数据湖(DataLake)与数据仓库的主要区别?A.数据湖存储结构化数据,数据仓库存储非结构化数据B.数据湖在存储时定义模式(Schema-on-Write),数据仓库在使用时定义模式(Schema-on-Read)C.数据湖支持多类型数据存储,数据仓库以结构化数据为主D.数据湖仅用于分析,数据仓库用于事务处理答案:C11.Hive中,以下哪个语句用于将数据从本地文件系统加载到表中?A.INSERTINTOTABLEB.LOADDATALOCALINPATHC.CREATETABLEASSELECTD.ALTERTABLEADDPARTITION答案:B12.以下哪种技术用于解决分布式系统中的“数据倾斜”问题?A.增加Reducer数量B.对倾斜键进行随机加盐C.关闭推测执行(SpeculativeExecution)D.减少内存分配答案:B13.以下哪个指标用于衡量分类模型的“精确率”(Precision)?A.正确预测的正类样本数/所有预测为正类的样本数B.正确预测的正类样本数/所有实际为正类的样本数C.正确预测的样本数/总样本数D.正确预测的负类样本数/所有预测为负类的样本数答案:A14.云原生大数据平台(如AWSEMR、阿里云E-MapReduce)的核心优势是?A.完全替代传统本地部署的大数据集群B.按需弹性扩展、降低运维成本、支持混合云架构C.仅支持单一大数据组件(如仅Hadoop)D.数据存储成本远高于本地存储答案:B15.以下哪项是数据可视化的基本原则?A.尽可能使用3D图表提升视觉效果B.数据墨水比(Data-inkRatio)尽可能高(减少非数据元素)C.颜色种类越多越好,区分不同数据D.图表标题可以省略,通过注释说明答案:B二、填空题(每题2分,共20分)1.分布式文件系统HDFS的核心组件包括NameNode(管理元数据)和________(存储数据块)。答案:DataNode2.Spark的计算模型基于________(弹性分布式数据集),支持内存计算以提升效率。答案:RDD(ResilientDistributedDatasets)3.数据仓库的分层架构中,通常包括ODS(操作数据层)、DWD(细节数据层)、DWS(汇总数据层)和________(应用数据层)。答案:ADS(ApplicationDataService)4.Kafka的消息存储结构以________为基本单位,每个主题可划分为多个该结构以实现并行读写。答案:分区(Partition)5.数据清洗中,处理“异常值”的常用方法包括统计检验法(如Z-score)、________(如箱线图法)和基于模型的检测法。答案:可视化检查法6.Flink的时间窗口分为滚动窗口(TumblingWindow)、滑动窗口(SlidingWindow)和________(SessionWindow)。答案:会话窗口7.HBase的表由行键(RowKey)、列族(ColumnFamily)、列限定符(ColumnQualifier)、时间戳(Timestamp)和________组成。答案:值(Value)8.机器学习中,监督学习与无监督学习的主要区别是________是否包含标签(Label)。答案:训练数据9.数据湖的典型存储格式包括Parquet、ORC和________(一种列式存储格式)。答案:Avro10.分布式系统中,CAP定理指的是一致性(Consistency)、可用性(Availability)和________(PartitionTolerance)三者无法同时满足。答案:分区容错性三、简答题(每题8分,共40分)1.简述Hadoop生态中HDFS、YARN和MapReduce的分工与协作关系。答案:HDFS负责分布式存储,将大文件分割为块并存储在多个DataNode上,NameNode管理元数据;YARN负责资源管理和任务调度,包括ResourceManager(全局资源管理)和NodeManager(节点资源监控);MapReduce是计算框架,基于YARN分配的资源执行任务,将计算拆分为Map和Reduce阶段。协作时,MapReduce任务向YARN申请资源,YARN调度容器(Container)后,任务从HDFS读取数据,计算结果写回HDFS。2.数据清洗的主要任务有哪些?请列举至少4种常见问题及对应的处理方法。答案:数据清洗的主要任务是处理数据中的错误、不完整、不一致问题。常见问题及处理方法:(1)缺失值:删除少量缺失记录、用均值/中位数填充、模型预测填充;(2)异常值:通过Z-score或箱线图检测,修正或删除;(3)重复值:去重(如保留第一条或最后一条);(4)格式不一致:统一日期格式(如“2025/01/01”转为“2025-01-01”);(5)数据冗余:合并重复字段或删除冗余列。3.对比SparkRDD和DataFrame的区别,说明DataFrame的优势。答案:RDD是Spark的基础抽象,存储未结构化的Java/Scala对象,无模式信息;DataFrame是带有模式(Schema)的RDD,按列存储,类似关系型数据库的表。DataFrame的优势:(1)模式信息支持更高效的存储(如列存储)和查询优化(Catalyst优化器);(2)API更简洁(支持SQL和DSL),降低开发门槛;(3)内存占用更少(通过列式存储和编码压缩);(4)支持与外部数据源(如Hive、JDBC)的无缝集成。4.什么是“数据倾斜”?在MapReduce或Spark任务中,如何检测和解决数据倾斜?答案:数据倾斜指分布式任务中,部分节点处理的数据量远大于其他节点,导致任务延迟。检测方法:通过任务日志观察各Reducer/Executor的运行时间(如某节点运行时间远长于其他)、统计各键的数据量(如用countByKey查看分布)。解决方法:(1)预处理:对倾斜键进行拆分(如加盐),分散到多个任务;(2)调整并行度:增加Reducer/分区数,分散数据;(3)使用Combiner:在Map端提前聚合,减少Shuffle数据量;(4)切换算法:如用BroadcastJoin替代ShuffleJoin(小表广播)。5.简述实时数据处理与批量数据处理的区别,并举出典型应用场景。答案:区别:(1)数据处理时效性:实时处理(秒级或毫秒级),批量处理(分钟级、小时级或天级);(2)数据输入方式:实时处理通常为流数据(无界、持续输入),批量处理为静态文件(有界);(3)技术框架:实时处理用Flink、KafkaStreams,批量处理用HadoopMapReduce、SparkBatch;(4)资源使用:实时处理需持续占用资源,批量处理按需启动。典型场景:实时处理(电商大促时的实时销量监控、物联网设备实时告警);批量处理(每日用户行为分析报表、月度财务数据汇总)。四、应用题(共30分)1.某电商平台需要分析用户访问日志,日志格式为:时间戳(timestamp)、用户ID(user_id)、页面ID(page_id)、访问来源(referrer)。请设计一个基于Spark的批量处理流程,统计以下指标:(1)当日UV(独立访问用户数);(2)每个页面的访问次数(page_views);(3)用户访问来源的分布(如来自搜索引擎、直接访问、社交媒体的占比)。要求:写出关键步骤(如数据读取、转换、聚合)和对应的Spark代码示例(使用Scala语言)。(12分)答案:关键步骤:(1)读取日志数据:从HDFS或本地文件系统读取文本文件;(2)解析日志:将每行数据按分隔符(如逗号)切分为字段,过滤无效记录;(3)计算UV:提取user_id,去重后统计数量;(4)统计页面访问次数:按page_id分组,计数;(5)统计访问来源分布:按referrer分组,计数后计算占比。Spark代码示例:```scalaimportorg.apache.spark.sql.SparkSessionobjectLogAnalysis{defmain(args:Array[String]):Unit={valspark=SparkSession.builder().appName("EcommerceLogAnalysis").master("yarn")//或local[].getOrCreate()importspark.implicits._//1.读取日志数据vallogDF=spark.read.option("sep",",").csv("hdfs:///user/logs/2025-01-01.log").toDF("timestamp","user_id","page_id","referrer")//2.过滤无效记录(假设user_id非空)valvalidLogDF=logDF.filter($"user_id".isNotNull)//3.计算当日UVvaluv=validLogDF.select("user_id").distinct().count()println(s"当日UV:$uv")//4.统计每个页面的访问次数valpageViewsDF=validLogDF.groupBy("page_id").count().withColumnRenamed("count","page_views")pageViewsDF.show()//5.统计访问来源分布valtotal=validLogDF.count()valreferrerDistDF=validLogDF.groupBy("referrer").count().withColumn("percentage",$"count"/total100)referrerDistDF.show()spark.stop()}}```2.某物联网公司需实时监控传感器数据(每秒产生10万条记录),数据包含设备ID(device_id)、温度(temperature)、湿度(humidity)、时间戳(timestamp)。要求:当某设备的温度连续5秒超过30℃时,触发告警。请设计基于Flink的实时处理方案,写出关键步骤和核心代码逻辑(使用Java或Scala)。(10分)答案:关键步骤:(1)数据源:从Kafka读取传感器数据流;(2)数据解析:将JSON/CSV格式数据转换为事件对象;(3)分组:按device_id分组;(4)时间窗口:定义滑动窗口或基于事件时间的窗口,检测连续5秒的温度;(5)条件判断:窗口内温度均超过30℃时触发告警。Flink(Scala)核心代码逻辑:```scalaimportmon.eventtime.{WatermarkStrategy,TimestampAssigner}importorg.apache.flink.streaming.api.scala._importorg.apache.flink.streaming.api.windowing.assigners.SlidingEventTimeWindowsimportorg.apache.flink.streaming.api.windowing.time.TimecaseclassSensorData(deviceId:String,temperature:Double,humidity:Double,timestamp:Long)objectTemperatureAlert{defmain(args:Array[String]):Unit={valenv=StreamExecutionEnvironment.getExecutionEnvironment//从Kafka读取数据valkafkaSource=...//配置Kafka消费者valsensorStream=env.addSource(kafkaSource).map(data=>{//解析JSON数据为SensorData对象parseJson(data)}).assignTimestampsAndWatermarks(WatermarkStrategy.forBoundedOutOfOrderness(Duration.ofSeconds(2)).withTimestampAssigner((event:SensorData,_:Long)=>event.timestamp))//按设备分组,检测连续5秒超温valalertStream=sensorStream.keyBy(_.deviceId).window(SlidingEventTimeWindows.of(Time.seconds(5),Time.seconds(1)))//滑动窗口:5秒窗口,1秒滑动.process(newWindowProcessFunction[SensorData,String,String]{overridedefprocessWindow(key:String,context:Context,elements:Iterable[SensorData],out:Collector[String]):Unit={valallOver30=elements.forall(_.temperature>30.0)if(allOver30){out.collect(s"设备${key}温度连续5秒超过30℃,触发告警!")}}})alertStream.print()env.execute("TemperatureAlertJob")}defparseJson(json:String):SensorData={//JSON解析逻辑(示例)SensorData("device_001
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电信行业网络工程师副经理的职责与技能要求概览
- 车联网硬件维护策略和技术路线
- 医院行政主管的日常工作计划及要点
- 和睦家医院医生岗位的招聘面试技巧讲解
- 生活中数学小故事演讲稿
- 柯达全球化演讲稿素材
- 2025年AI视觉技术优化无人售货机售后服务体系
- 机器人对话演讲稿
- 山东男孩竞聘班长演讲稿
- 军人干部抗击疫情演讲稿
- 湖南商务职业技术学院2024年单招考试题目
- 光伏横板压块施工方案
- 2026年江西电力职业技术学院单招综合素质考试必刷测试卷附答案
- 2025年-《中华民族共同体概论》课程教学大纲-大连民族大学-新版
- 工厂保密培训课件
- 三级老年人能力评估师试题库与参考答案解析
- 麻醉质控课件
- 选煤厂电工考试题及答案
- ISO11137辐照灭菌剂量确认手册
- 煤矿运输培训知识课件
- 志愿者培训内容
评论
0/150
提交评论