利用job提升马哈鱼数据血缘分析效率
利用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提升马哈鱼数据血缘分析效率的更多相关文章
- 马哈鱼数据血缘分析器分析case-when语句
马哈鱼数据血缘分析器是一个分析数据血缘关系的平台,可以在线直接递交 SQL 语句进行分析,也可以选择连接指定数据库获取 metadata.从本地上传文件目录.或从指定 git 仓库获取脚本进行分析. ...
- 数据治理中Oracle SQL和存储过程的数据血缘分析
数据治理中Oracle SQL和存储过程的数据血缘分析 数据治理中的一个重要基础工作是分析组织中数据的血缘关系.有了完整的数据血缘关系,我们可以用它进行数据溯源.表和字段变更的影响分析.数据合规性 ...
- 马哈鱼血缘分析工具部署介绍--win 10
马哈鱼血缘分析工具部署介绍--win 10 随着大数据技术的发展与普及,数据治理和数据质量变得越来越重要,数据血缘分析在业界悄然兴起并得到了广泛流行,马哈鱼是国内少有的一款专业且易用的血缘分析工具.本 ...
- 马哈鱼间接数据流中的where-group-by子句
马哈鱼间接数据流中的where-group-by子句 本文介绍间接数据流中的where-group-by子句. 1.列在where子句中 WHERE子句中源表中的某些列不影响目标列,但对所选行集至关重 ...
- 使用grabit分析mysql数据库中的数据血缘关系
使用grabit分析mysql数据库中的数据血缘关系 Grabit 是一个辅助工具,用于从数据库.GitHub 等修订系统.bitbucket 和文件系统等各种来源收集 SQL 脚本和存储过程,然后将 ...
- 智能驾驶数据后处理分析利器—INTEWORK-VDA
随着智能驾驶技术在新车上逐步普及,车辆研发阶段需要做大量的实车测试工作,当前的测试方式主要是路采实车数据后,按标准和法规进行测试场景提取和测试数据分析.调查显示绝大部分智能驾驶研发厂商 ...
- [.net 面向对象程序设计进阶] (15) 缓存(Cache)(二) 利用缓存提升程序性能
[.net 面向对象程序设计进阶] (15) 缓存(Cache)(二) 利用缓存提升程序性能 本节导读: 上节说了缓存是以空间来换取时间的技术,介绍了客户端缓存和两种常用服务器缓布,本节主要介绍一种. ...
- 利用元数据提高 SQLFlow 血缘分析结果准确率
利用元数据提高 SQLFlow 血缘分析结果准确率 一.SQLFlow--数据治理专家的一把利器 数据血缘属于数据治理中的一个概念,是在数据溯源的过程中找到相关数据之间的联系,它是一个逻辑概念.数据治 ...
- C#利用SqlDataAdapte对DataTable进行批量数据操作
C#利用SqlDataAdapte对DataTable进行批量数据操作,可以让我们大大简化操作数据的代码量,我们几乎不需要循环和不关心用户到底是新增还是修改,更不用编写新增和修改以及删除的SQL语句, ...
随机推荐
- cJSON解析数据如何避免过多if-else,实现解耦
代码展示: 数据接收函数内,解析cJSON数据时,一不小心就会冒出来一大堆if语句在一个函数内,后续想要新增网络功能时,必然又会导致需要在mqtt订阅函数内去新增部分代码,实现解析新的报文. 这显然耦 ...
- 预训练语言模型的前世今生 - 从Word Embedding到BERT
预训练语言模型的前世今生 - 从Word Embedding到BERT 本篇文章共 24619 个词,一个字一个字手码的不容易,转载请标明出处:预训练语言模型的前世今生 - 从Word Embeddi ...
- SQL 查询总是先执行SELECT语句吗?你们都错了!
SELECT语句中子句的顺序.SELECT语句中使用时必须遵循的次序. 经过一段时间的学习,我们知道了SELECT语句超简版的语法如下: SELECT 字段名 FROM 表名 后来,我们又陆续学习了W ...
- C++手写内存池
引言 使用new expression为类的多个实例分配动态内存时,cookie导致内存利用率可能不高,此时我们通过实现类的内存池来降低overhead.从不成熟到巧妙优化的内存池,得益于union的 ...
- Mybatis学习笔记-配置解析
核心配置文件 mybatis-config.xml properties(属性) settings(设置) typeAliases(类型别名) typeHandlers(类型处理器) objectFa ...
- 20初识前端HTML(1)
1 .HTML 1.1 网页的组成 文字 图片 链接 等元素构成.除了这些元素之外 网页中还可以包含音频 视频 等 1.2 WEB前端开发的流程 现在主流的开发流程: 前后端分离的开发模式. 美工:p ...
- git分支merge冲突 error: you need to resolve your current index first
问题: 执行切换代码分支 git checkout featrue_2019-06-24 ,报错如下: error: you need to resolve your current index fi ...
- 解决:无法从 Windows 应用商店下载。请检查网络连接
今天在安装wsl的时候,装了几次一直中断,一直提示正在从Windows 应用商店下载,网络无法连接... 每次都是加载到2%就断了.网上搜了一圈,找到以下2种解决办法: 修改DNS把DNS修改为微软的 ...
- 爱了,字节跳动大神最佳整理:582页Android NDK七大模块学习宝典,理论与实践
前言 时至今日,短视频App可谓是如日中天,一片兴兴向荣.随着短视频的兴起,音视频开发也越来越受到重视,而且薪资水涨船高,以一线城市为例,音视频工程开发的薪资比Android应用层开发高出40%. 但 ...
- MyBatis学习05(多对一和一对多)
8.多对一的处理 多对一的理解: 多个学生对应一个老师 如果对于学生这边,就是一个多对一的现象,即从学生这边关联一个老师! 数据库设计 CREATE TABLE `teacher` ( `id` IN ...