HIVE元数据收集(python版本)

收集指标查看

数仓-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

五、最终落地场景

落地文章参考

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

猜你喜欢

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