利用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. java基于mongodb实现分布式锁

    原理 通过线程安全findAndModify 实现锁 实现 定义锁存储对象: /** * mongodb 分布式锁 */ @Data @NoArgsConstructor @AllArgsConstr ...

  2. OpenFaaS实战之四:模板操作(template)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  3. 随处可编辑的编辑器之神VIM

    据说这世界上只有三种编辑器:Vim,Emacs 和 其他编辑器,其中 Vim 被称作编辑器之神,Emacs 被称作神的编辑器,当然,其他编辑器永远只能是其他编辑器. 拿一位 网友的话 来说,VIM 的 ...

  4. SpringBoot 默认json解析器详解和字段序列化自定义

    前言 在我们开发项目API接口的时候,一些没有数据的字段会默认返回NULL,数字类型也会是NULL,这个时候前端希望字符串能够统一返回空字符,数字默认返回0,那我们就需要自定义json序列化处理 Sp ...

  5. QML用Instantiator动态创建顶级窗口

    关键点 使用Model驱动Instantiator QML里面的hashmap: QQmlPropertyMap 上一次说到用 QQmlApplicationEngine 多次load的方式创建多个一 ...

  6. K8S系列第八篇(Service、EndPoints以及高可用kubeadm部署)

    更多精彩内容请关注微信公众号:新猿技术生态圈 更多精彩内容请关注微信公众号:新猿技术生态圈 更多精彩内容请关注微信公众号:新猿技术生态圈 Endpoints 命名空间级资源,如果endpoints和s ...

  7. TypeScript学习笔记(四)装饰器

    目录 一.装饰器的作用 二.类装饰器 1. 普通装饰器 为类扩展属性和方法 使用装饰器修改属性和重写方法 2. 装饰器工厂 三.属性装饰器 四.方法装饰器 使用方法装饰器对方法进行扩展 五.方法参数装 ...

  8. appium自动化测试(4)部分方法&unitest初步使用

    捕捉弹窗 https://github.com/appium/appium/issues/968完整有截屏的例子:https://github.com/bitbar/testdroid-samples ...

  9. C++ 结构体案例2 升序打印数组中的元素

    1 //结构体案例 2 2 #include<iostream> 3 #include<string> 4 #include<ctime> 5 using name ...

  10. jmeter参数化时, 中文乱码问题的解决

    参数化文件中文乱码, 可在"CSV数据文件设置"将编码改为"GB2312"即可