直接数据流介绍
本文将介绍一些生成直接数据流的SQL元素,这些元素是生产数据流的主要原型。
1、Select
示例语句:
SELECT a.empName "eName" FROM scott.emp a Where sal > 1000
目标列“eName”的数据来自scott.emp.empName列,所以我们有这样一个直接的数据流:
scott.emp.empName -> direct -> RS-1."eName"
选择列表生成的结果集RS-1是一个关系,包括列和行。
dataflow in XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<dlineage>
<table id="2" schema="scott" name="scott.emp" alias="a" type="table" coordinate="[2,6,0],[2,17,0]">
<column id="3" name="empName" coordinate="[1,8,0],[1,17,0]"/>
</table>
<resultset id="5" name="RS-1" type="select_list" coordinate="[1,8,0],[1,25,0]">
<column id="6" name=""eName"" coordinate="[1,8,0],[1,25,0]"/>
</resultset>
<relation id="1" type="fdd" effectType="select">
<target id="6" column=""eName"" parent_id="5" parent_name="RS-1" coordinate="[1,8,0],[1,25,0]"/>
<source id="3" column="empName" parent_id="2" parent_name="scott.emp" coordinate="[1,8,0],[1,17,0]"/>
</relation>
</dlineage>
上述关系表示从id=3的源列到id=6的目标列的数据流.
数据流图示:
2. Function
在数据流分析过程中,function起着关键作用,它接受列作为参数,并生成可能是标量值或集合值的结果。
select round(salary) as sal from scott.emp
在上述SQL中,从列salary到round函数生成一个直接数据流:
scott.emp.salary -> direct -> round(salary) -> direct -> sal
数据流图示:
dataflow in xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<dlineage>
<table id="2" schema="scott" name="scott.emp" type="table" coordinate="[1,34,0],[1,43,0]">
<column id="3" name="salary" coordinate="[1,14,0],[1,20,0]"/>
</table>
<resultset id="5" name="RS-1" type="select_list" coordinate="[1,8,0],[1,28,0]">
<column id="6" name="sal" coordinate="[1,8,0],[1,28,0]"/>
</resultset>
<resultset id="8" name="FUNCTION-1" type="function" coordinate="[1,8,0],[1,21,0]">
<column id="9" name="round" coordinate="[1,8,0],[1,13,0]"/>
</resultset>
<relation id="1" type="fdd" effectType="select">
<target id="6" column="sal" parent_id="5" parent_name="RS-1" coordinate="[1,8,0],[1,28,0]"/>
<source id="9" column="round" parent_id="8" parent_name="FUNCTION-1" coordinate="[1,8,0],[1,13,0]"/>
</relation>
<relation id="2" type="fdd" effectType="function">
<target id="9" column="round" parent_id="8" parent_name="FUNCTION-1" coordinate="[1,8,0],[1,13,0]"/>
<source id="3" column="salary" parent_id="2" parent_name="scott.emp" coordinate="[1,14,0],[1,20,0]"/>
</relation>
</dlineage>
数据流图示:
如果您关闭“show function”,设置“/if”选项,数据流结果如下:
参考
马哈鱼数据血缘关系分析工具中文网站: https://www.sqlflow.cn
马哈鱼数据血缘关系分析工具英文网站: https://docs.gudusoft.com
马哈鱼数据血缘关系分析工具在线使用: https://sqlflow.gudusoft.com