数据仓库生产问题汇总
开篇-项目整体流程
你可以简单说/画一下你们的项目流程吗?
第一章:数据源问题
1:数据来源于 Mysql,简单说一下大概有什么表,都采集什么业务
字段
2:每天的数据量多大 ?增量多少、全量数据多少
3: Mysql 采用什么版本的?
4:你接触的业务数据最大的表多大?多少行?
5:你们业务库中大概有多少表?
6:你们采用的是什么调度方式 ?为什么?
7:凌晨调度的话,如果出现问题有什么处理机制?
8:你们调用是串行调度还是并行调度?
9:调度过程中,上一个调度和下一个调度有没有先后循序?
10:全量导入什么数据 ?增量导入什么数据?
11:Sqoop 导入数据的时候,你用采用了哪些命令?
12:全量数据除了第一次构建数据仓库导入,后面没有全量导入的
场景?
13:有没有从接口中获取过数据?简单介绍一下流程
14:每天晚上执行的调度任务量大概多少?
15:你们的调度任务大概执行多久?
16:在任务调度这块有没有什么设计规范 ?
17:在导入数据的时候,当遇到数据量大的时候有没有进行调优?
怎么调的?
18:Sqoop 导入数据的时候有没有遇到过什么问题 ?怎么解决的?
19:你们通过 Sqoop 导入数据,如何保证自己导入的数据是对的
20:Oozie 是怎么配置的?点了哪些东西,如何上传的?简单
说一下吧第二章:数据存储问题
1:数据为什么要在 HDFS 存储一份 ?为什么不直接在 Hive 中构建
结构化数据?
2:你们项目 Hadoop 采用的是什么版本的?
3:有没有对集群进行监控操作?怎么做的?
4:你们的数据是如何存储在 HDFS,有没有什么规范?
5:你们 Hive 的 yuan 数据存储在哪里 ?第三章:数据计算问题
1:你们为什么要设计 N 层数据?谁设计的?
2:你有没有参与过分层设计 ?每一层的作用是什么?
3:你们 ODS 层大概有多少数据?ODS 最大的表有多大?
4:设计 ODS 的目的是什么?对 ODS 层的数据做了哪些操作?
5:ODS 层和 DWD 层的数据区别在哪?
6:你们都做了哪些 ETL 操作,涉及到哪些场景?清洗了什么、转换
了什么、如何转换的?
7:你认为数据仓库的本质是什么?
8:数据从 DWD 层到 DWM 层、DWM 层到 DWS 层都做了哪些操作?
9:数据的 DWS 层和数据 APP 层的服务对象一样吗?
10:ODS 层、DW 层、RPT/APP 层都采用了那种压缩格式、存储格
式?为什么?
11:Hive 你们用的是什么版本的?大数据平台呢?
12:你们当时执行 Hive 脚本大概跑了多长时间?
13:Hadoop 界面是蓝色的还是绿色的?14:你们集群当时多大?
15:你可以简单说一下在 Hive 数据仓库搭建过程中每层的建模方式
都是什么?
16:有没有进行建模操作?维度建模还是范式建模?
17:数据仓库中有没有采用模型?为什么采用模型?
18:可以简单介绍一下你项目中涉及的事实表有哪些?哪些维度
表?
19:你能简单说一下什么是事实、什么是维度?
20:你在业务中都没有进行优化?如何优化的?
21:有没有用到拉链表?解决了什么问题?开链和闭链是如何设计
的?
22:如果 29 号发现导入 ODS 层的某一张表的 28 号数据有问题怎么
办?
23:数据仓库中的表,你们建设的是内部表还是外部表?
24:简单说一下自动化建表导入数据的思路是什么?如何做判断的
25:你是如何验证自己的指标是计算对的?如果错了,排查思路能
不能简单说一下?26:你遇到过最复杂的指标是什么?简单介绍一下吧
27:在使用 Hive 的时候有没有遇到过什么错误?怎么排查的?如何
解决的?
28:你写过最长的 Sql 多少行?
29:你们数据仓库的数据删除吗?如果删除的话,多久删除一次?
30:Hive on MR 、 Hive on Spark 他们的哪个更好一些 ?
31:可以简单说一下你参与计算的业务价值是什么吗?
32:如果你们对数据脱敏后,比如用户手机号,但是后期我想使用
该用户的手机号数据怎么办?