收集指标查看
数仓-HIVE元数据收集指标
一、已有工具
- 1、ZEUS (任务调度工具)
- 2、Dr-Elephant (任务调优工具)
- 3、Apache Griffin (数据质量工具)
二、最终落地Hbase表结构
row_key: action_id__hive_table
(调度元数据)
列族: scheduler
列: 调度名、开始时间、结束时间、action_id、所属用户
(计算资源元数据)
列族: computing
列: application_id的 map数量 reduce数量
(存储元数据)
列族: store
文件占用大小、文件量
(存储元数据)
列族: quality
列: 精准度、自定义监控值
三、收集元数据的流程
- 1、通过zeus元数据 mysql表(zeus_action_history)得到最近10分钟~5分钟完成的action_id,获取调度相关元数据
- 2、通过zeus action log 获取 yarn_job_id,从 Dr-Elephant后台数据里找到 计算资源元数据。
- 3、通过HIVE表名,找到存储元数据
- 4、通过调用Apache Griffin数据质量工具的API接口,调用执行检测数据质量的脚本,将调用过的接口参数写入mysql
- 5、判断mysql中 是否有已过半小时的的数据质量的脚本任务,如果有,获取其检测结果,写入数据质量元数据
- PS. 为啥不直接获取最近5分钟完成的action_id,因为给 Dr-Elephant 5分钟缓冲时间处理 计算资源元数据入库
四、Code Demo
hive-metadata-collect
五、最终落地场景
落地文章参考