开发了一个 SQL 血缘解析的网站,可视化查询字段级别和表级别的血缘关系

354 天前
 sanbuliuxin

有兴趣的人,可以私我 SQL 帮忙生成可视化文件(单文件 HTML ),同时,寻求商业资源,例如私有化部署或者二次开发

邮箱: shenbinglife@163.com

以下是同一段 SQL 生成的 4 张血缘可视化截图

字段血缘

带中间表的字段血缘

表血缘

带中间表的血缘

1985 次点击
所在节点    分享创造
17 条回复
sanbuliuxin
354 天前
提出你的 SQL ,我可以生成截图回复你,或者留下邮箱发送生成的文件。
举例:insert into c select a from b


https://pic.ziyuan.wang/user/guest/2024/01/1704783467353_ed04ac8f9ccd6.png
googleplus
354 天前
为啥不先部署一个 saas 让我们体验下
jxxz
354 天前
..
darksword21
354 天前
我还以为解析血源诅咒。。
sanbuliuxin
353 天前
@googleplus 没有 saas 资源,泪目
sivacohan
353 天前
insert into tbl_c select a, sum(b) from tbl_a group by a
proxychains
353 天前
根据表定义的外键来扫描的? 还是 sql 语句中 join 或查询关系?
luotuoxiaohui
352 天前
跟小米的那个一样?
sanbuliuxin
352 天前
@proxychains 是使用 Antlr 语法树解析,跟是不是外键和 join 没有关系
sanbuliuxin
352 天前
@luotuoxiaohui 哪个?
sanbuliuxin
352 天前
@sivacohan [![1704940991849.png]( https://pic.ziyuan.wang/user/guest/2024/01/1704940991849_82cb52dda4cc9.png)]( https://pic.ziyuan.wang/user/guest/2024/01/1704940991849_82cb52dda4cc9.png)
sanbuliuxin
352 天前
XhivaW
352 天前
支持哪些数据库/计算引擎?
XhivaW
352 天前
以及支持程度如何,比如对 select * ?
sanbuliuxin
345 天前
@XhivaW 支持 sparksql 和 presto , 支持 select * 启发式解析,但是太模糊的就不能做到字段血缘,只能忽略字段血缘。

例如, 支持 insert into target select * from (select a, b, c from d) tmp , 会启发式认为 target 表中存在同名的 a,b,c 的字段,并和最底层的物理表 d 的 a,b,c 字段存在血缘关系,截图如下:

sanbuliuxin
345 天前
@XhivaW 支持的程度我这边应该是能达到 sparksql ,presto 全部语法的 99%,因为我这边是专门做大数据的 SQL 解析。

其他的数据库如果有一些写法相同的语句拿过来解析,也没有问题。 例如 mysql 等一些通用的 select 语法
XhivaW
344 天前
@sanbuliuxin 谢谢回复 23 年搬砖我也写了个类似的东西用于 hive+spark sql 的解析 做了 hive 元数据库的自动匹配以解决 select * 的问题 不过遇到中间表还是会有断点 我是希望能做到类似 https://sqlflow.gudusoft.com/#/ 这样的产品 哈哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1007170

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX