高频面试题-数据治理篇

〇、前言

做过数据治理吗?

你怎么评估你的数据仓库的好坏程度?又怎么来改善它?

你怎么保障你的数据质量?

数据安全有了解怎么做吗?

当面试官问到这类问题,就是想了解候选人对于数据治理的理解程度。让我们来看看高频出现的数据治理相关问题吧。

图片

一、数据治理概论

当数据开发谈论数据治理时,我们在谈论什么?

数据治理的目标是:通过建立标准、组织、流程、工具、运营等一系列的措施,来保障企业数据可靠(质量、安全)易用(效率、成本、体验)。

图片

二、数据治理面试问题

1.数据质量怎么保障?

质量保障需要通过事前约定、事中测试监控、事后复盘三个环节共同保障。

1)事前即在模型构建或者需求引入阶段,就定义好一些数据准确性、一致性、完整性、以及业务约束的实施细则;

2)接着是事中,在数据开发阶段进行充分的测试,任务上线之后加上DQC监控(DataQualityCheck),在数据质量发生时及时阻断介入。

3)事后部分,定期复盘处理的问题,确认分别是什么原因导致的质量问题,是上游变更导致异常,还是边界问题未测试充分,还是开发逻辑错误,或者是平台错误,或者是需求沟通歧义都有可能。

发掘到问题根因才能对症下药,并通过重新建立规范或者长效保障方案,不断地提升数据质量的效果。

真题回顾

得物数据开发一面

tiktok数据开发一面

途虎养车数据开发一面

图片

2. 怎么去保障数据生产时效?

1)第一步是任务上线前确保时效OK。上游就绪时间+任务运行时长+冗余时长是否能满足最低时效,这一步应该融入到上线规范中。确保不会在需求迭代时就引入时效风险。

2)第二步是加上SLA监控,当任务有破线风险时能及时被负责的研发同学感知到。

3)第三步是进行针对性的优化。例如随着业务扩张,数据量增大或者数据分布变化也可能导致任务运行时间过长,此时需要排查是否存在数据倾斜、小文件过多等问题,并进行性能调优。

另外从长期保障来看,时效问题最终都可以归结为数据建模与架构的问题,只有当中间层复用性足够高,数据从采集到应用的链路足够精简时,任务运行总耗时才会短,时效才会有保障。即使问题出现,定位和排除问题也能迅速。

真题回顾:

得物数据开发一面

tiktok数据开发一面

图片

3.具体做了哪些质量的保障?

从完整性、准确性、一致性三个方面进行上线前检查和DQC监控配置。

完整性:表分区存在非空;字段填充率符合预期;表字段完整;

准确性:主键唯一;维度枚举在范围内;指标固定值在阈值范围内;维度分布日环比波动正常;指标总和日环比在波动范围内;以及其他业务要求的监控规则。

一致性:相同指标,相同画像标签在相同维度限定下值应该完全一致。

真题回顾:

得物数据开发一面

图片

4.说说对数据治理的理解?

一个好的数据仓库,能够从质量、效率、成本、安全、体验5个方面都有很好的结果。可以参考数据建模篇问题3来体系化评估。在量化完数仓的建设水位之后,我们仍然能从这几个方面作为输出目标去改进它,下面是一些常见的实践。

1.数据质量  

数据开发之前,需要定义清楚质量标准、理清业务诉求。

数据上线中,需要对数据内容进行测试并配置监控,研发负责人跟进运维。

数据上线后,如果有问题需要进行复盘,应排查到根因(例如上游系统迭代引入错误、还是边界错误、或者平台生产问题等)同时进行流程改进。

2.数据成本  

分步骤分层来看。

建表时按规范设定底层HDFS文件格式(通常是ORC),从而在数据存储和数据计算成本中取的均衡。

对于ods数据,如果是全量数据需要设定最长存储周期(如365天等)

对于dw*层数据,容易出现大存储和大计算的任务,需要检查是否存在性能优化空间。(避免出现数据倾斜、或者子查询笛卡尔积等情况)

对于ads层,一般考虑下线热度较低的数据。

同时周期性的排查是否存在无效冗余数据,例如已有更新模型可替代,则下线冗余模型;热度较低的模型需排查是否可以下线。

3.数据效率  

主要是从表查询效率和需求交付时效两个方面来改进。

a.表查询时长高于平均时长则说明数据组织形式有问题,例如存储时文件不均衡导致map端倾斜;分区键设置不合理导致文件io过多;以及模型的业务表征能力不足,需要使用方额外增加计算步骤;另外如果多表关联率过高也说明模型建设程度不足,需要额外加强模型建设。

b.人均需求交付时长高于平均水平,则可以分拆到主题域或者开发人名下,可能是主题域模型效率较差、或是开发人需要更多培训。

4.数据安全 

数据安全的改进措施主要是建立分级分类的标准,同时按分级标准进行权限的管控。最后用户隐私和商业财务数据应该进行脱敏加密,从系统存储的层面保障安全。

5.数据体验 

一是丰富数据资产知识库的完备性,所有对外发布的数据都应该配备字段解释,数据样例和统计分布,最好有使用案例,以及常用的SQL分析脚本。

二是建立数据运营机制,业务有数据问题时通过答疑群迅速响应(控制在一小时内,至少不超过一天),并收集整理FAQ,保持更新,使得用户在数据使用过程中足够顺畅。

三是命名规范需要严格执行。表命名、字段命名应该见名知义,减少理解成本。

四是针对用户使用应用时的查询时长、SQL复杂度、使用人员占比等指标进行定期跟踪回访确认数据使用的痛点,通过周期性的建模优化持续改善。

真题回顾:

支付宝数据开发一面

得物数据开发一面

懂车帝数据开发一面

字节中台数据开发一面

字节中台数据开发二面

图片

4.1 怎么能保障数据治理的效果能落地吗?有什么好的方法吗?

数据治理通常都是以被动治理、问题驱动的专项治理方式进行改进。但长期来看还是要建立评估体系,持续运营。首先建立必要的标准(指标命名规范、数据建模规范、成本治理规范),由组织委员会牵头,使用工具系统和流程机制作为硬性抓手,长期监控并改进。

这里可以配合项目进一步解释。

真题回顾:

字节中台数据开发二面

图片

5.存储怎么治理优化?

首先从建模规范开始,要设定HDFS的存储格式,确保文件系统的存储最优;设定最长数据存储周期,到期冷备或者删除,保障存储成本底线。

其次是可以进行周期性的冗余成本治理。

1)把整个数仓存储量最大的top10整理出来,让对应的负责人确认是否可以治理;

2)按主题域把存储量最大的top10整理出来,让对应负责人确认是否可以治理。

3)把最近一个周期查询热度为0或热度排名后5%的表整理出来让对应负责人确认是否可以删除。

最后从评估视角来说,如果成本增长速度低于业务核心指标增速,那么成本增长是合理的,否则说明需要更多优化动作(例通过优化建模提高模型复用性,减少冗余数据)

真题回顾:

得物数据开发一面

图片

四、后记

本篇介绍的更多是偏理论的内容,但在面试过程中需要结合项目来综合体现,让面试官看到候选人对于数据治理的体系化思考和问题解决能力。下一篇我们会从项目介绍的视角讨论面试中如何体现实战能力。

图片

  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值