1.公司需求是给定 hive sql,这边需要仅根据该sql 分析出表、字段级别的血缘关系。效果类似
sqlflow SQLFlow: Visualize column impact and data lineage to track columns across transformations by analyzing SQL query. supported databases: bigquery, couchbase, dax, db2, greenplum, hana, hive, impala, informix, mdx, mysql, netezza, openedge, oracle, postgresql, redshift, snowflake, sqlserver, sybase, teradata, vertica https://sqlflow.gudusoft.com/#/ (公司之前没人写过数据血缘)
2.我查资料现在有两条路子:一是解析sql得到AST,然后自己慢慢磨AST。二是用hive自带 LineageInfo、Lineage Logger 这种Hook做。
3.第一条路子我查了下GitHub和gitee,有类似项目但只支持标准sql。我测试了一下公司sql有bug也不会改,这里搁置。这一步我可以拿到ast树但具体解析太复杂了。第二条路子我和leader交流后,leader觉得得依赖hive,每次看血缘得跑一次hive,他建议我能不能从hive源码中抽取相关组件,然后再放到spring boot中。
大家有啥好点子。包括不限于sql解析器推荐啥的
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答
本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。
因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。