Hi Timo,

I understand we need further discussion about syntax/dialect for 1.11. But
as Jark has pointed out, the current implementation violates the accepted
design of FLIP-63, which IMO qualifies as a bug. Given that it's a bug and
has great impact on the usability of our Hive integration, do you think we
can fix it in 1.10?

On Fri, Dec 13, 2019 at 12:24 AM Jingsong Li <jingsongl...@gmail.com> wrote:

> Hi Timo,
>
> I am OK if you think they are not bug and they should not be included in
> 1.10.
>
> I think they have been accepted in FLIP-63. And there is no objection. It
> has been more than three months since the discussion of FLIP-63. It's been
> six months since Flink added these two syntaxs.
>
> But I can also start discussion and vote thread for FLIP-63 again, to make
> sure once again that everyone is happy.
>
> Best,
> Jingsong Lee
>
> On Thu, Dec 12, 2019 at 11:35 PM Timo Walther <twal...@apache.org> wrote:
>
> > Hi Jingsong,
> >
> > I will also add my opinion here for future discussions:
> >
> > We had long discussions around SQL syntax in the past (e.g. for
> > WATERMARK or the concept of SYSTEM/TEMPORARY catalog objects) but in the
> > end all parties were happy and we came up with a good long-term solution
> > that is unlikely to be changed in the near future. IMHO we can differ
> > from the standard esp. for DDL statements (every SQL vendors has custom
> > syntax there) but still we should have time to hear many opinions.
> > However, for DQL and DML statements we need to be even more cautious
> > because here we enter SQL standard areas.
> >
> > Happy to discuss a partion syntax for 1.11 and go with the solution that
> > Jark proposed using a config option.
> >
> > Thanks,
> > Timo
> >
> >
> > On 12.12.19 09:40, Jark Wu wrote:
> > > Hi Jingsong,
> > >
> > > Thanks for the explanation, I think I misunderstood your point at the
> > > begining.
> > > As FLIP-63 proposed, INSERT OVERWRITE and INSERT PARTITION syntax are
> > added
> > > to Flink's
> > > SQL syntax, but CREATE PARTITION TABLE should be limited under Hive
> > > dialect.
> > > However, the current implementation is opposite, INSERT OVERWRITE
> > > and INSERT PARTITION are
> > > under the dialect limitation, but CREATE PARTITION TABLE is not.
> > >
> > > So it is indeed a bug which should be fixed in 1.10.
> > >
> > > Best,
> > > Jark
> > >
> > > On Thu, 12 Dec 2019 at 16:35, Jingsong Li <jingsongl...@gmail.com>
> > wrote:
> > >
> > >> Hi Jark,
> > >>
> > >> Let's recall FLIP-63,
> > >> We supported these syntax in hive dialect at 1.9. All of my reasons
> for
> > >> launching FLIP-63 are to bring partition support to Flink itself.
> > >> Not only batch, but also we have the need to stream jobs to write
> > partition
> > >> files today, which is also one of our very important application
> > scenarios.
> > >>
> > >> The original intention of FLIP-63 is to bring all partition syntax to
> > >> Flink, but in the end you and I have some different opinion in
> creating
> > >> partition table, so our consensus is to leave it in hive dialect, only
> > it.
> > >>
> > >> [1]
> > >>
> > >>
> >
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-63%3A+Rework+table+partition+support
> > >>
> > >> Best,
> > >> Jingsong Lee
> > >>
> > >> On Thu, Dec 12, 2019 at 4:05 PM Jark Wu <imj...@gmail.com> wrote:
> > >>
> > >>> Hi jingsong,
> > >>>
> > >>> Watermark is not a standard syntax, that's why we had a FLIP and long
> > >>> discussion to add it to
> > >>> Flink's SQL syntax. I think if we want to add INSERT OVERWRITE and
> > >>> PARTITION syntax to
> > >>>   Flink's own syntax,  we also need a FLIP or a VOTE, and this may
> > can't
> > >>> happen soon (we should
> > >>> hear more people's opinions on this).
> > >>>
> > >>> Regarding to the sql-dialect configuration, I was not saying to
> involve
> > >> the
> > >>> whole FLIP-89. I mean we can just
> > >>> start a VOTE to expose it as `table.planner.sql-dialect` and include
> it
> > >> in
> > >>> 1.10. The change can be very small, by
> > >>> adding a ConfigOption and changing the implementation of
> > >>> TableConfig#getSqlDialect/setSqlDialect. I believe
> > >>> it is smaller and safer than changing the parser.
> > >>>
> > >>> Btw, I cc'ed Yu Li and Gary into the discussion, because release
> > managers
> > >>> should be aware of this.
> > >>>
> > >>> Best,
> > >>> Jark
> > >>>
> > >>>
> > >>>
> > >>> On Thu, 12 Dec 2019 at 11:47, Danny Chan <yuzhao....@gmail.com>
> wrote:
> > >>>
> > >>>> Thanks Jingsong for bring up this discussion ~
> > >>>>
> > >>>> After reviewing FLIP-63, it seems that we have made a conclusion for
> > >> the
> > >>>> syntax
> > >>>>
> > >>>> - INSERT OVERWRITE ...
> > >>>> - INSERT INTO … PARTITION
> > >>>>
> > >>>> Which means that they should not have the Hive dialect limitation,
> so
> > >> I’m
> > >>>> inclined that the behaviors for SQL-CLI is unexpected, or a “bug”
> that
> > >>> need
> > >>>> to fix.
> > >>>>
> > >>>> We did not make a conclusion for the syntax:
> > >>>>
> > >>>> - CREATE TABLE … PARTITIONED BY ...
> > >>>>
> > >>>> Which means that the behavior of it is under-discussion, so it is
> okey
> > >> to
> > >>>> be without the HIVE dialect limitation, we do not actually have any
> > >> table
> > >>>> sources/sinks that support such a DDL so for current code base,
> users
> > >>>> should not be influenced by the behaviors change.
> > >>>>
> > >>>> So I’m
> > >>>>
> > >>>> +1 to remove the hive dialect limitations for INSERT OVERWRITE and
> > >> INSERT
> > >>>> PARTITION
> > >>>> +0 to add yaml dialect conf to SQL-CLI because FLIP-89 is not
> finished
> > >>>> yet, we better do this until FLIP-89 is resolved.
> > >>>>
> > >>>> Best,
> > >>>> Danny Chan
> > >>>> 在 2019年12月11日 +0800 PM5:29,Jingsong Li <jingsongl...@gmail.com>,写道:
> > >>>>> Hi Dev,
> > >>>>>
> > >>>>> After cutting out the branch of 1.10, I tried the following
> functions
> > >>> of
> > >>>>> SQL-CLI and found that it does not support:
> > >>>>> - insert overwrite
> > >>>>> - PARTITION (partcol1=val1, partcol2=val2 ...)
> > >>>>> The SQL pattern is:
> > >>>>> INSERT { INTO | OVERWRITE } TABLE tablename1 [PARTITION
> > >> (partcol1=val1,
> > >>>>> partcol2=val2 ...) select_statement1 FROM from_statement;
> > >>>>> It is a surprise to me.
> > >>>>> The reason is that we only allow these two grammars in hive
> dialect.
> > >>> And
> > >>>>> SQL-CLI does not have an interface to switch dialects.
> > >>>>>
> > >>>>> Because it directly hinders the SQL-CLI's insert syntax in hive
> > >>>> integration
> > >>>>> and seriously hinders the practicability of SQL-CLI.
> > >>>>> And we have introduced these two grammars in FLIP-63 [1] to Flink.
> > >>>>> Here are my question:
> > >>>>> 1.Should we remove hive dialect limitation for these two grammars?
> > >>>>> 2.Should we fix this in 1.10?
> > >>>>>
> > >>>>> [1]
> > >>>>>
> > >>>>
> > >>>
> > >>
> >
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-63%3A+Rework+table+partition+support
> > >>>>>
> > >>>>> Best,
> > >>>>> Jingsong Lee
> > >>>>
> > >>>
> > >>
> > >>
> > >> --
> > >> Best, Jingsong Lee
> > >>
> > >
> >
> >
>
> --
> Best, Jingsong Lee
>


-- 
Best regards!
Rui Li

Reply via email to