You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by Michael Ran <gr...@163.com> on 2021/04/29 03:57:09 UTC

Table-api sql 预检查

dear all :
            用table api 提交多个SQL 的时候,有什么API 能提前检查SQL 的错误吗? 每次都是提交执行的时候才报错。
            理论上里面在SQL解析部分就能发现,有现成的API吗?还是说需要自己去抓那部分解析代码,然后封装出API。
            如果没有,希望能提供这个功能,blink 应该是有的。




Thanks !
            

Re:Re: Table-api sql 预检查

Posted by Michael Ran <gr...@163.com>.
org.apache.flink.table.api.TableException: Unsupported operation: org.apache.flink.table.operations.ddl.CreateTableOperation
At 2021-04-30 10:19:49, "HunterXHunter" <13...@qq.com> wrote:
>tableEnv.explainSql("");
>
>
>
>--
>Sent from: http://apache-flink.147419.n8.nabble.com/

Re: Table-api sql 预检查

Posted by HunterXHunter <13...@qq.com>.
tableEnv.explainSql("");



--
Sent from: http://apache-flink.147419.n8.nabble.com/

Re: Table-api sql 预检查

Posted by silence <sl...@aliyun.com.INVALID>.
可以用explain



--
Sent from: http://apache-flink.147419.n8.nabble.com/

Re: Table-api sql 预检查

Posted by datayangl <da...@gmail.com>.
flink的解析阶段主要是FlinkParserImpl(通过jj
和fftl文件编译产生),主要是语法解析,但是验证阶段,会涉及到catalog的一些验证(参考CatalogReader)。目前我记得没有开放的接口能在外部把解析和验证都做了。



--
Sent from: http://apache-flink.147419.n8.nabble.com/

Re:Re: Table-api sql 预检查

Posted by Michael Ran <gr...@163.com>.
从代码逻辑里面肯定能抓出来,就是觉得这个预检查的功能可以作为API 开放出来
在 2021-04-29 12:29:26,"Shengkai Fang" <fs...@gmail.com> 写道:
>Hi.
>
>可以看看 TableEnvironment#execute逻辑,如果能够将sql 转化成 `Transformation`,那么语法应该没有问题。
>
>Best,
>Shengkai
>
>Michael Ran <gr...@163.com> 于2021年4月29日周四 上午11:57写道:
>
>> dear all :
>>             用table api 提交多个SQL 的时候,有什么API 能提前检查SQL 的错误吗? 每次都是提交执行的时候才报错。
>>             理论上里面在SQL解析部分就能发现,有现成的API吗?还是说需要自己去抓那部分解析代码,然后封装出API。
>>             如果没有,希望能提供这个功能,blink 应该是有的。
>>
>>
>>
>>
>> Thanks !
>>

Re: Table-api sql 预检查

Posted by Shengkai Fang <fs...@gmail.com>.
Hi.

可以看看 TableEnvironment#execute逻辑,如果能够将sql 转化成 `Transformation`,那么语法应该没有问题。

Best,
Shengkai

Michael Ran <gr...@163.com> 于2021年4月29日周四 上午11:57写道:

> dear all :
>             用table api 提交多个SQL 的时候,有什么API 能提前检查SQL 的错误吗? 每次都是提交执行的时候才报错。
>             理论上里面在SQL解析部分就能发现,有现成的API吗?还是说需要自己去抓那部分解析代码,然后封装出API。
>             如果没有,希望能提供这个功能,blink 应该是有的。
>
>
>
>
> Thanks !
>