byzer-lang
byzer-lang copied to clipboard
run command 执行show tables语句报错
执行以下语句,提交任务skipAuth默认为false,报错
connect jdbc where
url="jdbc:mysql://127.0.0.1:3306/db"
and driver="com.mysql.jdbc.Driver"
and user="root"
and password="root"
as db_1;
run command as JDBC.`db_1._` where
`driver-statement-query`="show tables"
and sqlMode="query"
as db1_show_tables;
堆栈信息:
21/07/29 12:42:01 INFO impl: Completed 200 in 542ms POST /run/script
java.lang.ClassCastException: com.alibaba.druid.sql.ast.statement.SQLShowTablesStatement cannot be cast to com.alibaba.druid.sql.ast.statement.SQLSelectStatement
at tech.mlsql.sql.MLSQLSQLParser$.extractTableWithColumns(MLSQLSQLParser.scala:21)
at streaming.dsl.mmlib.algs.SQLJDBC$$anonfun$auth$4.apply(SQLJDBC.scala:160)
at streaming.dsl.mmlib.algs.SQLJDBC$$anonfun$auth$4.apply(SQLJDBC.scala:154)
at scala.Option.map(Option.scala:146)
at streaming.dsl.mmlib.algs.SQLJDBC.auth(SQLJDBC.scala:154)
at tech.mlsql.dsl.adaptor.TrainAdaptor.parse(TrainAdaptor.scala:101)
at streaming.dsl.ScriptSQLExecListener.execute$1(ScriptSQLExec.scala:368)
at streaming.dsl.ScriptSQLExecListener.exitSql(ScriptSQLExec.scala:407)
at streaming.dsl.parser.DSLSQLParser$SqlContext.exitRule(DSLSQLParser.java:296)
at org.antlr.v4.runtime.tree.ParseTreeWalker.exitRule(ParseTreeWalker.java:47)
at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:30)
at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:28)
at streaming.dsl.ScriptSQLExec$._parse(ScriptSQLExec.scala:159)
at streaming.dsl.ScriptSQLExec$.parse(ScriptSQLExec.scala:146)
at streaming.rest.RestController$$anonfun$query$1$1.apply$mcV$sp(RestController.scala:132)
at tech.mlsql.job.JobManager$.run(JobManager.scala:74)
at tech.mlsql.job.JobManager$$anon$2.run(JobManager.scala:91)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
sqlMode只支持"query"和 "ddl" ,这意味着这个模块面只能执行select 以及ddl 语句。 show tables 是不支持的。