V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
0x0208v0
V2EX  ›  程序员

有做数据治理的伙伴吗,请问字段级别的血缘关系怎么展示比较好呢?用桑基图吗?

  •  
  •   0x0208v0 · 2022-05-07 13:32:04 +08:00 · 1858 次点击
    这是一个创建于 712 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,不知道该怎么展示?在网上找了一个 https://sqlflow.gudusoft.com/#/ 看起来展示的效果挺好

    请问各位有接触过相关的业务吗?

    Jietu20220507-133226d559c30685fbacf2.md.jpg

    第 1 条附言  ·  2022-05-08 16:37:27 +08:00
    找到了一个类似的开源项目: https://blog.csdn.net/qq_44831907/article/details/122923483

    贴上来功大家参考,感谢开源。

    接下来打算分析一下画图用到的数据结构,弄个 demo 出来
    7 条回复    2022-05-07 19:41:54 +08:00
    aguesuka
        1
    aguesuka  
       2022-05-07 13:46:54 +08:00
    亲属关系图有现成的 kinship diagram
    codefever
        2
    codefever  
       2022-05-07 14:04:56 +08:00
    MaxCompute Information_Schema 提供访问表的作业明细数据 tasks_history ,该表中有字段记录表的上下游依赖关系。根据字段统计即可分析出表的血缘关系
    0x0208v0
        3
    0x0208v0  
    OP
       2022-05-07 14:12:41 +08:00
    @codefever 谢谢大佬,想白嫖个开源方案
    0x0208v0
        4
    0x0208v0  
    OP
       2022-05-07 14:14:29 +08:00
    @aguesuka 数据库血缘关系类似有向图,kinship diagram 似乎是树形图
    wangshijiejay
        5
    wangshijiejay  
       2022-05-07 14:26:24 +08:00   ❤️ 1
    展示采用什么方案取决于你的字段血缘关系是否复杂,对于单个 sql 的字段血缘关系是非常简单的,因为不涉及到多层级和字段的回溯。但是对于复杂的场景来说,比如数据开发链路非常长,可能一个字段往前追能追出几十张表来。而且有非常多不确定的场景。比如实时表,日表写入月表,又从月表中取数据写入实时表,这样在表的血缘上就出现了循环,同样字段也会出现循环。

    如果没有循环的话,可以把字段血缘理解为一张有向无环图,也就是 DAG ,那么考虑的就是如何展示一张 DAG 。依我的经验来,简单的数据开发链路,可以很直观的展示出来,但是数据量一旦大起来,超过几十个节点几百条边,那么图中的关系基本就没法很清晰的查看了。

    能够直观展示的方案大部分都是用树的方式去展示,但是 DAG 图转成一棵树是不行的,只能转成多棵树,信息必然有丢失。
    wangshijiejay
        6
    wangshijiejay  
       2022-05-07 14:30:08 +08:00   ❤️ 1
    接楼上,树形展示有一个好处就是可以逐级展开,但仍然解决不了循环和数量众多是的问题,因为某一个节点可能是一张基础表,它的上游有一大坨表,而他又被其他表多次引用,在图中它只是一个节点,但在树立边,它会出现很多次,导致整个树非常庞大
    0x0208v0
        7
    0x0208v0  
    OP
       2022-05-07 19:41:54 +08:00
    @wangshijiejay 谢谢老哥的分析,我回头再仔细琢磨一下这个需求
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3183 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 13:20 · PVG 21:20 · LAX 06:20 · JFK 09:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.