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

付费下载

下载本文档

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

文档简介

2025年大数据工程师职业资格考试试卷及答案一、单项选择题(每题1分,共20分。每题只有一个正确答案,请将正确选项字母填在括号内)1.在Hadoop生态中,负责资源管理与任务调度的组件是()A.HDFS B.YARN C.MapReduce D.Hive答案:B2.下列关于KafkaPartition的描述,错误的是()A.每个Partition内部消息有序 B.Partition数量一旦创建不可修改C.消费者组内每个消费者只能读取一个Partition D.Partition副本之间采用LeaderFollower机制答案:B3.SparkRDD的宽窄依赖划分中,下列操作属于宽依赖的是()A.map B.filter C.union D.groupByKey答案:D4.在Flink的时间语义中,EventTime的乱序处理主要依赖()A.ProcessingTime B.Watermark C.Window D.Trigger答案:B5.使用Hive进行分区表查询时,为提高分区裁剪效率,应优先使用的关键字是()A.CLUSTERBY B.DISTRIBUTEBY C.PARTITIONEDBY D.SORTBY答案:C6.在HBase中,用于实现行级事务的原子性的机制是()A.WAL B.MemStore C.HFile D.LSMTree答案:A7.下列关于数据湖与数据仓库的对比,正确的是()A.数据湖只支持结构化数据 B.数据仓库SchemaonWriteC.数据湖不支持ACID事务 D.数据仓库优先采用对象存储答案:B8.在SparkSQL中,将DataFrame注册为临时视图的API是()A.cache() B.persist() C.createOrReplaceTempView() D.registerTable()答案:C9.使用Scala编写Spark程序时,下列哪个操作会立即触发作业提交()A.flatMap B.reduceByKey C.take D.mapPartitions答案:C10.在Elasticsearch中,用于实现近似聚合的数据结构是()A.InvertedIndex B.BKDTree C.HyperLogLog D.ColumnarStore答案:C11.关于数据倾斜的解决策略,下列做法无效的是()A.两阶段聚合 B.随机前缀扩容 C.增加Reducer数量 D.提高副本因子答案:D12.在Airflow中,用于定义任务之间依赖关系的核心对象是()A.Sensor B.DAG C.Operator D.Hook答案:B13.下列关于Parquet文件格式的描述,正确的是()A.行式存储 B.不支持嵌套数据 C.支持谓词下推 D.压缩比低于CSV答案:C14.在SparkStreaming中,实现ExactlyOnce语义的关键条件是()A.启用checkpoint B.使用mapWithState C.幂等写出 D.关闭推测执行答案:C15.使用HDFS命令上传本地文件到指定目录,正确的是()A.hdfsdfsputlocalPathhdfsPath B.hdfsdfscopylocalPathhdfsPathC.hdfsdfsmvlocalPathhdfsPath D.hdfsdfscplocalPathhdfsPath答案:A16.在Presto中,跨数据源Join的实现依赖于()A.HiveMetastore B.ConnectorAPI C.CostBasedOptimizer D.WorkerWorker直连答案:B17.下列关于数据血缘的描述,错误的是()A.可用于影响分析 B.只能捕获表级血缘 C.支持字段级追溯 D.辅助数据治理答案:B18.在FlinkCEP库中,定义连续事件模式的核心类是()A.Pattern B.StreamGraph C.CoFlatMap D.AsyncFunction答案:A19.使用Scala调用SparkMLlib训练GBDT模型时,需要设置的参数是()A.maxDepth B.numTrees C.stepSize D.k答案:A20.在数据质量监控中,用于衡量字段空值比例的指标是()A.Completeness B.Consistency C.Timeliness D.Validity答案:A二、多项选择题(每题2分,共20分。每题有两个或两个以上正确答案,请将所有正确选项字母填在括号内,漏选、错选均不得分)21.下列属于NoSQL数据库CAP权衡中偏向AP的系统有()A.MongoDB B.HBase C.Cassandra D.DynamoDB答案:ACD22.在Spark作业调优中,可能导致OOM的原因包括()A.使用collect() B.广播变量过大 C.Shuffle分区数过少 D.启用动态资源分配答案:ABC23.关于HiveLLAP(LowLatencyAnalyticalProcessing)的特性,正确的有()A.常驻守护进程 B.使用列式缓存 C.支持事务 D.完全替代Tez答案:ABC24.在Kafka中,保证消息不丢的配置包括()A.acks=all B.retries>0 C.enable.idempotence=true D.max.in.flight.requests.per.connection=5答案:ABC25.下列属于FlinkCheckpoint组成部分的有()A.JVMHeap B.StreamState C.SourcePosition D.OperatorState答案:BCD26.使用HBaseRowKey设计时,应遵循的原则有()A.散列性 B.短长度 C.有序性 D.可逆性答案:ABC27.在数据治理体系中,属于数据标准管理内容的有()A.字段命名规范 B.码值映射表 C.主数据定义 D.数据质量规则答案:ABCD28.下列关于DeltaLake的描述,正确的有()A.支持ACID B.提供TimeTravel C.基于HDFS存储 D.完全兼容Hive语法答案:ABC29.在PrestoSQL中,支持动态过滤的场景有()A.InnerJoin B.BroadcastJoin C.PartitionedJoin D.SemiJoin答案:ABC30.使用Elasticsearch进行聚合分析时,可用于嵌套聚合的类型有()A.Terms B.Histogram C.TopHits D.Pipeline答案:ABCD三、填空题(每空1分,共20分。请在横线上填写正确答案)31.HDFS默认块大小为128MB,在hadoop3.x中可支持的最大块大小为____GB。答案:132.SparkSQL默认的Shuffle分区数为____。答案:20033.Kafka0.10之后,消费者偏移量默认存储在Kafka内部的____Topic。答案:__consumer_offsets34.Flink的Checkpoint超时时间由参数____控制。答案:checkpoint.timeout35.Hive中,用于查看表分区信息的命令是SHOW____。答案:PARTITIONS36.HBase中,用于批量导入数据并绕过WAL的工具是____。答案:BulkLoad37.在数据仓库分层模型中,DWD层的中文含义是____。答案:明细数据层38.Parquet文件使用____编码对重复值进行压缩。答案:RLE/Dictionary(任一即可)39.Elasticsearch默认的最大返回条数由参数index.max_result_window控制,默认值为____。答案:1000040.Airflow中,任务实例状态为upstream_failed表示____。答案:上游任务失败41.Spark的RPC框架基于____网络库实现。答案:Netty42.在Scala中,惰性求值的集合类型是____。答案:Stream43.Hadoop3.x引入的联邦特性叫做HDFS____。答案:Federation44.Flink的窗口起始偏移由____参数决定。答案:offset45.Presto的Coordinator与Worker之间采用____协议通信。答案:HTTP46.数据质量维度中,衡量同一数据在多系统中含义一致的指标是____。答案:一致性47.GBDT算法中,用于防止过拟合的参数是____。答案:learning_rate/subsample/max_depth(任一即可)48.在Kafka中,Producer发送消息时,若指定了Key,则分区选择器默认使用____算法。答案:Hash49.DeltaLake的Compaction操作在Spark中调用____方法。答案:optimize50.使用HDFS命令查看目录大小时,需要添加的参数是____。答案:du四、简答题(共6题,每题10分,共60分)51.(封闭型)简述MapReduce中Shuffle阶段的具体流程,并指出其性能瓶颈。答案:Shuffle阶段包括Map端溢写、分区、排序、合并、Reduce端拷贝、归并排序。瓶颈:1.磁盘IO频繁:Map端多次溢写、Reduce端归并。2.网络IO:大量中间数据跨节点传输。3.内存压力:Map端缓冲区固定比例,易触发溢写。4.排序开销:默认按键排序,CPU密集。优化手段:Combiner、压缩、调整io.sort.factor、增大Map缓冲区、使用ShuffleService。52.(开放型)某电商公司日增日志6TB,需实时统计分省份订单金额Top10。请给出技术选型、架构图文字描述及ExactlyOnce实现要点。答案:技术选型:Kafka+Flink+Redis+MySQL。架构:1.日志采集:Filebeat→KafkaTopic(order_log)48Partition。2.流计算:Flink1.17,EventTime+Watermark允许乱序5min,滑动窗口10min/5min,KeyBy省份,预聚合金额。3.状态后端:RocksDB+IncrementalCheckpoint到HDFS,间隔1min,超时5min。4.输出:异步压缩写RedisSortedSet,设置TTL20min;同时写MySQL供离线校验。ExactlyOnce:1.Source:KafkaConsumer设置隔离级别read_committed,Checkpoint保存Offset。2.Sink:Redis使用幂等更新(ZADD覆盖),MySQL采用可重复写入的INSERT…ONDUPLICATEKEYUPDATE。3.两阶段提交:Flink1.17内置TwoPhaseCommitSinkFunction,预提交阶段flush,Checkpoint成功后再commit。4.监控:FlinkMetrics+Prometheus,报警Checkpoint失败次数>2。53.(封闭型)给出HBaseRowKey热点问题的产生原因及三种以上解决方案。答案:原因:RowKey连续递增(如时间戳、自增ID),导致写请求集中在一台RegionServer。方案:1.加盐:在RowKey前加随机哈希前缀,写时分散,读时需并行Scan所有前缀再合并。2.反转:将时间戳反转,将高位变低位,打散顺序。3.预分区:根据业务键值范围预先切分Region,避免自动Split。4.哈希:对关键字段取哈希后作为RowKey前缀,保证均匀分布。5.字段交换:将用户ID与事件时间位置互换,利用用户天然离散性。54.(开放型)描述一次SparkSQL执行大表Join小表出现数据倾斜的完整定位与调优过程。答案:定位:1.查看Stage详情,发现某Reducer处理数据量远大于其他节点(SparkUI→Stage→ShuffleReadSize)。2.查看倾斜Key:在SQL末尾添加DISTRIBUTEBYrand()临时解决,确认总时长下降,说明倾斜。3.采样:对两表按JoinKey分组,统计行数,找出Top10热点Key。调优:1.广播Join:小表<30MB,使用broadcasthint,规避Shuffle。2.拆分热点:将热点Key单独提取成临时表,走MapSideJoin,剩余Key走普通Join,结果Union。3.两阶段聚合:先对热点Key加随机前缀扩容,Join后再去掉前缀聚合。4.调整Shuffle分区:将spark.sql.shuffle.partitions从200提升到1000,降低单分区数据量。5.增加倾斜Key副本:在逻辑计划层面对热点Key复制多份,分散到不同Reducer,最后在外层再聚合。验证:Stage耗时从8min降至1.2min,单节点峰值从2.3GB降至180MB,任务成功。55.(封闭型)列举Flink的三种时间语义,并给出各自适用场景。答案:1.ProcessingTime:机器系统时间,适用于延迟极低、可接受近似结果的场景,如实时监控大屏。2.EventTime:事件自带时间戳,适用于乱序日志、订单等需准确统计的场景。3.IngestionTime:进入FlinkSource的时间,介于两者之间,适用于无法获取EventTime但又想容忍一定乱序的场景。56.(开放型)说明数据仓库分层模型(ODS→DWD→DWS→ADS)中各层职责,并给出电商场景下“用户支付成功”主题从ODS到ADS的字段变化示例。答案:ODS:原始快照,字段与业务库完全一致,如order_id,user_id,status,pay_time,amount,db_time。DWD:明细清洗,过滤status<>‘支付成功’,统一时区,字段:order_id,user_id,pay_time,amount,dt。DWS:汇总层,按用户+日期聚合,字段:user_id,dt,pay_succ_cnt,pay_succ_amt。ADS:应用层,面向报表,字段:user_id,user_name,total_pay_amt_30d,rank_30d,dt。变化:字段从22个→8个→5个→4个,粒度从订单→用户+日→用户+30天,数据量从亿级→千万→百万→十万。五、应用题(共4题,每题20分,共80分)57.(计算类)某互联网公司使用Spark处理点击日志,日志字段:user_id,item_id,ts,city。数据量500GB,存储于HDFS(Snappy压缩)。需求:计算每个城市每日UV、PV、点击率(PV/UV)。请写出完整SparkScala代码,要求:1.使用EventTime,窗口为1天,允许乱序30min;2.输出为Parquet,按天分区;3.资源参数:Executor4core16GB,目标并行度800。答案:importorg.apache.spark.sql.SparkSessionimportorg.apache.spark.sql.functions._valspark=SparkSession.builder().appName("CityDailyMetrics").config("spark.sql.shuffle.partitions","800").config("spark.executor.cores","4").config("spark.executor.memory","16g").getOrCreate()importspark.implicits._vallogs=spark.read.parquet("/data/click_log/").withColumn("ts_long",col("ts").cast("timestamp")).withWatermark("ts_long","30minutes")valdaily=logs.groupBy(window(col("ts_long"),"1day"),col("city")).agg(count("").alias("pv"),countDistinct("user_id").alias("uv")).select(col("city"),col("window.start").cast("date").alias("dt"),col("pv"),col("uv"),(col("pv")/col("uv")).alias("ctr"))daily.write.partitionBy("dt").mode("overwrite").parquet("/output/city_daily/")58.(分析类)给出一次Kafka集群磁盘被打满导致Broker频繁掉线的根因分析、应急处理及长期优化方案。答案:根因:1.日志段保留策略segment.bytes=1GB,保留时间168h,未压缩,日增量4TB,磁盘仅12TB。2.消费组lag持续高位,导致日志段无法删除。3.副本因子3,同机架副本比例高,单盘故障触发rebalance,IO打满。应急:1.立即扩容Broker,新增6节点,手动迁移部分Partition。2.临时调短retention.ms=6h,手动清理过期的日志段。3.关闭不必要的生产者,限制峰值入流量50%。长期:1.开启日志压缩compression.type=lz4,预计节省40%空间。2.按业务分级设置TTL,核心Topic72h,日志Topic24h。3.监控:Prometheus+Grafana,磁盘使用率>75%报警,Lag>1亿报警。4.分区治理:大Topic按Hash拆分为多个Topic,单分区<500GB。5.跨机房副本,降低单点机架风险。59.(综合类)某金融公司需构建实时风控系统,规则包括:1.同一账户1分钟内交易次数>5次;2.同一IP5分钟内关联账户数>10;3.异地登录30分钟内交易额>1万元。给出基于Flink的完整技术方案,包括数据源、CEP模式、状态存储、输出、灰度发布。答案:数据源:1.交易流:KafkaTopictrade,字段:account,ip,location,amount,ts。2.登录流:KafkaTopiclogin,字段:account,ip,location,ts。CEP模式:1.规则1:Pattern.<Trade>begin("start").where(t>true).times(5).within(Time.minutes(1)).consecutive()2.规则2:将IP作为Key,使用KeyedProcessFunction,维护MapState<account,1>,定时5min触发,统计size>10报警。3.规则3:连接登录流与交易流,使用IntervalJoin,登录后30min内交易额累加,超过1万报警。状态存储:1.RocksDBStateBackend,增量Checkpoint到HDFS,5s间隔,保留24h。2.使用QueryableState,供风控服务实时查询。输出:1.告警流:KafkaTopicrisk_alert,字段:rule_id,account,ip,score,ts。2.离线复核:写入ClickHouse,按分钟分区。灰度发布:1.使用Flink的Savepoint机制,上线前停止作业,触发Savepoint,修改规则后从Savepoint恢复。2.双跑:新规则输出到Topicrisk_alert_v2,对比旧系统结果,差异<0.1%后全量切换。3.回滚:

温馨提示

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

最新文档

评论

0/150

提交评论