2025年数据仓库与数据挖掘期末考试题库及答案_第1页
2025年数据仓库与数据挖掘期末考试题库及答案_第2页
2025年数据仓库与数据挖掘期末考试题库及答案_第3页
2025年数据仓库与数据挖掘期末考试题库及答案_第4页
2025年数据仓库与数据挖掘期末考试题库及答案_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

2025年数据仓库与数据挖掘期末考试题库及答案一、单项选择题(每题2分,共20分)1.在数据仓库的多维模型中,将“销售事实表”与“时间维度表”关联的外键最可能是A.ProductKey B.StoreKey C.TimeKey D.PromotionKey答案:C2.下列关于星型模式与雪花模式差异的描述,正确的是A.星型模式一定比雪花模式占用更多存储空间B.雪花模式通过规范化减少冗余,查询时需要更多表连接C.星型模式不允许存在任何层次结构D.雪花模式的事实表必须包含退化维度答案:B3.在Apriori算法中,若频繁2-项集{L2}包含{A,B}、{A,C}、{B,C},则候选3-项集C3中必然包含A.{A,B,C} B.{A,B,D} C.{A,C,D} D.{B,C,D}答案:A4.当使用K-means聚类时,若初始中心点选择不当导致空簇,最佳补救策略是A.直接删除该簇对应中心点 B.随机重选一个非中心点作为新中心C.将最远样本点作为新中心 D.将SSE最大簇的中心点分裂答案:B5.在Hive中,若想将ORC表的分区字段从“dtstring”改为“yearint,monthtinyint”,最安全的操作顺序是A.新建分区表→动态分区插入→删除原表→重命名新表B.直接ALTERTABLECHANGECOLUMNC.MSCKREPAIRTABLE同步元数据D.使用DISTCP复制HDFS目录后修改元数据答案:A6.数据仓库中“快照事实表”主要解决A.缓慢变化维度 B.事务级原子性 C.存量半可加度量 D.实时流式更新答案:C7.在SparkMLlib中,使用FP-Growth时设置minSupport=0.05,事务总数100万,则最少出现次数为A.500 B.5000 C.50000 D.500000答案:C8.当维度表采用SCDType4策略时,历史数据通常保存在A.同一行覆盖 B.新增行带时间戳 C.历史表 D.分区列答案:C9.在数据挖掘性能评估中,F1-score的取值范围是A.[-1,1] B.[0,1] C.[0,+∞) D.(-∞,+∞)答案:B10.若某决策树节点纯度用Gini指数衡量,当前节点Gini=0.48,按A属性划分后两个孩子节点Gini分别为0.30与0.40,则划分增益为A.0.08 B.0.18 C.0.20 D.0.28答案:A二、多项选择题(每题3分,共15分,多选少选均不得分)11.下列属于数据仓库ETL中“数据质量”检查维度的有A.完备性 B.一致性 C.及时性 D.可解释性 E.可追溯性答案:ABCE12.关于Bagging与Boosting的比较,正确的有A.Bagging可降低方差 B.Boosting可降低偏差 C.Bagging基学习器可并行训练D.Boosting对异常点更鲁棒 E.两者均属于集成学习方法答案:ABCE13.在ClickHouse中,支持的分区策略有A.RANGE B.LIST C.HASH D.JIT E.MergeTree答案:ABC14.下列SQL写法可在Presto/Trino中实现“累计销售额”窗口计算的有A.SUM(sales)OVER(ORDERBYdt)B.SUM(sales)OVER(PARTITIONBYstore_idORDERBYdtROWSUNBOUNDEDPRECEDING)C.SUM(sales)OVER(PARTITIONBYstore_idORDERBYdtRANGEBETWEENINTERVAL'7'DAYPRECEDINGANDCURRENTROW)D.SUM(sales)GROUPBYdtE.SUM(sales)OVER(PARTITIONBYstore_idORDERBYdtGROUPSUNBOUNDEDPRECEDING)答案:ABCE15.关于深度自编码器在降维中的应用,正确的有A.可非线性降维 B.隐藏层节点数必须逐层递减 C.可用ReLU激活D.损失函数可用MSE E.解码器权重必须与编码器共享答案:ACD三、判断题(每题1分,共10分,正确打“√”,错误打“×”)16.数据仓库的“非易失性”指数据一旦写入就不可删除。 ×17.在Snowflake中,计算层与存储层可独立弹性伸缩。 √18.使用PCA降维时,主成分方向对应协方差矩阵最大特征值对应的特征向量。 √19.当数据仓库采用Lambda架构时,SpeedLayer与BatchLayer共用同一套存储即可保证强一致性。 ×20.孤立森林(iForest)对高维稀疏数据异常检测效果通常优于LOF。 √21.Hive的Tez引擎比MapReduce引擎一定在所有场景下性能更优。 ×22.在关联规则中,若规则A→B的置信度为1,则提升度一定大于1。 ×23.使用FlinkCEP可在流式数据中检测满足特定模式的序列。 √24.数据挖掘中的“过拟合”现象表现为训练误差持续下降而测试误差上升。 √25.在数据仓库中,事实表的粒度越细,可回答的业务问题越多。 √四、填空题(每空2分,共20分)26.在数据仓库分层架构中,________层保存最细粒度、未经汇总的原始数据,通常采用Parquet/ORC列式存储。答案:ODS(操作数据存储)27.若某频繁项集支持度计数为800,总事务数20000,则支持度为________%。答案:428.在Spark中,使用________函数可将DataFrame按某列分桶写入磁盘,实现本地有序。答案:bucketBy29.当使用梯度提升树(GBDT)时,学习率(shrinkage)参数越大,模型越________(易/不易)过拟合。答案:易30.在MySQL8.0作为维度库时,采用________日志可捕获行级变更并同步到Kafka,实现实时维度更新。答案:binlog31.若某时间维度表采用“年月日”整型键20251225,则该键被称为________键。答案:surrogate(代理)32.在数据挖掘中,若正负样本比例为1:99,可采用________采样缓解类不平衡。答案:SMOTE(或欠采样/过采样,任填一种)33.在Presto中,________函数可返回数组中元素的去重后结果。答案:array_distinct34.当使用Elasticsearch作为数据仓库即席查询引擎时,________聚合可实现类似SQL的GROUPBYROLLUP。答案:composite35.在数据仓库元数据管理中,________标准用于描述数据血缘、影响分析及业务术语,最新版本为1.1。答案:ApacheAtlas五、简答题(每题8分,共24分)36.简述数据仓库中“宽表”与“窄表”的设计权衡,并给出电商订单场景下的具体示例。答案:宽表将相关维度属性冗余到事实表,减少Join,提升查询性能,但增加存储与维护成本;窄表保持规范化,节省空间,但查询需多表关联。电商订单宽表可将用户昵称、商品类目名称、店铺名称直接写入订单事实表,使“近30天TOP100热销商品”仅需扫描一张表;窄表方案则保留用户ID、商品ID、店铺ID,通过维度表关联,存储节省30%,但查询需3次Join,RT增加50%。选择依据:若查询模式固定、并发高、维度变化慢,用宽表;若维度频繁变更、存储敏感、即席查询多,用窄表+视图。37.说明FP-Growth算法为何比Apriori更适合于海量事务数据,并给出Spark实现中的两个调优参数及其作用。答案:Apriori需多次扫描事务库并生成大量候选集,I/O与计算开销随维度指数增长;FP-Growth通过两次扫描构建压缩的FP-Tree,将挖掘任务转化为树的条件模式基递归挖掘,避免显式候选生成,内存友好。SparkMLlib中,minSupport控制最小支持度,降低可减少频繁项但可能引入噪声;numPartitions决定FP-Tree分布式构建的并行度,设置过小导致单点内存溢出,过大增加调度开销,通常设为executorCore×executorInstances×2。38.描述在ClickHouse中实现“累计UV”计算的技术细节,并给出物化视图方案以支持亚秒级查询。答案:ClickHouse无原生窗口函数支持,需借助Array与GROUPBY技巧。第一步建表使用MergeTree按(dt,uid)去重,存储每日明细。累计UV需对uid做全局去重,常规SELECTuniq(uid)FROMtableWHEREdt<=’2025-12-25’需全表扫描。优化方案:创建物化视图,基表新增sign列(1表示访问,-1表示撤销),使用AggregatingMergeTree引擎,定义AggregateFunction(uniqExact,uid)类型列uv_state,每日调度INSERTINTOSELECTdt,uniqExactState(uid)FROM明细GROUPBYdt;查询时SELECTuniqExactMerge(uv_state)FROMmvWHEREdt<=’2025-12-25’,利用AggregatingMergeTree的合并机制,仅读取预聚合状态,磁盘IO降低90%,查询耗时从8s降至0.2s。六、计算与建模题(共31分)39.(10分)某零售企业2025年双11大促,交易事实表结构如下:sale_idbigint,member_keyint,sku_keyint,store_keyint,promotion_keyint,quantityint,sale_amtdecimal(10,2),dtstring需计算“会员渗透率”=下单会员数/活跃会员数。活跃会员定义为近一年有消费或登录的会员。给出HiveSQL实现,要求:(1)支持分区裁剪;(2)避免二次扫描会员表;(3)输出结果为dt,penetration_ratio。答案:WITHactive_memberAS(SELECTDISTINCTmember_keyFROMdwd_sale_factWHEREdtBETWEEN'2024-11-01'AND'2025-11-11'UNIONDISTINCTSELECTDISTINCTmember_keyFROMdwd_login_factWHEREdtBETWEEN'2024-11-01'AND'2025-11-11'),order_memberAS(SELECTDISTINCTmember_keyFROMdwd_sale_factWHEREdt='2025-11-11')SELECT'2025-11-11'ASdt,CAST(tASDOUBLE)/tASpenetration_ratioFROM(SELECTCOUNT()cntFROMorder_member)oCROSSJOIN(SELECTCOUNT()cntFROMactive_member)a;40.(10分)给定如下训练集,使用ID3算法构造决策树,计算根节点的信息增益。数据集:Outlook={Sunny,Overcast,Rain},Temperature={Hot,Mild,Cool},Humidity={High,Normal},Wind={Weak,Strong},Play={Yes,No}样本分布:Sunny:5条(3No,2Yes),Overcast:4条(0No,4Yes),Rain:5条(2No,3Yes)答案:总熵H(D)=-(6/14)log2(6/14)-(8/14)log2(8/14)=0.985按Outlook划分:Sunny子集熵H(D1)=-(3/5)log2(3/5)-(2/5)log2(2/5)=0.971Overcast子集熵H(D2)=0Rain子集熵H(D3)=-(2/5)log2(2/5)-(3/5)log2(3/5)=0.971期望熵=(5/14)×0.971+(4/14)×0+(5/14)×0.971=0.693信息增益=0.985-0.693=0.292bit41.(11分)某金融风控场景,样本100万,特征500维,正负比1:99。采用XGBoost训练,参数:max_depth=6,eta=0.1,subsample=0.8,scale_pos_weight=50。训练后AUC=0.96,但线上KS仅0.18。分析可能原因并给出三条改进措施。答案:原因:(1)时间穿越:训练集使用了未来标签或未来特征;(2)样本偏差:线下采样策略与线上分布不一致;(3)特征泄漏:包含“是否催收”“是否展期”等事后变量;(4)过拟合:AUC高但KS低表明分数分布两极化,缺乏中间排序能力。改进:1.重新划分训练/验证集按申请时间切片,杜绝未来信息;2.剔除所有贷后变量,仅保留申请时点特征;3.采用FocalLoss或调整scale_pos_weight至真实比例1/99,降低对多数类惩罚;4.引入单调性约束分箱,确保评分与违约率单调递减;5.线上采用实时特征快照,保证特征一致性,KS提升至0.45。七、综合设计题(共30分)42.某头部短视频公司2025年全球日活8亿,日均投稿量5000万,需构建实时数仓支持以下需求:(1)实时大屏:每5秒更新播放VV、点赞数、评论数;(2)近7日稿件累计播放破亿预警;(3)即席分析:任意维度(国家、语种、作者等级、稿件时长区间)下钻,查询响应<3s;(4)数据回溯:支持重新计算历史数据,保证Exactly-Once。请给出:a.整体技术架构图(文字描述即可);b.核心表设计(含事实表、维度表、物化视图);c.实时链路Exactly-Once实现细节;d.成本优化方案。答案:a.架构:日志→Kafka→FlinkSQL→ClickHouse集群(写本地表)+Redis缓存→Grafana大屏;离线:S3→Spark→Iceberg→Presto/Trino即席;元数据:Atlas+HiveMetastore;调度:AirflowonK8s;监控:Prometheus+Alertmanager。b.表设计:事实表dwd_play_realtime(vidUInt64,uidUInt64,countryString,langString,author_levelUInt8,duration_secUInt16,vvUInt32,like_cntUInt32,cmt_cntUInt32,event_timeDateTime64(3),verUInt64)ENGINE=MergeTree()PARTITIONBYtoYYYYMMDD(event_time)OR

温馨提示

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

最新文档

评论

0/150

提交评论