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

付费下载

下载本文档

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

文档简介

2025年大数据工程师执业资格考试试题及答案解析一、单项选择题(每题1分,共20分。每题只有一个正确答案,请将正确选项字母填入括号内)1.在HDFS中,默认块大小为128MB。若某文件大小为650MB,则其会被切分成几个块()A.4B.5C.6D.7答案:C解析:650÷128≈5.08,向上取整得6块。2.SparkCore的RDD采用何种容错机制()A.检查点B.预写日志C.血统(Lineage)D.多副本答案:C解析:RDD通过血统信息实现容错,丢失分区可依据血统重新计算。3.Kafka中保证同一分区消息全局有序的配置是()A.acks=allB.enable.idempotence=trueC.max.in.flight.requests.per.connection=1D.retries>0答案:C解析:该参数限制客户端在途请求数为1,避免重试导致乱序。4.在Flink的时间语义中,EventTime的最小必要配置是()A.设置并行度B.指定Watermarks生成策略C.开启CheckpointD.禁用OperatorChain答案:B解析:EventTime必须依赖Watermarks处理乱序。5.Hive中,以下哪种文件格式支持行级索引()A.TextFileB.SequenceFileC.ORCD.CSV答案:C解析:ORC内置行组索引与布隆过滤器,可快速跳过无关数据。6.若某分类模型在测试集上Precision=0.9,Recall=0.8,则F1值为()A.0.85B.0.844C.0.866D.0.889答案:B解析:F1=2PR/(P+R)=2×0.9×0.8/(0.9+0.8)≈0.844。7.在Scala中,以下哪段代码可正确创建SparkSession()A.newSparkSession()B.SparkSession.builder().getOrCreate()C.SparkContext.getOrCreate()D.sqlContext.sparkSession答案:B解析:Spark2.x之后统一入口为SparkSession.builder()。8.HBase的RowKey设计应避免()A.散列B.时间戳前置C.加盐D.反转答案:B解析:时间戳前置易导致热点,写入集中。9.使用MapReduce默认HashPartitioner时,Reducer数量由哪个参数决定()A.mapreduce.job.mapsB.mapreduce.job.reducesC.mapreduce.task.io.sort.mbD.mapreduce.map.memory.mb答案:B解析:reduces参数直接决定Reducer个数。10.在数据仓库分层中,DWD层主要保存()A.原始日志B.明细事实C.维度表D.汇总指标答案:B解析:DWD(DataWarehouseDetail)清洗后的明细事实。11.以下关于数据倾斜的描述正确的是()A.只会发生在Shuffle阶段B.可通过两阶段聚合缓解C.增加并行度必然解决D.与业务数据分布无关答案:B解析:两阶段聚合(局部聚合+全局聚合)是常用缓解手段。12.在Pythonpandas中,将DataFramedf的列col按值降序排列并取前10%的行,正确写法是()A.df.sort_values('col').head(int(len(df)0.1))B.df.sort_values('col',ascending=False).head(int(len(df)0.1))C.df.nlargest(int(len(df)0.1),'col')D.B和C均可答案:D解析:nlargest语义清晰,B写法同样正确。13.某电商表order(user_id,sku_id,amt),计算每个用户最大单次成交金额,SQL写法为()A.selectuser_id,max(amt)fromordergroupbyuser_id;B.selectuser_id,amtfromorderwhereamt=max(amt);C.selectuser_id,top1(amt)fromorder;D.selectuser_id,amtfromordergroupbyuser_idhavingamt=max(amt);答案:A解析:聚合函数max配合groupby即可。14.在Airflow中,任务依赖A完成后触发B,正确声明为()A.B.set_upstream(A)B.A.set_downstream(B)C.A>>BD.以上都对答案:D解析:三种写法等价。15.以下哪种压缩算法支持切片(Splittable)()A.GzipB.Bzip2C.LZO(建立索引后)D.Snappy答案:C解析:LZO需额外建索引才能切片。16.在Elasticsearch中,对text字段进行精确匹配应使用()A.termB.matchC.match_phraseD.query_string答案:A解析:term查询不做分词,用于精确值。17.若某Spark任务提交参数executormemory4gexecutorcores2,集群共64核,则最多可启动多少个Executor()A.32B.16C.64D.与内存无关答案:A解析:64核÷2核/Executor=32;内存侧32×4g=128g,未超限即可。18.数据治理元数据中,血缘(Lineage)属于()A.业务元数据B.技术元数据C.操作元数据D.管理元数据答案:B解析:血缘描述数据流转,属于技术元数据。19.在AWS中,适合存放海量冷数据且延迟不敏感的对象存储级别是()A.S3StandardB.S3IAC.GlacierDeepArchiveD.EFS答案:C解析:DeepArchive成本最低,检索小时级。20.以下关于数据湖的说法错误的是()A.先定义schema后写入数据B.可存储原始格式C.支持多引擎分析D.与数据仓库可互补答案:A解析:数据湖主张schemaonread,写入时不强制schema。二、多项选择题(每题2分,共20分。每题至少有两个正确答案,多选、少选、错选均不得分)21.关于YARN容量调度器(CapacityScheduler)的特性,正确的有()A.支持队列层级B.支持资源抢占C.支持FIFOD.支持动态自动扩缩容答案:AB解析:容量调度器支持层级队列与抢占,不支持FIFO(FIFO为默认单机调度),动态扩缩容需外部机制。22.以下属于FlinkCheckpoint持久化到HDFS所需配置的有()A.state.backend:filesystemB.state.checkpoints.dir:hdfs://...C.erval:30sD.jobmanager.execution.failoverstrategy:region答案:ABC解析:D为故障恢复策略,与持久化无关。23.造成Hive表查询小文件过多的原因包括()A.动态分区插入B.Reduce数量过多C.文本格式存储D.上游Flume滚动策略过小答案:ABD解析:文本格式本身不直接产生小文件,关键在写入端。24.关于数据倾斜的监控指标,可在SparkUI中观察到的有()A.TaskDurationB.ShuffleReadSizeC.GCTimeD.RecordsRead答案:ABD解析:GCTime与倾斜无直接对应关系。25.以下Python代码可正确实现矩阵相乘MatA(m×n)与B(n×p)得到C(m×p)的有()A.C=[[sum(abfora,binzip(row,col))forcolinzip(B)]forrowinA]B.C=np.dot(A,B)C.C=A@BD.C=AB答案:ABC解析:D为逐元素乘。26.关于KafkaConsumerRebalance过程,正确的有()A.触发条件包括消费者加入或退出B.使用Coordinator协调C.采用Range或RoundRobin策略D.再均衡期间消费暂停答案:ABCD解析:再均衡会暂停拉取。27.以下属于数据质量维度的是()A.准确性B.一致性C.时效性D.可扩展性答案:ABC解析:可扩展性为架构维度。28.在SparkSQL中使用窗口函数时,必须配合的子句有()A.PARTITIONBYB.ORDERBYC.ROWSBETWEEND.OVER答案:D解析:OVER必须,其余视需求。29.以下做法能够提升HBase读取性能的有()A.开启BlockCacheB.设置BloomFilterC.缩小RowKey长度D.关闭WAL答案:ABC解析:关闭WAL仅提升写入,且牺牲可靠性。30.关于数据安全GDPR合规,正确的有()A.数据可携带权B.被遗忘权C.需任命DPOD.罚款上限为4%全球营收答案:ABCD解析:均为GDPR条款。三、填空题(每空2分,共20分)31.Spark任务中,每个Partition默认对应________个Task。答案:132.在Linux下,查看某目录下各子目录磁盘使用空间的命令是________。答案:duhmaxdepth=133.HBase中,用于查看表结构的shell命令是________。答案:describe'tableName'34.MySQL中,查看慢查询是否开启的变量名是________。答案:slow_query_log35.若某决策树最大深度为5,则其最多有________层节点。答案:6(含根节点)36.Elasticsearch集群中,默认主分片数为________。答案:537.在Airflow的DAG文件中,任务默认触发方式为________。答案:SequentialExecutor(或depends_on_past=true亦可,标准空填SequentialExecutor)38.Kafka的log.retention.hours参数默认值为________小时。答案:16839.若某表每日增量2GB,保留365天,采用LZO压缩比0.25,则理论磁盘占用约________GB。答案:182(2×0.25×365)40.在Scala中,惰性求值的关键字为________。答案:lazy四、简答题(共25分)41.(开放型,10分)简述Lambda架构与Kappa架构的核心差异,并给出各自适用场景。答案:Lambda架构将离线(批)与实时(速)路径分离,分别写入服务层,查询时合并结果;优点为批层可修复实时误差,缺点为两套代码维护复杂。Kappa架构仅保留流路径,通过重放消息队列完成历史数据计算;简化代码,但对消息队列持久化与重放能力要求高,且复杂离线迭代计算性能不足。适用场景:Lambda——金融对账、报表等强一致性修复需求;Kappa——日志实时分析、监控告警等以最新数据为主的场景。42.(封闭型,8分)说明SparkSQL中CBO(CostBasedOptimization)的触发条件及主要优化策略。答案:触发条件:1.spark.sql.cbo.enabled=true;2.收集表/列统计信息(ANALYZETABLECOMPUTESTATISTICS);3.参与优化的表为Hivemetastore管理。优化策略:1.多表连接重排序,选择最小代价顺序;2.动态调整广播join阈值,优先广播小表;3.基于列统计推导过滤后行数,优化后续算子并行度;4.消除不必要的排序与重分区。43.(开放型,7分)列举三种降低Flink作业端到端延迟的配置手段,并给出潜在代价。答案:1.缩短checkpoint间隔:延迟降低,但HDFS压力增大,反压风险上升;2.使用atmostonce语义:延迟最低,但可能丢数据;3.降低算子并行度链断点:减少序列化开销,但可能牺牲吞吐量;4.启用buffertimeout=0:立即刷新数据,增加网络小包数量,CPU负载升高。五、应用题(共65分)44.(计算类,15分)某电商公司2024年订单表order(order_id,user_id,sku_id,price,qty,order_date)存储于Hive,数据量约500亿行,采用ORC+ZLIB压缩,单文件256MB。现需统计近30天“用户累计消费满1000元且订单数≥5”的合格用户,并每日更新。(1)给出增量计算思路,要求避免全表扫描;(2)写出核心SQL(含分区过滤);(3)评估每日增量数据量级对性能的影响并给出优化参数。答案:(1)建立分区表order_ptn(order_datestring)按日分区;每日凌晨基于order_ptnwhereorder_datebetweendate_sub(current_date,29)andcurrent_date扫描30个分区;结果表user_threshold(user_id,total_amt,order_cnt,dt)按dt分区,每日覆盖;采用MERGEINTO或InsertOverwrite。(2)```sqlinsertoverwritetableuser_thresholdpartition(dt='20250625')selectuser_id,sum(priceqty)astotal_amt,count()asorder_cntfromorder_ptnwhereorder_datebetween'20250526'and'20250625'groupbyuser_idhavingtotal_amt>=1000andorder_cnt>=5;```(3)假设日新增2亿行,ORC压缩比0.2,约40GB;开启CBO,设置hive.exec.parallel=true,hive.exec.dynamic.partition=true,map任务数≈40GB/256MB≈160,合理;若数据倾斜,可二次聚合:先按user_id局部聚合,再全局汇总。45.(分析类,20分)某SparkStreaming作业消费Kafka,每秒1万条JSON,每条约2KB,处理窗口10s,使用checkpoint到HDFS。近期出现批次延迟递增,观察Driver日志显示“Batch20250620T14:00:00Z”处理耗时120s,远高于平均10s。(1)给出定位步骤;(2)列举三项根因并给出验证方法;(3)给出对应调优措施。答案:(1)步骤:a.SparkUI查看该批次Stage耗时,定位最慢Stage;b.分析Task级别Metrics,发现某Task处理记录数远大于平均(倾斜);c.检查GC日志是否FullGC频繁;d.查看KafkaLag是否突增。(2)根因与验证:1.数据倾斜——Task记录数分布箱线图,某分区>95%分位数;2.单条JSON膨胀——采样发现部分消息>10MB,导致反序列化耗时;3.checkpoint目录小文件过多——HDFScount小文件>10万,写耗时增加。(3)调优:1.倾斜key加盐+两阶段聚合;2.限制Kafka单条消息最大1MB,超大数据走离线;3.checkpoint设置spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version=2,合并小文件,或切换至S3Guard。46.(综合

温馨提示

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

评论

0/150

提交评论