大数据高频面试题之数据治理

元数据管理

元数据管理目前开源的框架中,Atlas 框架使用的较多。再就是采用自研的系统。

1)元数据管理底层实现原理

解析如下 HQL,获取对应的原数据表和目标表直接的依赖关系。

insert into table ads_user

select id, name from dws_user

依赖关系能够做到:表级别和字段级别 neo4j

2)用处:作业执行失败,评估他的影响范围。主要用于表比较多的公司

atlas 版本问题:

0.84 版本:2019-06-21

2.0 版本:2019-05-13

框架版本:

Apache  0.84  2.0 2.1 

CDH 2.0

3)尚大自研的元数据管理

数据质量监控

实现数据质量监控,你具体怎么做,详细说?

实现数据质量检测的功能,我们需要首先明确数据质量的维度,例如准确性、完整性、

唯一性、及时性和一致性。

1)确定数据源

确定需要进行数据质量检测的数据源。这可能是数据库表、文件、API 等。

2)定义质量规则

为每个数据质量维度定义具体的规则。例如:

  • 准确性:检查数据是否符合预期的范围或分布。
  • 完整性:检查数据是否存在缺失值或空值。
  • 唯一性:检查数据中是否存在重复项。
  • 及时性:检查数据是否在预期的时间范围内更新。
  • 一致性:检查数据是否符合预定义的格式或标准。

3)实现检测功能

使用编程语言(如 SQL)编写检测数据质量的函数。这些函数可以包括:

  • 数据导入:从数据源导入数据。
  • 数据清理:对数据进行预处理,如去除空格、转换数据类型等。
  • 应用质量规则:根据定义的质量规则,实现相应的检测函数。例如,检查缺失值、重复项或数据范围等。
  • 输出报告:生成数据质量报告,如将检测结果汇总成表格或可视化图表。

4)自动化和监控

将数据质量检测功能集成到数据管道或 ETL 过程中,以实现自动化检测。此外,可以设置监控和警报机制,以便在检测到数据质量问题时及时通知相关人员。

监控原则

1)单表数据量监控

一张表的记录数在一个已知的范围内,或者上下浮动不会超过某个阈值

  • SQL 结果:var 数据量 = select count(*)from 表 where 时间等过滤条件
  • 报警触发条件设置:如果数据量不在[数值下限, 数值上限], 则触发报警
  • 同比增加:如果((本周的数据量 - 上周的数据量)/上周的数据量*100)不在 [比例下线,比例上限],则触发报警
  • 环比增加:如果((今天的数据量 - 昨天的数据量)/昨天的数据量*100)不在 [比例下线,比例上限],则触发报警
  • 报警触发条件设置一定要有。如果没有配置的阈值,不能做监控

日活、周活、月活、留存(日周月)、转化率(日、周、月)GMV(日、周、月)复购率(日周月) 30%

2)单表空值检测

某个字段为空的记录数在一个范围内,或者占总量的百分比在某个阈值范围内

  • 目标字段:选择要监控的字段,不能选“无”
  • SQL 结果:var 异常数据量 = select count(*) from 表 where 目标字段 is null
  • 单次检测:如果(异常数据量)不在[数值下限, 数值上限],则触发报警

3)单表重复值检测

一个或多个字段是否满足某些规则

  • 目标字段:第一步先正常统计条数;select count(*) form 表;
  • 第二步,去重统计;select count(*) from 表 group by 某个字段
  • 第一步的值和第二步不的值做减法,看是否在上下线阀值之内
  • 单次检测:如果(异常数据量)不在[数值下限, 数值上限], 则触发报警

4)单表值域检测

一个或多个字段没有重复记录

  • 目标字段:选择要监控的字段,支持多选
  • 检测规则:填写“目标字段”要满足的条件。其中$1 表示第一个目标字段,$2 表示第二个目标字段,以此类推。上图中的“检测规则”经过渲染后变为“delivery_fee =delivery_fee_base+delivery_fee_extra”
  • 阈值配置与“空值检测”相同

5)跨表数据量对比

主要针对同步流程,监控两张表的数据量是否一致

  • SQL 结果:count(本表) - count(关联表)
  • 阈值配置与“空值检测”相同

数据治理

资产健康度量化模型。

根据数据资产健康管理的关键因素,明确量化积分规则。根据数据基础信息完整度、数据存储和数据计算健康度、数据质量监控规则合理性等,完整计算数据资产健康分。

1)资产健康分基础逻辑

(1)健康分基本设定原则:

○ 健康分采用百分制,100 最高,0 分最低;

○ 健康度以表为最细粒度,每个表都有一个健康分;

○ 个人、业务版块、团队、一级部门、以及集团的健康分以所属表的健康分加权平均;

○ 数据表权重=(表字节数 + 1)再开立方根;空表的权重为 1;

(2)数据表资产健康分:

数据表资产健康分 score =(规范合规健康分*10% + 存储健康分*30% + 计算健康分*30% + 数据质量健康分*15% + 数据安全健康分 * 15%);

2)数据资产特征列表:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值