版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DW数据仓库面试题及详细答案(实战完整版)一、基础概念类(高频必问)1、简单说说什么是数据仓库?和数据库有什么核心区别?参考答案:数据仓库是面向主题的、集成的、非易失的、随时间变化的数据集合,核心用于企业数据分析、报表统计、业务决策,不用于日常业务交易。和业务数据库的核心区别主要有四点:1)用途不同:数据库支撑OLTP联机事务处理,负责日常增删改查,比如用户下单、充值、交易;数仓支撑OLAP联机分析处理,负责海量数据统计、分析、复盘。2)数据特性不同:数据库数据是动态可变的,频繁更新、删除;数仓数据以追加写入为主,极少修改删除,保留历史全量数据。3)结构设计不同:数据库遵循三范式,减少数据冗余,提升读写效率;数仓刻意保留适度冗余,牺牲存储空间换取查询分析效率。4)数据时效不同:数据库是实时数据,秒级更新;数仓多为T+1离线数据,部分实时数仓可做到分钟级、秒级延迟。2、数据仓库的四大特性是什么?详细解释一下参考答案:四大特性分别是:面向主题、集成性、非易失性、时变性。1)面向主题:数仓不再按照业务系统模块划分数据,而是按照业务分析主题划分,比如用户主题、订单主题、商品主题、流量主题,方便针对性分析。2)集成性:数仓的数据来源于多个异构业务系统,比如订单系统、支付系统、用户系统、日志系统,需要经过清洗、统一格式、去重、补全、字段标准化,整合为统一规范的数据。3)非易失性:数据写入后基本不会修改和删除,所有历史数据都会留存,用于回溯历史数据、做周期对比分析。4)时变性:数仓的数据会持续定时更新,每日/每小时同步新数据,同时保留不同时间节点的快照,支持日、周、月、年等不同维度的时序分析。3、什么是OLAP和OLTP?二者核心差异参考答案:OLTP是联机事务处理,就是传统业务数据库场景,核心是支撑日常业务交易,特点是短事务、高频读写、数据实时更新,对事务一致性、响应速度要求极高,比如电商下单、银行转账。OLAP是联机分析处理,是数据仓库核心场景,核心是海量数据多维分析、聚合统计,特点是查询多、写入少、事务简单,支持复杂多表关联、分组聚合,用于业务复盘、指标统计、经营分析。核心差异:OLTP服务业务交易,追求读写性能和事务稳定;OLAP服务数据分析,追求海量数据查询效率和多维分析能力。二、数仓分层与建模核心考点4、常规数仓分层架构是什么?每层作用和数据特点参考答案:行业通用分层为:ODS、DWD、DWS、ADS,部分公司会增加DIM维度层、DMB汇总层。1)ODS层(原始数据层):直接同步业务系统原始数据,结构、字段、数据格式和源库完全一致,不做复杂处理。作用是备份原始数据、为下游分层提供数据源。数据特点:数据杂乱、冗余高、有脏数据、完整保留原始日志和业务数据。2)DWD层(明细数据层):对ODS数据做清洗过滤,剔除脏数据、空数据、无效数据,完成字段标准化、字典统一、数据脱敏,拆分业务明细数据。作用是产出干净、规范的业务明细数据,支撑上层汇总统计。数据特点:粒度最细、数据干净、无重复、保留全量明细。3)DWS层(聚合宽表层):基于DWD明细数据,按照业务主题、维度进行轻度聚合,构建宽表,比如用户日活宽表、订单交易宽表。作用是提前聚合数据,减少下游重复计算,提升查询效率。数据特点:维度丰富、轻度汇总、粒度适中。4)ADS层(应用数据层):面向业务需求、报表、大屏、接口产出最终指标数据,是数仓最上层结果数据。作用是直接支撑业务展示、数据查询、业务取数。数据特点:高度聚合、指标明确、粒度贴合业务需求。5)DIM维度层:存储全局通用维度数据,比如时间维度、地区维度、用户维度、商品维度,统一维度口径,供所有层级复用。5、什么是维度和指标?举例说明参考答案:维度是分析数据的角度、筛选条件,是定性字段,不参与聚合计算,主要用于分组、筛选、拆分数据。常见维度:时间、地区、用户等级、商品品类、渠道。指标是业务量化的统计结果,是定量数值,需要通过聚合计算得出,比如求和、计数、平均值。常见指标:日活用户数、订单量、交易金额、退款率、复购率。举例:统计2026年8月各渠道的交易金额,时间、渠道是维度,交易金额是指标。6、星型模型和雪花模型的区别,工作中怎么选择?参考答案:1)星型模型:以一张事实表为中心,直接关联多张维度表,维度表不做分层,结构简单。优点是关联查询少、计算速度快、性能高;缺点是维度表存在少量数据冗余。是目前数仓主流使用模型。2)雪花模型:是星型模型的细化,将维度表再次拆分、分层,维度表关联子维度表,结构更规范、冗余极低。优点是数据冗余小、复用性强;缺点是表关联层级多、查询链路长、计算性能差。工作选择:绝大多数业务场景优先用星型模型,牺牲少量冗余换取查询性能;只有维度极其复杂、需要高度复用且对性能要求不高的场景,才会使用雪花模型。7、宽表的意义是什么?为什么数仓喜欢做宽表?参考答案:宽表就是将一个业务主题相关的所有维度、明细字段整合到一张表中,字段多、信息全。核心意义有三点:1)减少多表关联:下游分析、取数、做指标时,不需要频繁关联多张明细表,大幅简化SQL逻辑。2)提升计算性能:提前完成多表关联、字段整合,避免重复计算,降低集群资源消耗。3)统一数据口径:一张宽表统一主题数据,避免不同开发人员重复开发、口径不统一的问题。唯一缺点是字段冗余、占用存储空间,在存储成本极低的当下,完全可以接受。三、数据清洗与数据质量8、日常工作中,数据清洗主要处理哪些问题?参考答案:数仓清洗主要在DWD层完成,核心处理6类问题:1)脏数据过滤:过滤字段为空、字段非法、格式异常的数据,比如手机号为空、订单金额为负数、时间格式错乱。2)重复数据去重:根据业务唯一主键去重,比如订单ID重复、用户日志重复,保留有效数据。3)数据补全:对关键字段缺失的有效数据,通过关联维度表、业务规则补全,比如补全用户地区、商品品类。4)字段标准化:统一字段格式和字典值,比如性别统一男女、渠道名称统一、时间统一为标准格式。5)异常值修正:针对极值、错误值,按照业务规则修正或标记,比如交易金额远超正常区间的数据单独标记。6)数据脱敏:对手机号、身份证、用户昵称等敏感字段做脱敏处理,保障数据安全。9、如何保障数仓的数据质量?有哪些落地手段?参考答案:工作中从监控、校验、复盘三个维度保障数据质量:1)数据完整性监控:监控每日数据同步量、明细条数、指标数值,出现数据断更、条数骤增骤降、指标为空及时告警。2)数据准确性校验:每日核对核心指标,和上游业务系统、历史同期数据、竞品报表做比对,保证口径一致、数值无误;上线前严格自测,覆盖常规、异常场景。3)数据一致性保障:统一全局维度、指标口径,编写口径文档,避免多人多口径;分层复用底层表,杜绝重复开发。4)及时性监控:监控任务调度运行时间,防止任务超时、延迟、失败,保障T+1数据准时产出、实时数据延迟可控。5)问题复盘机制:出现数据问题后,定位源头(源库问题、同步问题、清洗逻辑问题),修复数据、补跑任务,同时优化规则避免重复出错。四、调度、任务与运维实战10、数仓任务调度的流程是什么?常用调度工具参考答案:常规调度流程:数据同步(同步源库到ODS)→ODS任务执行→DWD清洗任务→DWS聚合任务→ADS指标任务→报表展示、数据推送。任务按照分层依赖顺序串行执行,上层任务依赖下层任务执行成功。行业常用调度工具:Airflow、Azkaban、DolphinScheduler、XXL-JOB,国内大数据团队多用DolphinScheduler和Azkaban。11、日常任务运行失败,你的排查思路是什么?参考答案:我会按照从外到内、从源头到结果的顺序排查,效率最高:1)先看任务日志:查看报错信息,区分是SQL语法错误、资源不足、数据异常、还是依赖失败。2)检查上游依赖:确认下层任务是否执行成功、ODS层数据是否正常同步,很多任务失败是上游断数据、延迟导致。3)核对数据问题:排查当日数据是否存在大量空值、重复值、异常值,导致聚合报错、字段溢出。4)检查集群资源:查看YARN资源、内存、CPU是否爆满,任务超时、资源抢占导致失败。5)修复与补数:解决问题后,清空当日脏数据,重新补跑对应批次任务,核对最终数据无误,同步给业务方。五、SQL与数仓优化(核心面试难点)12、数仓SQL优化你常用的手段有哪些?参考答案:日常工作中主要从6个方向优化:1)优先过滤数据:将where条件前置,尽早过滤无效数据,减少后续聚合、关联的数据量,避免全表扫描。2)大表小表关联原则:小表放前面、大表放后面,优先广播小表,减少shuffle数据量。3)避免重复计算:提前在DWS层做好聚合,下游直接复用结果,不重复对明细数据做多次聚合。4)精简字段:查询时只取需要的字段,禁止select*,减少数据传输和存储开销。5)合理分区:利用分区过滤数据,按天分区表必须加日期筛选,避免扫描全量历史分区。6)避免复杂嵌套和笛卡尔积:减少多层子查询,杜绝无关联条件的多表关联,防止产生海量冗余数据。13、什么是数据倾斜?怎么判断和解决数据倾斜?参考答案:数据倾斜就是任务执行时,大部分节点任务快速跑完,少数节点处理海量数据,导致任务卡死、运行超时、资源耗尽,本质是key分布不均匀。判断方式:查看任务运行监控,发现任务进度长时间卡在99%,部分task耗时极长,其余task快速完成;查看key分布,存在大量重复key、空值key、异常key。常用解决办法:1)过滤无效key:直接过滤空值、默认值、异常值,从源头减少倾斜数据。2)加盐打散:对倾斜key追加随机数打散,先局部聚合,再全局聚合,均匀分发数据。3)单独处理倾斜数据:将倾斜key和正常key拆分计算,结果合并,提升运行效率。4)调整参数:修改集群并行度、shuffle参数,适配倾斜数据场景。六、项目实战与场景问答(压轴题)14、讲一下你做过的完整数仓项目流程参考答案:我日常做数仓需求是完整的闭环流程,从需求对接直到落地上线:1)需求对接:和产品、业务对接需求,明确统计口径、指标定义、展示粒度、更新频率,梳理需要的源表和字段。2)需求评估:判断是否需要新建分层表、是否复用已有表、评估开发工作量、排期,确认数据可行性。3)模型设计:按照数仓分层规范,设计DWD明细、DWS宽表、ADS指标表,定义字段、分区、维度、指标口径。4)开发实现:同步原始数据,清洗过滤脏数据,开发明细和聚合SQL,构建宽表,产出上层指标数据。5)数据自测校验:核对数据准确性、完整性、一致性,对比历史数据、业务系统数据,修复异常问题。6)调度配置:配置任务依赖、运行时间、告警规则,保障任务自动定时运行。7)上线复盘:对接报表、数据大屏、接口上线,同步口径文档,后续持续监控数据质量,迭代优化问题。15、业务反馈数据不准,你的处理流程是什么?参考答案:1)先确认问题:和业务核对具体不准的指标、时间范围、差异数值,明确具体问题场景。2)排查数据源头:先看ODS层源数据是否异常,判断是业务源库数据问题,还是数仓加工问题。3)核对加工口径:逐层核对DWD、DWS、ADS计算逻辑,检查过滤条件、关联条件、聚合逻辑是否出错。4)定位问题原因:区分是口径理解错误、SQL逻辑bug、数据清洗规则缺失、还是源数据延迟、脏数据导致。5)修复并补数:修正代码逻辑、补充清洗规则,重新补跑对应周期数据,验证数据恢复正常。6)同步反馈与优化:把问题原因、修复结果同步给业务,同时沉淀规则,避免后续重复出现同类问题。16、实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年黑龙江省同江市高三数学下册期末考试模拟卷含答案(突破训练)
- 2026年黑龙江省宁安市高三数学下册期末考试模拟测试卷及参考答案(模拟题)
- 2026年黑龙江省富锦市高三数学下册期末考试模拟考试卷【考点精练】附答案
- 2026年黑龙江省尚志市高三数学下册期末考试模拟考试卷含完整答案【典优】
- 2026年黑龙江省海林市高三数学下册期末考试模拟检测卷及参考答案1套
- 2026年黑龙江省绥芬河市高三数学下册期末考试模拟检测卷含答案【巩固】
- 2026年黑龙江省肇东市高三数学下册期末考试模拟卷及答案(考点梳理)
- 2026年黑龙江省肇东市高三数学下册期末考试模拟试卷附答案【综合题】
- 2026年黑龙江省铁力市高三数学下册期末考试模拟考试卷及答案【名校卷】
- 2026 年人教版八年级数学上册单元提升测试卷
- 2026年研学导师岗位培训考试试题(附答案)
- 26新五年级上册语文第一次月考检测卷1-2单元
- 第一单元《健康生活 单元小结》课件
- 细胞治疗产品审批监管趋势与市场准入报告
- 国聘招聘笔试测评题库
- 新生儿颅脑超声诊断专家共识(2026版)
- 劲性钢骨梁柱施工方案
- 2026全球及中国柠檬行业消费趋势与需求规模预测报告
- 《碳中和导论》课件-第四章 储能技术与绿色燃料
- 雨课堂学堂在线学堂云《人工智能时代的创新思维(北京理工)》单元测试考核答案
- 烈士纪念日缅怀先烈-不负英魂主题班会课件高中主题班会课件
评论
0/150
提交评论