Spark SQL获取父表的谱系

时间:2015-11-27 01:00:27

标签: apache-spark apache-spark-sql

我从case类加载创建了3个临时表。我们称之为

  • ABC
  • BCD
  • EFG

然后我通过执行连接继续创建3个表。

  • ABC 加入 BCD ,提供 XYZ
  • XYZ 加入 EFG ,提供 LMN
  • LMN 加入 ABC ,提供 PQR

spark是否允许我以某种方式查看依赖注册临时表的谱系?如何提取知道LMN依赖于XYZ的信息,PQR依赖于LMN,并以编程方式使用它来构建谱系树(没有所有计划信息)。 等:

class A(self):
    def __init__(self):
        pass
    def func_A(self):
        print '10'

感谢。

2 个答案:

答案 0 :(得分:0)

有一个开源工具可用于可视化沿袭:https://github.com/AbsaOSS/spline

它在运行时收集谱系,并捕获以显示为图形。

答案 1 :(得分:0)

让我们以这个 SQL 为例,它就像你提到的那样创建了表/视图。

CREATE TABLE ABC(abc_column1 int, abc_column2 string);
CREATE TABLE BCD(bcd_column1 int, bcd_column2 string);
CREATE TABLE EFG(efg_column1 int, efg_column2 string);

create view XYZ(xyz_column1,xyz_column2) 
as select abc.abc_column1, bcd.bcd_column2
from abc 
left join bcd on abc.abc_column1 = bcd.bcd_column1;
  
create view LMN (lmn_column1,lmn_column2)
as select xyz.xyz_column1, efg.efg_column2
from xyz 
left join efg on xyz.xyz_column1 = efg.efg_column1;

create view PQR (pqr_column1, pqr_column2)
as select lmn.lmn_column1, abc.abc_column2
from LMN 
left join ABC on abc.abc_column1 = lmn.lmn_column1;

这是您要询问的数据沿袭: SQLFlow data lineage

您可以在此处尝试自己的 SQL 来获取数据沿袭: https://sqlflow.gudusoft.com/#/