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

付费下载

下载本文档

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

文档简介

2026年大数据工程师职业资格考试试题及答案一、单项选择题(每题2分,共20分)1.HDFS默认将文件块复制为多少个副本?A.1个B.2个C.3个D.4个2.下列组件中,常用于分布式协调与选主的是?A.FlumeB.ZooKeeperC.SqoopD.Hue3.在MapReduce中,Map端输出到Reduce端之间经历的完整过程称为?A.ShuffleB.MergeC.CombineD.Partition4.下列Spark算子中,属于转换算子的是?A.count()B.collect()C.map()D.foreach()5.将MySQL中的业务表数据增量同步到HDFS,通常优先选择的组件是?A.FlumeB.KafkaC.SqoopD.ZooKeeper6.关于Kafka中消息的有序性,下列说法正确的是?A.同一个Topic内所有消息全局有序B.同一个Partition内消息有序C.同一个ConsumerGroup内消息有序D.同一个副本内消息无序7.根据CAP理论,当分布式系统发生网络分区时,必须在哪两者之间取舍?A.一致性和可用性B.一致性和分区容错性C.可用性和分区容错性D.可靠性和一致性8.下列Hive文件格式中,采用列式存储且压缩率较高、适合OLAP场景的是?A.TextFileB.ParquetC.SequenceFileD.Avro9.在Flink中,要实现端到端精确一次(Exactly-once)语义,通常依赖的是?A.Checkpoint及两阶段提交B.等水印(Watermark)到达后再计算C.仅设置并行度为1D.关闭故障恢复10.在join或group类任务中出现数据倾斜,最可能的原因是?A.数据量过大导致网络拥堵B.少量key对应的数据量远大于其他keyC.集群节点故障D.HDFS块大小设置过大二、多项选择题(每题4分,共20分)1.下列选项中,属于NoSQL数据库的有?A.HBaseB.RedisC.MySQLD.MongoDBE.PostgreSQL2.下列属于SparkRDD持久化/缓存级别的有?A.MEMORY_ONLYB.DISK_ONLYC.MEMORYANDDISKD.HDFS_ONLYE.MEMORYONLYSER3.关于Kafka生产者参数acks,下列说法正确的有?A.acks=0表示生产者不等待Broker确认B.acks=1表示等待Leader写入成功C.acks=all表示等待所有同步副本确认D.acks=all的吞吐量最高E.acks=-1与acks=all含义相同4.下列工作中,属于数据治理范畴的有?A.制定数据标准与命名规范B.维护元数据和数据血缘C.监控数据质量并生成报告D.优化高频SQL执行计划E.对数据进行脱敏分级与权限管控5.下列Spark调优手段中,正确的有?A.适当增大Shuffle分区数B.用小表构建广播变量替代ShuffleJoinC.使用Kryo序列化减小数据体积D.将全量数据collect()到Driver端处理E.优先使用reduceByKey替代groupByKey后进行聚合三、判断题(每题1分,共10分)1.HDFS适合存储大量小文件,因为其元数据保存在DataNode内存中。2.Spark中的map()算子属于转换算子,执行时是惰性的。3.Hive可以把HQL转换为MapReduce或Spark作业执行。4.Kafka中同一个ConsumerGroup内的多个消费者可以同时消费同一个分区,以提高并行度。5.Flume支持从文件、端口等数据源采集日志,并输出到HDFS、Kafka等目的地。6.根据CAP理论,当网络分区发生时,系统无法同时保证强一致性和高可用性。7.Oozie是一个工作流调度引擎,可以调度MapReduce、Spark、Hive等任务。8.数据仓库面向联机事务处理,与业务系统在数据建模上没有差别。9.Parquet是行式存储格式,适合频繁的整行更新操作。10.在Spark中调用cache()后,RDD会立即计算并缓存到内存。四、简答题(每题5分,共20分)1.简述HDFS客户端读取文件时,NameNode和DataNode各自的作用。2.简述Spark中宽依赖与窄依赖的区别,并各举一个典型算子。3.简述数据仓库中星型模型与雪花模型的主要区别。4.什么是数据倾斜?列举两种常用的解决思路。五、案例分析题(每题15分,共30分)1.某公司的SparkSQL离线作业近期频繁失败,日志中出现多个ExecutorLostFailure,且部分Reduce任务运行时间远高于其他任务。请回答以下问题:(1)结合现象,分析最可能的根因。(2)给出至少三种调优方案,并简要说明原理。2.某电商平台需要构建离线数据仓库,业务数据存储在MySQL中,用户行为日志实时写入Kafka。每日凌晨需要统计前一天的订单销售额、各商品类目销量、各渠道用户活跃数等指标。请回答以下问题:参考答案与解析一、单项选择题1.答案:C2.答案:B解析:ZooKeeper提供分布式锁、配置管理和选举服务;Flume负责日志采集,Sqoop负责批量数据迁移,Hue是Web界面工具。3.答案:A解析:Shuffle包含分区、排序、溢写和归并等步骤,其中分区逻辑由Partitioner决定。4.答案:C解析:map()返回新的RDD,延迟执行;count()、collect()、foreach()均为行动算子。5.答案:C6.答案:B解析:Kafka只保证同一分区内消息按写入顺序读取,不保证Topic全局有序。7.答案:A8.答案:B9.答案:A10.答案:B二、多项选择题1.答案:A、B、D解析:HBase(列族)、Redis(键值)、MongoDB(文档)均为NoSQL;MySQL和PostgreSQL是关系型数据库。2.答案:A、B、C、E解析:Spark预置的持久化级别包括MEMORY_ONLY、MEMORY_ONLY_SER、DISK_ONLY、MEMORY_AND_DISK、MEMORY_AND_DISK_SER等,没有HDFS_ONLY。3.答案:A、B、C、E解析:acks=all可靠性最高,但需要等待所有副本确认,吞吐量低于acks=0和acks=1。4.答案:A、B、C、E解析:数据治理涵盖标准、元数据、质量、安全与合规等;SQL优化属于查询性能调优,不属于数据治理的典型范畴。5.答案:A、B、C、E解析:collect()会拉取全量数据到Driver,易导致DriverOOM,属于错误做法。三、判断题1.答案:错误2.答案:正确3.答案:正确4.答案:错误5.答案:正确6.答案:正确7.答案:正确8.答案:错误9.答案:错误10.答案:错误四、简答题1.答案:客户端向NameNode发起读请求,NameNode返回该文件每个数据块所在的DataNode列表及副本位置;客户端随后直接与DataNode建立连接读取数据块,DataNode返回块数据并校验完整性。NameNode负责元数据管理,DataNode负责实际数据存储和读写。2.答案:窄依赖是指父RDD的每个分区最多被一个子RDD分区使用,不需要Shuffle,如map()、filter();宽依赖是指父RDD的每个分区可能被多个子RDD分区使用,通常会产生Shuffle,如groupByKey()、reduceByKey()。宽依赖会引入磁盘写、网络传输等额外开销,是任务调优的重点对象。3.答案:星型模型的维度表直接连接事实表,维度存在冗余但关联路径短,查询性能好;雪花模型将维度表进一步规范化拆分,节省存储空间但会增加关联层级和查询复杂度。实际离线数仓更常用星型模型。4.答案:数据倾斜是指在分布式计算中,数据按key分组或分区后分布不均衡,少量task处理的数据量远超其他task,导致长尾甚至内存溢出。常用解决思路:•对热点key加随机前缀/加盐,使其分散到多个分区,再进行二次聚合或二次join;•大表join小表时使用广播变量,避免Shuffle;•增大Shuffle分区数,使数据更均匀;•对异常key(如空值、默认值)单独过滤或处理。五、案例分析题1.答案:(1)最可能的根因是数据倾斜。Shuffle阶段部分key对应的数据量远大于其他key,导致少数Reduce任务内存压力过大、任务执行时间过长,最终触发Executor失联或OOM;Driver端也可能因为collect()或大量小文件生成而出现内存溢出。(2)调优方案:•对倾斜key加盐/加随机前缀:将大key拆分为多个子key,分到不同任务并行处理,必要时分两阶段进行去盐聚合或join,消除热点。•使用广播变量join:当小表小于阈值时,将小表广播到每个Executor,避免大量Shuffle带来的数据倾斜。•提高Reduce并行度:通过spark.sql.shuffle.partitions或.repartition()增加分区数,使数据更分散。•开启Spark的动态资源分配和自适应执行:例如调整spark.sql.adaptive.enabled、spark.sql.adaptive.coalescePartitions.enabled,合并小分区并优化Join策略。•对异常key进行过滤或单独处理:如空key不是业务需要的,可先过滤;若不能过滤,则将其转换为随机key后单独处理。解析:出现长尾Reduce任务和ExecutorLostFailure是数据倾斜的典型信号;MapReduce/Spark中Shuffle按key分区,数据分布不均会导致个别Task处理量远超理论上限。调优应从“消除热点key、减少Shuffle、增加并行度、避免Driver聚合”四个方向入手。若内存不足且任务持续失败,还应检查spark.executor.memory、spark.sql.shuffle.partitions配置以及单个key的数据量。2.(1)设计数据采集和存储方案,说明MySQL与Kafka中的数据分别通过什么方式进入离线数仓。(2)给出数仓的分层设计,并阐述从原始层到明细层、汇总层的主要处理逻辑。2.答案:(1)数据采集与存储方案:•MySQL业务数据:使用Sqoop或DataX每日增量/全量同步到HDFS,再通过Hive建立ODS层外部表。对于订单、商品、类目等维度表,可采用每日全量快照或拉链表维护历史变化;对于订单流水,通过时间字段增量抽取。•Kafka日志数据:使用Flume或Flink实时消费写入HDFS,也可直接由Flume写入HDFS形成小时级/天级目录,再挂载为Hive外部表。为了保证最终一致性,离线任务可在每日凌晨读取前一日完整日志文件后统一处理。(2)数仓分层与处理逻辑:•ODS层(原始数据层):保持数据原貌,不进行业务加工,仅做分区存储,如按日期分区。•DWD层(明细宽表层):对ODS数据进行清洗、去重、格式统一、维度退化,将订单事实表与商品、类目、渠道、用户等维度关联,生成可分析的明细宽表。•DWS层(汇总服务层):按日、渠道、商品类目等维度对事实表进行聚合,计算销售额、销量、活跃用户数等指标,形成公共汇总表。•ADS层(应用层):根据具体报表需求从DWS层或DWD层

温馨提示

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

评论

0/150

提交评论