• 马哈鱼数据流生成介绍


    马哈鱼数据流生成介绍

     

    马哈鱼是当前最流行的数据血缘关系(data lineage)管理工具之一,它是一种通过分析SQL脚本来自动发现数据流向的工具。它通过生成一个简洁的图表来显示数据仓库中表/视图和列之间的数据流。支持超过20种流行的数据库,包括 bigquery, couchbase, dax, db2, greenplum, hana, hive, impala, informix, mdx, mysql, netezza, openedge, oracle, postgresql, redshift, snowflake, sqlserver, sybase, teradata, vertica等。只需通过复制、粘贴SQL脚本并单击一个分析按钮,即可立即获得数据流向图,只需单击鼠标即可在图中突出显示数据流,操作简单、显示结果清晰可见。

    一、马哈鱼架构介绍

    马哈鱼(SQLFlow)结构视图如下,它由客户端、前端、后端分析引擎三个基本组件后成,用户可以通过浏览器将要分析的SQL语句传递给前端,前端进行语法校验及分析参数设定等工作,然后将配置完成的逻辑发送给后端分析引擎,分析引擎生成数据血缘关系模型后交给前端生成图形化展示给用户。

    具体结构如下图:

    sqlflow_architecture

     

    sqlflow_mahayu

    二、常见生成数据流的元素

    1、Select

    查询是最基本、最常见的结果集生成,它可能来源对象间关联或单个对象,也可能来源于子查询或CET。

    SELECT a.empName "eName" FROM scott.emp a Where sal > 1000

    目标列“eName”的数据来自scott.emp.empName,所以它生成了一个直接的数据流,如下所示:

    scott.emp.empName -> direct -> RS-1."eName"

    上面的RS-1是一个选择结果集,它是一个虚拟表,包含查询返回的列;

    图示:

    1

    2、函数

    函数在SQL语句中最常见的元素之一,它在马哈鱼分析中起到了关键性作用,它能将列作为参数返回具体的标量结果集。

    select round(salary) as sal from scott.emp

    在上述SQL中,从列salary到round函数生成一个直接数据流:

    scott.emp.salary -> direct -> round(salary) -> direct -> sal

    图示:

    2

    3、表达式

    表达式类似于函数,它在具体的生成语句中也是广泛存在;

    select a/2 ,id from T;

    在上述SQL中,从a列计算而来的a/2将作为直接数据流被生产

    scott.emp.a -> direct -> RS-2."a/2"

    图示:

    image-20220103223417898

    如果你想了解更多关于马哈鱼的使用及技术资料,请登录马哈鱼官网https://sqlflow.gudusoft.com,你会获得更多的支持与帮助。

    三、参考

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

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

  • 相关阅读:
    PostgreSQL事务特性之嵌套事务
    __attribute__((format(printf, a, b)))
    N个数依次入栈,出栈顺序有多少种?
    操作系统页面置换算法(opt,lru,fifo,clock)实现
    codeforces Round #320 (Div. 2) C. A Problem about Polyline(数学) D. "Or" Game(暴力,数学)
    基于X86平台的PC机通过网络发送一个int(32位)整数的字节顺序
    c/c++多线程模拟系统资源分配(并通过银行家算法避免死锁产生)
    Windows下使用Dev-C++开发基于pthread.h的多线程程序
    斐波那契的四种求法
    红黑树的插入
  • 原文地址:https://www.cnblogs.com/syforacle/p/sqlflow_mahayu.html
Copyright © 2020-2023  润新知