2025年大数据工程师资格考试试题及答案_第1页
2025年大数据工程师资格考试试题及答案_第2页
2025年大数据工程师资格考试试题及答案_第3页
2025年大数据工程师资格考试试题及答案_第4页
2025年大数据工程师资格考试试题及答案_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

2025年大数据工程师资格考试试题及答案一、单项选择题(每题1分,共20分)1.在HDFS中,NameNode的主要职责是A.存储实际数据块B.管理文件系统元数据C.执行Map任务D.执行Reduce任务答案:B2.下列哪项不是Kafka的核心组件A.ProducerB.ConsumerC.BrokerD.JobTracker答案:D3.Spark中RDD的默认分区数由哪个参数决定A.spark.default.parallelismB.spark.executor.coresC.spark.task.cpusD.spark.shuffle.partitions答案:A4.在Flink的Checkpoint机制中,Barrier的作用是A.触发窗口计算B.隔离不同算子的状态C.对齐分布式快照D.控制数据流速答案:C5.使用Hive进行查询时,以下哪种文件格式支持谓词下推A.TextFileB.SequenceFileC.ORCD.JSON答案:C6.在HBase中,用于定位Region的元数据表名称是A..meta.B.ROOTC.hbase:metaD.zookeeper答案:C7.下列关于数据倾斜的描述,正确的是A.只会发生在Reduce阶段B.无法通过加盐解决C.可能导致个别Task执行时间过长D.对SparkSQL无影响答案:C8.在Scala中,下列哪个操作会触发SparkJobA.mapB.filterC.reduceD.persist答案:C9.使用Sqoop将MySQL数据导入Hive时,若目标表已存在且需追加数据,应添加参数A.createhivetableB.hiveoverwriteC.appendD.deletetargetdir答案:C10.在数据仓库分层架构中,DWD层的主要作用是A.保存原始日志B.保存明细事实C.保存汇总指标D.保存维度数据答案:B11.下列算法中,属于聚类算法的是A.AprioriB.DBSCANC.C4.5D.Adaboost答案:B12.在Elasticsearch中,用于实现精确匹配的查询类型是A.matchB.termC.rangeD.wildcard答案:B13.使用Pythonpandas读取10GBCSV文件时,最节省内存的做法是A.直接调用read_csvB.指定dtype与usecolsC.先采样再读取D.使用pickle格式答案:B14.在Kafka中,保证全局顺序的最优策略是A.增加分区数B.单分区+单消费者组C.提高replication因子D.启用压缩答案:B15.下列关于数据血缘的描述,错误的是A.可用于影响分析B.需要手动维护ExcelC.支持字段级追溯D.可集成Atlas答案:B16.在SparkMLlib中,特征标准化常用类是A.StandardScalerB.SQLTransformerC.BucketizerD.ChiSqSelector答案:A17.使用FlinkCEP检测连续3次登录失败,模式量词应写为A.oneOrMoreB.times(3)C.timesOrMore(3)D.followedBy答案:B18.在Hadoop3中,YARN资源调度器默认实现是A.FIFOB.FairSchedulerC.CapacitySchedulerD.DominantResource答案:C19.下列关于数据湖的说法,正确的是A.仅支持结构化数据B.schemaonreadC.必须基于HDFSD.不支持ACID答案:B20.在ClickHouse中,最适合做去重计算的函数是A.uniqB.countC.sumD.topK答案:A二、多项选择题(每题2分,共20分,多选少选均不得分)21.以下哪些属于Hive的复杂数据类型A.ARRAYB.MAPC.STRUCTD.UNION答案:ABC22.造成SparkShuffle文件溢写磁盘的原因包括A.map端聚合内存不足B.reduce端内存不足C.分区数过多D.开启动态资源分配答案:AB23.关于Flink的StateBackend,正确的有A.MemoryStateBackend速度快但易失B.FsStateBackend将状态写到文件系统C.RocksDBStateBackend支持增量CheckpointD.所有StateBackend都支持异步快照答案:ABC24.以下哪些操作会触发HDFS的元数据修改A.renameB.chmodC.appendD.getFileBlockLocations答案:ABC25.在Kafka中,ConsumerRebalance发生的时机有A.消费者加入组B.消费者离开组C.分区数增加D.消息格式升级答案:ABC26.使用pandas进行数据清洗时,处理缺失值的方法包括A.dropnaB.fillnaC.interpolateD.merge答案:ABC27.以下属于Hadoop3新特性的有A.ErasureCodingB.YARN联邦C.MapReduce自动调优D.支持GPU资源调度答案:ABD28.在数据仓库缓慢变化维(SCD)处理中,类型2的做法包括A.新增行记录历史B.增加生效时间戳C.覆盖原值D.增加版本号答案:ABD29.以下哪些指标可用于评估分类模型A.AUCB.F1scoreC.MAED.LogLoss答案:ABD30.使用Airflow进行任务调度时,可实现的依赖策略有A.时间依赖B.外部任务传感器C.文件存在传感器D.邮件依赖答案:ABC三、填空题(每空1分,共20分)31.在Spark中,每个RDD包含5大属性,其中描述计算逻辑的属性是________。答案:dependencies32.HDFS默认块大小为128MB,若文件大小为1GB,则理论最少需要________个块。答案:833.Kafka消息保留策略由参数log.retention.hours和________共同决定。答案:log.retention.bytes34.Flink窗口函数中,增量聚合函数需实现AggregateFunction接口,其accumulate方法第一个参数类型为________。答案:Accumulator35.Hive中,将字符串转换为时间戳的函数是________。答案:unix_timestamp36.在ClickHouse里,MergeTree引擎排序键通过________子句指定。答案:ORDERBY37.Elasticsearch集群健康状态为yellow,表示________分片未分配。答案:副本38.使用Sqoop导出Hive表到MySQL时,需指定________参数指明导出目录。答案:exportdir39.pandas的Categorical类型可显著降低内存,其底层使用________编码。答案:整数40.Hadoop3的ErasureCoding策略RS631024k中,数据块与校验块比例是________。答案:6:341.SparkSQL中,创建全局临时视图应调用createGlobalTempView并加上数据库名________。答案:global_temp42.HBase行键设计应避免________热点,常用方式如加盐或反转。答案:Region43.Airflow的DAG文件默认需要放在目录________下。答案:dags44.在FlinkSQL里,声明事件时间属性需使用________语句。答案:WATERMARK45.数据仓库事实表分为事务型、周期快照型和________快照型。答案:累积46.使用Python连接Kafka生产消息,需导入的核心类是________。答案:KafkaProducer47.SparkMLlib中,交叉验证类CrossValidator的评估指标通过________设置。答案:evaluator48.在Linux中,查看HDFS目录大小的命令是hdfsdfsdu________。答案:h49.ORC文件格式支持三种压缩算法:NONE、ZLIB和________。答案:SNAPPY50.数据治理元数据标准ISO11179中,元数据注册表的核心对象是________。答案:DataElement四、判断题(每题1分,共10分,正确写“T”,错误写“F”)51.Spark的transform操作是惰性执行的。答案:T52.Kafka的每个分区只能被一个消费者组内的一个消费者消费。答案:T53.HBase中列族数量越多,性能越好。答案:F54.Flink的Checkpoint屏障一定会导致数据延迟。答案:F55.HiveonTez模式下,SQL仍可回退到MapReduce引擎。答案:T56.Elasticsearch分片数一旦创建不可修改。答案:T57.pandas的apply方法比矢量化操作更快。答案:F58.Hadoop的NameNodeHA通过QJM共享编辑日志。答案:T59.ClickHouse支持高并发事务更新。答案:F60.数据湖与数据仓库无法在同一企业共存。答案:F五、简答题(共30分)61.简述MapReduce中Shuffle阶段的具体流程,并指出数据倾斜的常见优化手段。(6分)答案:Shuffle阶段包括Map端溢写、分区、排序、合并、归并,以及Reduce端拷贝、归并排序。优化手段:1.自定义分区函数,打散热点key;2.增加reduce任务数,降低单任务负载;3.对key加盐,局部聚合后再去盐;4.启用combiner减少网络传输;5.使用MapJoin将小表广播到内存,避免reduce。62.说明Flink的ExactlyOnce语义实现原理,并对比至少两种端到端一致性方案。(6分)答案:原理:基于分布式快照(Checkpoint)+Barrier对齐+状态回滚;Source需可重放,Sink需支持幂等或两阶段提交。方案对比:1.幂等Sink:依赖主键去重,实现简单,但需业务支持;2.两阶段提交:预提交+正式提交,通用性强,需外部事务支持,延迟略高;3.WAL日志:先写日志再写业务库,保证可恢复,但增加IO。63.列举HiveSQL常见的四种Join操作,并说明何时会触发MapJoin。(6分)答案:Join类型:CommonJoin、MapJoin、SortMergeBucketJoin、SkewJoin。触发MapJoin条件:1.小表大小小于参数hive.mapjoin.smalltable.filesize(默认25MB);2.手动提示/+MAPJOIN(table)/;3.自动优化开关hive.auto.convert.join=true;4.小表可被加载到内存。64.描述数据仓库分层架构(ODS→DWD→DWS→ADS)中各层职责,并给出每层表命名规范示例。(6分)答案:ODS:原始数据,不做清洗,表名ods_业务_表名,如ods_order_info;DWD:明细事实,统一格式,表名dwd_主题_描述,如dwd_trade_order_detail;DWS:公共汇总,日/周/月粒度,表名dws_主题_周期_汇总,如dws_trade_daily_summary;ADS:应用层指标,面向需求,表名ads_场景_指标,如ads_dashboard_gmv_daily。65.说明SparkStreaming与StructuredStreaming在编程模型、容错机制、语义保证三方面的差异。(6分)答案:编程模型:前者基于DStream的RDDAPI,后者基于DataFrame/Dataset的SQL风格;容错:前者依赖WAL+Checkpoint,后者依赖Checkpoint+Offset管理;语义:前者最多一次或至少一次,后者支持ExactlyOnce通过Sink幂等或两阶段提交。六、应用题(共50分)66.综合计算题(12分)某电商公司每天产生100亿条订单日志,单条日志约0.5KB,存储周期30天,采用HDFS三副本+ErasureCoding策略RS631024k,压缩比1:4,计算所需裸容量并给出存储规划。答案:原始数据量=100×10^8×0.5KB=50TB/天;30天总量=50×30=1500TB;压缩后=1500/4=375TB;三副本容量=375×3=1125TB;RS63冗余率=1.5,EC容量=375×1.5=562.5TB;节省比例=(1125562.5)/1125=50%;规划:热数据7天用三副本保证实时,冷数据23天用EC,节点采用12×8TBSATA,每节点可用容量≈80TB,需节点ceil(562.5/80)=8台,考虑20%余量,最终10台。67.SQL分析与调优(12分)给定订单表order(oid,uid,amount,dt)30亿行,分区字段dt,用户维表user(uid,level)5000万行。业务SQL:selectu.level,sum(amount)fromorderojoinuseruono.uid=u.uidwheredtbetween'20250601'and'20250607'groupbyu.level;执行耗时2小时,数据倾斜,某level=‘A’占60%。请给出完整调优步骤与改写后SQL。答案:步骤:1.过滤下推:先对order做分区裁剪,减少至7个分区;2.对user表广播,设置hive.auto.convert.join=true,阈值调为1GB;3.对倾斜key加盐:改写SQL:selectlevel,sum(amount)from(select/+MAPJOIN(u)/casewheno.uid_level='A'thenconcat('A_',floor(rand()10))elseo.uid_levelendaslevel,amountfrom(selectuid,amount,casewhenuidin(selectuidfromuserwherelevel='A')then'A'elselevelendasuid_levelfromorderwheredtbetween'20250601'and'20250607')ojoinuseruono.uid_level=u.level)tmpgroupbylevel;4.两阶段聚合:先局部groupbylevel,盐,再全局groupbylevel;5.调整reduce数=1000,避免长尾;6.开启压缩,ORC+SNAPPY;7.统计信息analyze表;实测耗时降至8分钟。68.实时风控系统设计(13分)需求:每秒10万订单,30秒内同一IP若连续3次不同UID下单,则触发风控。要求:1.画出基于Flink的架构图(文字描述);2.给出核心CEP代码片段;3.说明如何保证ExactlyOnce端到端。答案:架构:OrderApp→Kafka(Topic:order,100partition)→FlinkSource→KeyByIP→CEPPattern→SinkKafka(alert)→风控服务。CEP代码:Pattern<Order>pattern=Pattern.<Order>begin("first").where(r>true).next("second").where(newIterativeCondition<Order>(){publicbooleanfilter(Orderr,Context<Order>ctx){return!r.getUid().equals(ctx.getEventsForPattern("first").iterator().next().getUid());}}).next("third").where(newIterativeCondition<Order>(){publicbooleanfilter(Orderr,Context<Order>ctx){return!r.getUid().equals(ctx.getEventsForPattern("second").iterator().next().getUid());}}).within(Time.seconds(30));DataStream<Alert>alert=CEP.pattern(orderStream,keySelector,pattern).process(newPatternProcessFunction<Order,Alert>(){...});ExactlyOnce:Source端Kafka启用Checkpoint,commitOffset方式设为Checkpoint;Sink端Kafka采用TwoPhaseCommitSinkFunction,预提交到事务,Checkpoint成功再正式提交;Checkpoint间隔5秒,超时1分钟,开启RocksDB增量快照,外部Kafka事务超时>Checkpoint最大超时。69.机器学习建模与评估(13分)给定样本5000万行,特征100维,二分类,正负比例1:99,采用SparkMLlib。任务:1.给出处理样本不平衡的两种方案及代码;2.选择评估指标并解释原因;3.画出ROC曲线计算流程(文字描述)。答案:方案:A.欠采样:负采样到100万,保持正样本50万,代码:valnegative=df.filter("label==0").sample(0.02)valpositive=df.filter("label==1")valbalanced=negative.union(positive)B.加权:valratio=df.groupBy("label").count.collect.map(r=>r.getLong(0)>r.getLong(1)).toMapvaltotal=ratio.values.sumvalweighted=df.withColumn("weight",when(col("label")===1,total/(2ratio(1))).otherwise(total/(2ratio(0))))训练时setWeightCol("weight")评估指标:采用AUCPR,因正负极度不平衡,PR曲线更敏感;同时报告F1@threshold通过PR曲线最优阈值。ROC流程:1.预测概率降序排序;2.遍历阈值,计算TPR=TP/P,FPR=FP/N;3.收集点(TPR,FPR);4.梯形面积累加得AUC;5.调用BinaryClas

温馨提示

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

评论

0/150

提交评论