数仓-HIVE元数据收集指标

通过对HIVE表进行打标签,构建基础元数据表

  • 1、存储
  • 2、应用场景
  • 3、数据质量
  • 4、重要等级
  • 5、调度任务
  • 6、计算资源
  • 7、被使用情况
1、存储

HIVE表是否分区、量级(可定阈值 设定等级)
优化集群存储资源时、快速找到大表。方便监控表的量级变化情况

2、应用场景

从应用层入手(画像、广告、财务等),通过血缘链路,给涉及到的HIVE表,打上应用场景的标签
清楚知道 表是能应用在什么场景下

3、数据质量

参考Apache Griffin默认的指标,数据精准度(和数据源匹配)、主键粒度唯一、字段null值 极值 平均值 统计、离散值分布等
查看表的数据是否有异常情况,第一时间进行报警通知

4、重要等级

应用层的产出也是有重要等级之分,像对外输出、财务、广告、转化率等报表,重要等级是很高的。因此也是通过血缘链路,给涉及到的HIVE表,打上重要等级标签。
在任务调度的时,资源和优先级,应该优先保证

5、调度任务

监控HIVE表的生成对应的调度任务的开始时间和完成时间,用来保证时间截点是健康状态。
比如订单表需要在凌晨2点之前跑完
查看调度依赖的甘特图

6、计算资源

参考Dr-elephant大象医生,监控Map和Reduce端的使用资源、运行速度、是否倾斜、GC比例等
通过上面的监控数据,进行任务优化

7、被使用情况

通过血缘分析,了解表和表的字段在下游的使用情况。表被 from 和 join 的次数、字段被 select where group join 的次数等
如果这是底层的表,使用次数还是很多的话。对此表进行仓库建模处理
如果字段使用较多的话,对此字段进行指标沉淀处理

落地方案

HIVE元数据收集(python版本)
HIVE元数据使用场景落地(python版本)

发布了53 篇原创文章 · 获赞 50 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/xw514124202/article/details/103345037