近期使用flinksql(1.11.0)发现的一些问题

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

近期使用flinksql(1.11.0)发现的一些问题

ZT.Ren
1. create table语句不支持create talbe if not exists:
    不支持if not exists语法在实际使用时特别麻烦,每次重新执行SQL都需要先删除上次执行创建的table。
    Q1: CREATE TABLE IF NOT EXITS语法个人理解实现并不特别麻烦,社区为什么还没实现?
2. flink1.11创建kafka sink表时不再支持update-mode属性:
    创建kafka sink表时报不支持udpate-mode属性的语法检验错误。但查看flink1.11源码中仍存在多个测试类在使用update-mode属性。
    Q2:从flink1.11开始,kafka数据源的建表语句是否明确不再支持update-mode?(官网示例中已删除,但源码测试类中仍存在)
3. update-mode属性校验失败,任务推出,但该表却已经在catalog中生成
    Q3:建表语句的属性校验失败,任务异常退出,但该表却已经在catalog中生成。感觉不太合理


麻烦了解的大佬抽空解答下,多谢!
Reply | Threaded
Open this post in threaded view
|

Re: 近期使用flinksql(1.11.0)发现的一些问题

Jark
Administrator
Hi,

1. 这个功能应该是漏加了,我建了个 issue 去支持这个功能:
https://issues.apache.org/jira/browse/FLINK-18756
2. update-mode 属性对于 kafka 来说一直都是没有用的(因为只支持 append-only)。所以自 1.10
,这个属性就变成可选了,文档中也不再标识出来。
    1.11 中新版的 connector 的实现中,也没有这个属性。
3. 目前 DDL 建表语句将表元信息存到 catalog 中,是不会走校验逻辑的。校验逻辑现在发生在 query 编译期。 这个确实和
fail-fast 原则有点相悖。

Best,
Jark

On Wed, 29 Jul 2020 at 17:31, Ryiyi <[hidden email]> wrote:

> 1. create table语句不支持create talbe if not exists:
>     不支持if not exists语法在实际使用时特别麻烦,每次重新执行SQL都需要先删除上次执行创建的table。
>     Q1: CREATE TABLE IF NOT EXITS语法个人理解实现并不特别麻烦,社区为什么还没实现?
> 2. flink1.11创建kafka sink表时不再支持update-mode属性:
>     创建kafka
> sink表时报不支持udpate-mode属性的语法检验错误。但查看flink1.11源码中仍存在多个测试类在使用update-mode属性。
>     Q2:从flink1.11开始,kafka数据源的建表语句是否明确不再支持update-mode?(官网示例中已删除,但源码测试类中仍存在)
> 3. update-mode属性校验失败,任务推出,但该表却已经在catalog中生成
>     Q3:建表语句的属性校验失败,任务异常退出,但该表却已经在catalog中生成。感觉不太合理
>
>
> 麻烦了解的大佬抽空解答下,多谢!
Reply | Threaded
Open this post in threaded view
|

Re: 近期使用flinksql(1.11.0)发现的一些问题

wxpcc
In reply to this post by ZT.Ren
Q1, 可以使用 DROP TABLE IF EXISTS table;



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