本文介绍: 明确没有这个项目之前,痛点在哪里规范规范不易理解不易变更扩展存储冗余:磁盘内存计算冗余:内存,cpu不够优化数据倾斜,sql质量不按时不按量安全: 不安全数据治理考评平台:通过… 利用… 实现了…最终…通过:规划定义了各种数据治理指标项,从Hive, hdfs, ds日志提取各种数据源实现针对各个表和指标考评利用:各个指标的评分排行和问题描述方式,倒逼开发人员数据治理不断改进最终: 让程序员发现数仓现有的问题,找到优化方向

SpringBoot定时调度

  1. applicaiton类上加注解@EnableScheuling
  2. 创建调度scheduler
  3. 创建一个考评调度类AssessScheduler
  4. 创建exec()方法添加注解@Scheduled(cron=“******”)
    • 分表代表秒,分,时,日,月,星期
    • 0/5,*****, 代表每5秒执行一次

调度工具

  1. 大数据:oozie, Azkaban, 任务众多,流程复杂,配置复杂
  2. java: quartz , xxl-job, elasticjob, 流程简单分布式,高可用,配置较为复杂
  3. springtask,不支持复杂的流程,也不支持分布式配置非常简单

血缘关系

  1. 通过双向树形图,来展示与表之间的关系
  2. 提取关系,每个表的上游source_table, 每个表的下游sink_table
  3. 提取表的元数据 + 当天任务实例sql
  4. 解析SQL,提取来源表(调用SQL工具,制作一个节点处理器,目的就是提取来源表),得到keyvalue结构,Key是目标表,valuesource集合
    • 使用语法树来提取来源表,会查询到真实表和子查询表,需要将子查询表去掉,只保留真实表。
    • 将库名.表名加入到来源表set中,需要对带库名和不带库名两种情况都做处理
  5. 保存数据到血缘关系表中

展示血缘图

方案1:把数据写出来,用Java递归实现组装左右树结构
方案2:利用图数据库neo4j, 存储两个节点之间的关系,可以通过语法直接提取某个节点与其他所有父子多层级的关系
方案3:每次只展开一层,用户点击时再查询下一层的节点

总结

为什么要做这个项目

  1. 明确没有这个项目之前,痛点在哪里

  2. 数据治理考评平台:通过… 利用… 实现了…最终…

  3. 如何实现的?

  4. 新学的技术框架

原文地址:https://blog.csdn.net/qq_44273739/article/details/134637543

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_7243.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注