开源软件名称:bigdata-sql-parser
开源软件地址:https://gitee.com/duhanmin_admin/bigdata-sql-parser
开源软件介绍:
介绍数据血缘,支持spark sql,presto sql,tidb sql, flink sql, Spark/flink jar 运行命令的血缘解析 - 特别提示:presto和spark均支持with语法
- 目前解析到表级别,可以扩展到字段级别
- 支持datax血缘(mysql/pg/s3)
编译mvn antlr4:antlr4 mvn clean package 使用val sql = "CREATE DATABASE IF NOT EXISTS bigdata"val statementData = SparkSQLHelper.getStatementData(sql)println(statementData.statement) val sql = "INSERT INTO adc.fsfd with recursive t as (select a,b,v from a.x) select a,b,v from t"val statementData = PrestoSQLHelper.getStatementData(sql)println(statementData.statement) val sql = "insert into bigdata.user select * from users a left outer join address b on a.address_id = b.id"val statementData = PrestoSQLHelper.getStatementData(sql)println(statementData.statement) val sql = "CREATE SOURCE TABLE student_scores (\n" + " student_number varchar comment '学号', \n" + " student_name varchar comment '姓名', \n" + " subject varchar comment '学科',\n" + " score INT comment '成绩' \n" + ")\n" + "WITH (\n" + " type = \"dis\",\n" + " kafka.region = \"cn-north-1\"\n" + ") TIMESTAMP BY proctime proctime1"val statementData = StreamSQLHelper.getStatementData(sql).get(0)println(statementData.statement) |
请发表评论