利用job提升马哈鱼数据血缘分析效率

一、Job基本知识

前面文章中已介绍马哈鱼的基本功能,其中一个是job,job其实是一个任务集合处理的概念,就是让用户通过job,可以一次递交所有需要处理的 SQL,SQLFlow处理这些 SQL,把所有的数据血缘都分析出来。从用户角度,job包含job list和The Latest Job。其中,job list是当前用户所有的job。而The Latest Job是所有用户job中最新的job列表。本文向您重点介绍job的作用及用法。

job是马哈鱼收集各种数据源的数据后分析的任务,现在马哈鱼平台上支持三种方式: 1、上传文件(支持SQL脚本文件,Spark的python脚本文件和CSV文件,支持的CSV文件的文档;

2、从数据库中收集metadata,其实就是收集表,存储过程,视图的DDL,metadata结构文档:

3、上传文件并从数据库中收集metadata,同时也从数据库中收集metadata的目的是为了解决文件中SQL脚本分析过程中产生的Orphan Column的异常(详情参阅《利用元数据提高 SQLFlow 血缘分析结果准确率》)。

二、如何使用Job进行血缘分析

job是一个与用户紧密关联的功能,如果您以访客身份登录马哈鱼官网https://sqlflow.gudusoft.com/后,在没有登录时,您无法正常使用job功能,其中job list列表为空,The Latest Job需要登录后才能进行查看。如下图:

对任何用户,马哈鱼官方提供一个示例job作业,帮助用户快速熟悉job的使用。

1、Job支持的文件格式

  • 单个 SQL 文件。

  • 多个 SQL 文件,可以包含子目录,打包成zip文件再上传。

  • 从 git server 上获取的所有 SQL 文件

  • 从数据库中获取的,包含元数据和DDL语句的,专门格式的 JSON文件。

  • 包含 SQL 语句的 CSV 文件

  • 其它 grabit 工具可以事先处理文件,抽取出 SQL 提交给 SQLFlow 来分析血缘。

2、创建一个新的job

客户在创建job前,必须先进行sql source选择,不同的sql source对应填充项是不同的。马哈鱼job目前支持三种sql source,分别是:

  • upload file

    仅上传SQL文件,马哈鱼会根据上传的SQL语句进行解析所有溯源关系,它必须填写dbvendor、jobname、file等基本信息,如果是csv文件,还需要填写database、schema、objectType、objectCode等在csv中的对应列名称。如下图:

  • from database

    客户需要填写用户数据库连接信息,通过直连客户数据库,马哈鱼将从数据库中直接获取对象定义及它们间的逻辑关系,该类型job将会根据客户选择的数据库所有或特定schema下所有的对象血缘关系进行分析。

    通过下图中advanced选项,客户可以限制马哈鱼job的分析范围,如果不选择默认分析当前连接数据库中所有的对象间的血缘关系。

  • upload file+database metadata

    该方式是将上述两种方式进行整合,更加灵活,客户可以通过连接到数据库方式对任何自定义语句集合进行集中分析,该方式灵活且能避免较多因sql语句书写不规范带来的问题。

3、使用已有的job

你设计一下,看看如何为所有的用户,包含standard 用户预设一个sample job 目的是为了可以让用户首次登录后马上可以体验job的功能,可以查看该sample job的data lineage

job

点击upload按钮,可以上传文件,创建一个job。当job处理完成后,可以点击view lineage,打开处理结果。

当客户登录到马哈鱼后,在左侧功能导航栏中有两个job入口,分别是job list和The Latest Job,其中,job list显示该用户下所有的job,而The Latest Job会使用新窗口自动加载最新的一个job的分析结果。

三、参考

马哈鱼数据血缘分析器: https://sqlflow.gudusoft.com

马哈鱼数据血缘分析器中文网站: https://www.sqlflow.cn

利用job提升马哈鱼数据血缘分析效率的更多相关文章

  1. 马哈鱼数据血缘分析器分析case-when语句

    马哈鱼数据血缘分析器是一个分析数据血缘关系的平台,可以在线直接递交 SQL 语句进行分析,也可以选择连接指定数据库获取 metadata.从本地上传文件目录.或从指定 git 仓库获取脚本进行分析. ...

  2. 数据治理中Oracle SQL和存储过程的数据血缘分析

    数据治理中Oracle SQL和存储过程的数据血缘分析   数据治理中的一个重要基础工作是分析组织中数据的血缘关系.有了完整的数据血缘关系,我们可以用它进行数据溯源.表和字段变更的影响分析.数据合规性 ...

  3. 马哈鱼血缘分析工具部署介绍--win 10

    马哈鱼血缘分析工具部署介绍--win 10 随着大数据技术的发展与普及,数据治理和数据质量变得越来越重要,数据血缘分析在业界悄然兴起并得到了广泛流行,马哈鱼是国内少有的一款专业且易用的血缘分析工具.本 ...

  4. 马哈鱼间接数据流中的where-group-by子句

    马哈鱼间接数据流中的where-group-by子句 本文介绍间接数据流中的where-group-by子句. 1.列在where子句中 WHERE子句中源表中的某些列不影响目标列,但对所选行集至关重 ...

  5. 使用grabit分析mysql数据库中的数据血缘关系

    使用grabit分析mysql数据库中的数据血缘关系 Grabit 是一个辅助工具,用于从数据库.GitHub 等修订系统.bitbucket 和文件系统等各种来源收集 SQL 脚本和存储过程,然后将 ...

  6. 智能驾驶数据后处理分析利器—INTEWORK-VDA

            随着智能驾驶技术在新车上逐步普及,车辆研发阶段需要做大量的实车测试工作,当前的测试方式主要是路采实车数据后,按标准和法规进行测试场景提取和测试数据分析.调查显示绝大部分智能驾驶研发厂商 ...

  7. [.net 面向对象程序设计进阶] (15) 缓存(Cache)(二) 利用缓存提升程序性能

    [.net 面向对象程序设计进阶] (15) 缓存(Cache)(二) 利用缓存提升程序性能 本节导读: 上节说了缓存是以空间来换取时间的技术,介绍了客户端缓存和两种常用服务器缓布,本节主要介绍一种. ...

  8. 利用元数据提高 SQLFlow 血缘分析结果准确率

    利用元数据提高 SQLFlow 血缘分析结果准确率 一.SQLFlow--数据治理专家的一把利器 数据血缘属于数据治理中的一个概念,是在数据溯源的过程中找到相关数据之间的联系,它是一个逻辑概念.数据治 ...

  9. C#利用SqlDataAdapte对DataTable进行批量数据操作

    C#利用SqlDataAdapte对DataTable进行批量数据操作,可以让我们大大简化操作数据的代码量,我们几乎不需要循环和不关心用户到底是新增还是修改,更不用编写新增和修改以及删除的SQL语句, ...

随机推荐

  1. YGC问题排查

    在高并发下, Java程序的GC问题属于很典型的一类问题,带来的影响往往会被进一步放大. 不管是 「GC频率过快」还是「GC耗时太长」,由于GC期间都存在Stop The World问题,因此很容易导 ...

  2. 浅谈Java类中的变量初始化顺序

    一.变量与构造器的初始化顺序 我们知道一个类中具有类变量.类方法和构造器(方法中的局部变量不讨论,他们是在方法调用时才被初始化),当我们初始化创建一个类对象时,其初始化的顺序为:先初始化类变量,再执行 ...

  3. SPOJ ABCDEF题解

    题面 源 OJ 未 AC(卡 \(map\) ,不想写 \(hash\) ). 看到 \(n \leq 100\) ,显然 \(O(n^6)\) 会挂掉,所以要优化. 考虑到原式可化为 \(a \ti ...

  4. RHCSA_DAY05

    计算机硬件组成部分 输入设备:键盘.鼠标.触控屏等 主机设备:主板.中央处理器(CPU).主存储器(内存).网卡.声卡.显示卡等 输出设备:屏幕.耳机.打印机.投影仪等 外部存储设备:硬盘.软盘.光盘 ...

  5. 超详细Java基础-多态

    茫茫人海千千万万,感谢这一秒你看到这里.希望我的能对你的有所帮助!共勉! 愿你在未来的日子,保持热爱,奔赴山海! Java基础知识(多态) 多态 多态就是指程序中定义的引用变量所指向的具体类型和通过该 ...

  6. Java代码编写、代码优化技巧总结

    随着工作经验的积累,在代码编写和优化方面,个人的心得体会总结以及有些从网上或书本中看到的有用技巧 1. 判断何时使用keySet()和entrySet() 获取Map 的key 和value 当循环中 ...

  7. 用AutoHotkey做汉字到Unicode字符串的转换

    要把汉字转换为搜的形式,也就是在汉字的Unicode Big Endian编码前面加"&#x",后面加分号.例如""字转换后为"搜" ...

  8. Switch User Command in Linux

    Switch user command (su) has the following forms: su Switch to , without loading environment variabl ...

  9. 【笔记】逻辑回归中使用多项式(sklearn)

    在逻辑回归中使用多项式特征以及在sklearn中使用逻辑回归并添加多项式 在逻辑回归中使用多项式特征 在上面提到的直线划分中,很明显有个问题,当样本并没有很好地遵循直线划分(非线性分布)的时候,其预测 ...

  10. SpringBoot开发十八-显示评论

    需求介绍 显示评论,还是我们之前做的流程. 数据层:根据实体查询一页的评论数据,以及根据实体查询评论的数量 业务层:处理查询评论的业务,处理查询评论数量的业务 表现层:同时显示帖子详情数据时显示该帖子 ...