版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年大数据分析工程师基础冲刺卷(附答案)一、单选题(本大题共30小题,每小题1.5分,共45分。在每小题给出的四个选项中,只有一项是符合题目要求的)1.在Hadoop生态系统中,负责资源管理和调度的组件是()。A.HDFSB.MapReduceC.YARND.ZooKeeper2.HDFS默认的数据块大小为()。A.64MBB.128MBC.256MBD.512MB3.下列关于HDFS副本机制的描述,错误的是()。A.默认副本系数为3B.第一个副本存储在客户端所在的节点C.第二个副本存储在与第一个副本不同的机架上D.第三个副本存储在与第二个副本相同机架的不同节点上4.在MapReduce编程模型中,主要负责将输入数据切分成Key-Value对并对数据进行初步处理的阶段是()。A.Map阶段B.Reduce阶段C.Shuffle阶段D.Partition阶段5.SparkRDD中,哪个算子用于将多个RDD中的元素合并到一个RDD中,类似于SQL的UNIONALL?()A.unionB.joinC.intersectionD.cartesian6.下列哪个转换算子会导致Spark作业产生Shuffle过程?()A.mapB.filterC.reduceByKeyD.flatMap7.SparkSQL中,用于将DataFrame注册为临时视图的函数是()。A.createTempViewB.registerTempTableC.createGlobalTempViewD.saveAsTable8.在Flink中,支持基于事件时间的窗口计算时,必须设置的机制是()。A.CheckpointingB.Watermark(水位线)C.StateBackendD.Savepoint9.下列关于HBase的描述,正确的是()。A.HBase是关系型数据库B.HBase支持复杂的SQL查询C.HBase中的数据是按RowKey有序存储的D.HBase不支持多版本数据10.Hive中,内部表和外部表的主要区别在于()。A.存储格式不同B.删除表时是否删除元数据C.删除表时是否删除HDFS上的实际数据D.支持的查询语句不同11.下列哪个工具通常用于Hive元数据的存储?()A.HDFSB.MySQLC.RedisD.ZooKeeper12.在Scala中,下列哪种数据结构是可变的?()A.ListB.MapC.ArrayBufferD.Tuple13.Flume中,负责从数据源收集数据并传递给Channel的组件是()。A.SourceB.ChannelC.SinkD.Interceptor14.Kafka中,消息的物理存储单位是()。A.TopicB.PartitionC.SegmentD.Broker15.为了保证Kafka的高可用性,通常需要配置副本因子。若副本因子为3,则()。A.需要3台BrokerB.数据会写入3个不同的PartitionC.数据会同步到3个不同的BrokerD.消费者必须消费3次16.在Python的数据分析库Pandas中,用于读取CSV文件并创建DataFrame的函数是()。A.read_csvB.to_csvC.read_tableD.load_csv17.机器学习中,用于解决分类问题的常用算法不包括()。A.逻辑回归B.决策树C.K-MeansD.支持向量机(SVM)18.下列关于数据清洗的描述,不属于缺失值处理方法的是()。A.删除缺失值B.均值填充C.众数填充D.标准化19.在维度建模中,包含事实表和维度表,且事实表通过外键关联维度表,这种模型是()。A.星型模型B.雪花模型C.星座模型D.事实星座模型20.下列SQL语句中,用于计算排名的窗口函数是()。A.ROW_NUMBER()B.SUM()C.AVG()D.LAG()21.SparkStreaming中,DStream的底层抽象实际上是()。A.RDDB.DataFrameC.DatasetD.Collection22.下列关于ZooKeeper的描述,错误的是()。A.是一个分布式协调服务B.提供了类似于Linux文件系统的目录结构C.可以用于Hadoop的高可用(HA)配置D.不支持Watcher监听机制23.在进行数据仓库分层设计时,DWD层通常代表()。A.贴源层B.明细数据层C.汇总数据层D.应用数据层24.Redis中,哪种数据结构适合存储排行榜数据?()A.StringB.HashC.ListD.ZSet25.下列关于Elasticsearch的倒排索引,描述正确的是()。A.是将文档ID映射到关键词B.是将关键词映射到文档IDC.不支持全文检索D.占用空间比正向索引小26.在Python中,使用NumPy库创建一个3x3的全零矩阵,代码是()。A.np.zeros(3)B.np.zeros((3,3))C.np.ones((3,3))D.np.empty((3,3))27.Spark作业调优中,用于控制每个Executor核心数的参数是()。A.--executor-memoryB.--num-executorsC.--executor-coresD.--driver-memory28.下列哪项不是NoSQL数据库的特点?()A.灵活的数据模型B.高可扩展性C.严格的ACID特性D.最终一致性29.在数据分析中,用于衡量数据离散程度的指标是()。A.均值B.中位数C.方差D.众数30.数据倾斜是大数据计算中的常见问题,下列哪种情况最不容易导致数据倾斜?()A.Null值过多B.Key分布不均匀C.Join操作中某Key数据量巨大D.使用Repartition进行随机重分布二、多选题(本大题共15小题,每小题3分,共45分。在每小题给出的四个选项中,有多项是符合题目要求的。全部选对得3分,选对得2分,有选错得0分)31.下列属于Hadoop2.x核心组件的有()。A.HDFSB.MapReduceC.YARND.Spark32.SparkRDD的五大核心特性包括()。A.分区列表B.计算函数C.依赖关系D.分区器33.下列哪些是Spark的部署模式?()A.LocalB.StandaloneC.YARND.Mesos34.Flink的时间语义包括()。A.ProcessingTimeB.IngestionTimeC.EventTimeD.CreationTime35.Hive中常用的文件存储格式有()。A.TextFileB.SequenceFileC.RCFileD.ORC/Parquet36.下列属于FlumeSink类型的有()。A.HDFSSinkB.KafkaSinkC.LoggerSinkD.AvroSink37.Kafka生产者发送消息的方式有()。A.发送并忘记B.同步发送C.异步发送D.事务发送38.在PythonPandas中,处理DataFrame缺失值的方法包括()。A.dropna()B.fillna()C.isnull()D.replace()39.机器学习建模的一般流程包括()。A.数据预处理B.特征工程C.模型训练与评估D.模型部署40.下列哪些算子属于SparkSQL中的DataFrame算子?()A.selectB.filterC.groupByD.map41.HBase的RowKey设计原则包括()。A.长度尽可能短B.散列性(避免热点)C.唯一性D.根据查询频率排序42.数据仓库建设中,ODS层的作用通常包括()。A.原始数据备份B.数据隔离C.保持数据结构与源系统一致D.直接提供给业务人员分析43.下列关于DataFrame和RDD的区别,说法正确的有()。A.DataFrame带有Schema元信息B.DataFrame底层也是RDDC.DataFrame使用Catalyst优化器进行优化D.RDD是强类型的,DataFrame是弱类型的44.导致Spark作业OOM(内存溢出)的常见原因有()。A.Executor堆内存过小B.数据倾斜导致单个Task数据量过大C.创建了过大的对象D.广播变量过大45.下列属于数据可视化工具的有()。A.TableauB.PowerBIC.EChartsD.Superset三、填空题(本大题共20空,每空1.5分,共30分。请将答案填写在横线上)46.HDFS的默认端口号是________,NameNode的WebUI默认端口是________。47.MapReduce的输出文件默认存放在输出目录下的________文件夹中。48.Spark中,________算子可以将RDD持久化到内存中。49.在Scala中,________关键字用于定义不可变变量,________关键字用于定义可变变量。50.Hive的Metastore默认使用________数据库进行存储。51.Flink中,________窗口根据数据元素的数量划分窗口。52.Kafka中,________参数用于控制消费者每次从Broker拉取的最大消息字节数。53.在Python中,________库主要用于科学计算,________库主要用于数据分析。54.数据清洗中,检测异常值的常用方法包括3σ原则和________。55.维度建模中,________表通常包含大量的描述性属性,如时间、地点等。56.Redis中,________命令用于设置键值对,________命令用于获取键值。57.SparkStreaming中的________操作可以将DStream转换为RDD进行处理。58.在Linux系统中,查看文件内容的命令是________,查看当前路径的命令是________。59.YARN中,负责管理应用程序生命周期的组件是________。60.机器学习中,________是指模型在训练集上表现很好,但在测试集上表现较差的现象。四、简答题(本大题共6小题,每小题10分,共60分)61.简述HDFS的读写流程(以读取为例)。62.请列举Spark中宽依赖和窄依赖的区别,并说明为什么宽依赖会产生Stage(阶段)的划分。63.在Hive中,什么是分区表?什么是分桶表?它们各自的应用场景是什么?64.简述数据仓库中维度建模的星型模型和雪花模型的优缺点。65.在Kafka中,如何保证消息的消费顺序?请结合分区和消费者组的概念进行说明。66.简述大数据处理中“数据倾斜”的表现、常见原因及至少三种解决方案。五、应用题(本大题共4小题,共70分。请写出详细的解题过程、SQL语句或代码逻辑)67.(SQL分析题,15分)假设有一张用户行为日志表`user_logs`,字段如下:`user_id`(用户ID,INT)`product_id`(商品ID,INT)`action_time`(行为时间,DATETIME)`action_type`(行为类型,STRING:'click','buy','cart')请编写SQL语句完成以下需求:(1)统计2023年“双11”当天(2023-11-11)每个商品的点击次数和购买次数。(2)找出累计购买金额(假设每次购买一件,单价需关联商品表,此处简化为计算购买频次)排名前3的用户。(3)筛选出“只加购不购买”的用户ID(即有'cart'记录但无'buy'记录的用户)。68.(Spark编程题,20分)使用PySpark编写代码,处理一个文本文件。文件内容为多行英文句子。需求:(1)读取文件并创建RDD。(2)将每一行单词拆分,并转换为小写。(3)过滤掉空字符串和长度小于3的单词。(4)统计每个单词出现的频次(词频统计)。(5)将结果按频次降序排列,并取前10个单词打印输出。请给出完整的代码结构。69.(数仓建模与计算题,15分)某电商公司需要构建一个日销售宽表`dwd_sales_detail_di`。源表信息:`order_detail`:订单明细表,包含`order_id`,`sku_id`,`sku_num`,`sku_price`(单价),`create_time`。`sku_info`:商品维度表,包含`sku_id`,`sku_name`,`category3_id`(三级分类ID)。`base_province`:地区维度表,包含`id`,`name`(省份名称)。`user_info`:用户维度表,包含`id`,`user_level`(用户等级)。请设计`dwd_sales_detail_di`表的字段(至少包含:日期、订单ID、商品ID、商品名称、分类ID、省份名称、用户等级、销售金额)。并编写HiveSQL,实现每日(假设日期为`${do_date}`)的宽表数据抽取逻辑。70.(综合案例分析题,20分)背景:某实时计算平台使用Flink消费Kafka中的用户点击日志数据,经过处理后写入Elasticsearch。问题现象:最近发现Flink作业出现反压(Backpressure),数据处理延迟增大,Checkpoint经常超时失败。请结合你的专业知识,分析可能的原因,并提出针对性的排查和优化思路。(提示:可从数据倾斜、下游吞吐量、Checkpoint配置、GC问题等角度考虑)参考答案与解析一、单选题1.C2.B3.B4.A5.A6.C7.A8.B9.C10.C11.B12.C13.A14.C15.C16.A17.C18.D19.A20.A21.A22.D23.B24.D25.B26.B27.C28.C29.C30.D二、多选题31.ABC32.ABCD33.ABCD34.ABC35.ABCD36.ABCD37.ABC38.ABC39.ABCD40.ABC41.ABC42.ABC43.ABC44.ABCD45.ABCD三、填空题46.8020(或9000),50070(或9870)47.part-r-0000048.cache/persist49.val,var50.MySQL51.CountWindow52.max.partition.fetch.bytes(或fetch.max.bytes)53.NumPy,Pandas54.箱线图(IQR规则)55.维度56.SET,GET57.transform/foreachRDD58.cat,pwd59.ApplicationMaster(AM)60.过拟合四、简答题61.HDFS读取流程:(1)客户端调用DistributedFileSystem.open()方法,打开文件。(2)RPC调用NameNode,获取文件开始部分的数据块位置信息。(3)客户端创建FSDataInputStream,通过数据流读取数据。(4)读取时,客户端连接到DataNode,直接从DataNode读取数据(流式传输)。(5)读取完一个Block后,寻找下一个Block的最佳节点进行读取。(6)读取完毕后,调用close()关闭连接。62.区别:窄依赖:父RDD的一个分区只被子RDD的一个分区使用(一对一),如map,filter。不发生Shuffle。宽依赖:父RDD的一个分区被子RDD的多个分区使用(一对多),如reduceByKey,join。发生Shuffle。Stage划分原因:Spark根据宽依赖划分Stage。宽依赖意味着Shuffle,这是划分阶段的天然边界。这样可以在Stage内部进行流水线优化,而在Stage之间需要进行Shuffle写入磁盘,容错时也只需重算失败的Stage。63.分区表:Hive中按照列的值将表划分为不同的文件夹存储。应用场景:用于按天、按月等大范围查询,减少扫描数据量。分桶表:将数据按照哈希函数分散到固定数量的文件中(桶)。应用场景:用于抽样分析、高效Join(特别是大表Join大表,分桶键作为Join键时)。区别:分区是分文件夹,分桶是分文件;分区不改变数据结构,分桶是对文件哈希。64.星型模型:优点:结构简单,表连接少,查询性能高,易于理解和维护。缺点:数据冗余度较高,维度表如果数据量大会有存储浪费。雪花模型:优点:数据冗余度低,数据规范化程度高,节省存储空间。缺点:表连接多,查询性能相对下降,结构复杂,不易理解。65.Kafka保证顺序:Kafka只能保证分区内消息的有序性,不能保证Topic全局有序。在生产者发送消息时,指定Key(如订单ID),Kafka会根据Hash(Key)将消息发送到同一个Partition。在消费时,一个Partition只能被消费者组中的一个消费者消费。因此,只要将需要保序的消息发送到同一个Partition,并由同一个消费者线程处理,即可保证顺序。如果需要全局顺序,则Topic只能设置一个Partition。66.数据倾斜:表现:少数Task运行时间极长,甚至OOM,而大部分Task很快完成;整体作业进度卡在99%。原因:Key分布不均(如Null值、热点Key)、Join操作中某表关联Key数据量过大、CountDistinct操作。解决方案:(1)过滤或预处理Null值/异常Key。(2)使用Salting(加盐)技术:给热点Key添加随机前缀,打散数据,聚合后再去除前缀。(3)提高并行度:增加Reducer数量,让数据分散到更多Task。(4)BroadcastJoin:将小表广播到所有Executor,避免大表Shuffle。(5)使用自定义Partitioner,手动分配数据。五、应用题67.SQL分析题:(1)```sqlSELECTproduct_id,SUM(CASEWHENaction_type='click'THEN1ELSE0END)ASclick_cnt,SUM(CASEWHENaction_type='buy'THEN1ELSE0END)ASbuy_cntFROMuser_logsWHEREDATE(action_time)='2023-11-11'GROUPBYproduct_id;```(2)```sqlSELECTuser_id,buy_cntFROM(SELECTuser_id,COUNT(*)ASbuy_cnt,ROW_NUMBER()OVER(ORDERBYCOUNT(*)DESC)ASrnFROMuser_logsWHEREaction_type='buy'GROUPBYuser_id)tWHERErn<=3;```(3)```sqlSELECTuser_idFROMuser_logsGROUPBYuser_idHAVINGSUM(CASEWHENaction_type='cart'THEN1ELSE0END)>0ANDSUM(CASEWHENaction_type='buy'THEN1ELSE0END)=0;```68.Spark编程题:```pythonfrompysparkimportSparkContextif__name__=="__main__":sc=SparkContext("local","WordCountExample")#1.读取文件lines=sc.textFile("path/to/input.txt")#2.拆分单词并转小写words=lines.flatMap(lambdaline:line.split(""))\.map(lambdaword:word.lower())#3.过滤filtered_words=words.filter(lambdaword:len(word)>=3andword!="")#4.词频统计pairs=filtered_words.map(lambdaword:(word,1))word_counts=pairs.reduceByKey(lambdaa,b:a+b)#5.排序取Top10top10=word_counts.map(lambdax:(x[1],x[0]))\.sortByKey(False)\.take(10)forcount,wordintop10:print(f"{word}:{count}")sc.stop()```69.数仓建模与计算题:建表字段设计:`dt`(STRING,日期分区),`order_id`(BIGINT),`sku_id`(BIGINT),`sku_name`(STRING),`category3_id`(BIGINT),`province_name`(STRING),`user_level`(STRING),`sales_amount`(DECIMAL(10,2)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026-2027年河北石家庄市新乐市人力资源和社会保障局新乐市青年就业见习报名考前冲刺密卷及参考答案详解(培优A卷)
- 2026广东汕头市潮南区银龄教师招募9人考前冲刺密卷附答案详解(精练)
- 2026中铁建重庆石化销售有限公司加油员招聘1人考前冲刺密卷(夺冠)附答案详解
- 2026年四川雅安市石棉县招聘社区工作者的考前冲刺试卷(有一套)附答案详解
- 2026燃料电池技术研发行业市场深度调研及发展趋势与投资价值评估研究报告
- 2026安徽合肥经济学院暑期人才招聘考前冲刺试卷附完整答案详解【夺冠】
- 2026中国新材料产业技术壁垒与高端市场需求分析报告
- 2026农业voc产业行业市场现状供需分析及投资评估规划分析研究报告
- 中医养生馆项目计划书
- 2026普通消费品行业市场发展分析及趋势前景与投资战略研究报告
- 2026年亳州市产控集团子公司安徽省亳州中医药集团有限公司公开招聘50名笔试备考试题及答案详解
- 2026年浙江省中考数学真题含答案
- 2025-2026学年四川省宜宾市兴文县数学三年级下学期期末监测试题(含答案)
- 老年患者营养与压疮预防
- 【玉溪】2026年云南玉溪市红塔区卫生健康系统公开招聘毕业生及紧缺人才10人笔试历年典型考题及考点剖析附带答案详解
- 高考英语新课标3100词汇(音标·词性·多义·真题生义完整版)
- 2026年智能网联汽车行业深度分析报告
- 广投智慧服务集团招聘笔试题库2026
- 结构构件焊接质量监督方案
- 医疗器械使用安全评估制度
- (2025年)事业单位遴选考试真题及答案
评论
0/150
提交评论