Sorry for misspelling your name, Shengkai. The autocomple plugin is not very wise.
Best, Paul Lam > 2022年4月18日 11:39,Paul Lam <paullin3...@gmail.com> 写道: > > Hi Shanghai, > > You’re right. We can only retrieve the job names from the cluster, and > display > them as query names. > > I agree that the meaning word `QUERY` is kind of ambiguous. Strictly > speaking, > DMLs are not queries, but Hive recognizes DMLs as queries too[1]. > > In general, I think `QUERY` is more SQL-like concept compared to `JOB`, > thus more friendly to SQL users, but I’m okay with `JOB` too. WDYT? > > FYI, I’ve drafted the FLIP[2] and I’m starting a new discussion thread soon. > > [1] https://issues.apache.org/jira/browse/HIVE-17483 > <https://issues.apache.org/jira/browse/HIVE-17483> > [2] > https://cwiki.apache.org/confluence/display/FLINK/FLIP-222%3A+Support+full+query+lifecycle+statements+in+SQL+client > > <https://cwiki.apache.org/confluence/display/FLINK/FLIP-222%3A+Support+full+query+lifecycle+statements+in+SQL+client> > > Best, > Paul Lam > >> 2022年4月18日 10:39,Shengkai Fang <fskm...@gmail.com >> <mailto:fskm...@gmail.com>> 写道: >> >> Hi, Paul. >> >> I am just confused that how the client can retrieve the SQL statement from >> the cluster? The SQL statement has been translated to the jobgraph and >> submit to the cluster. >> >> I think we will not only manage the query statement lifecyle. How about >> `SHOW JOBS` and it will list the Job ID, Job Name, Job Type(DQL/DML) and >> Status(runnning or failing) ? >> >> Best, >> Shengkai >> >> Paul Lam <paullin3...@gmail.com <mailto:paullin3...@gmail.com>> >> 于2022年4月12日周二 11:28写道: >> >>> Hi Jark, >>> >>> Thanks a lot! >>> >>> I’m thinking of the 2nd approach. With this approach, the query lifecycle >>> statements >>> (show/stop/savepoint etc) are basically equivalent alternatives to Flink >>> CLI from the >>> user point of view. >>> >>> BTW, the completed jobs might be missing in `SHOW QUERIES`, because for >>> application/per-clusters modes, the clusters would stop when the job >>> terminates. >>> >>> WDYT? >>> >>> Best, >>> Paul Lam >>> >>>> 2022年4月11日 14:17,Jark Wu <imj...@gmail.com <mailto:imj...@gmail.com>> 写道: >>>> >>>> Hi Paul, I grant the permission to you. >>>> >>>> Regarding the "SHOW QUERIES", how will you bookkeep and persist the >>> running >>>> and complete queries? >>>> Or will you retrieve the queries information from the cluster every time >>>> when you receive the command? >>>> >>>> >>>> Best, >>>> Jark >>>> >>>> >>>> On Wed, 6 Apr 2022 at 11:23, Paul Lam <paullin3...@gmail.com >>>> <mailto:paullin3...@gmail.com>> wrote: >>>> >>>>> Hi Timo, >>>>> >>>>> Thanks for you reply! >>>>> >>>>>> It would be great to further investigate which other commands are >>>>> required that would be usually be exeuted via CLI commands. I would >>> like to >>>>> avoid a large amount of FLIPs each adding a special job lifecycle >>> command. >>>>> >>>>> Okay. I listed only the commands about jobs/queries that’s required for >>>>> savepoints for simplicity. I would come up with a complete set of >>> commands >>>>> for the full lifecycle of jobs. >>>>> >>>>>> I guess job lifecycle commands don't make much sense in Table API? Or >>>>> are you planning to support those also TableEnvironment.executeSql and >>>>> integrate them into SQL parser? >>>>> >>>>> Yes, I’m thinking of adding job lifecycle management in SQL Client. SQL >>>>> client could execute queries via TableEnvironment.executeSql and >>> bookkeep >>>>> the IDs, which is similar to ResultSotre in LocalExecutor. >>>>> >>>>> BTW, may I ask for the permission on Confluence to create a FLIP? >>>>> >>>>> Best, >>>>> Paul Lam >>>>> >>>>>> 2022年4月4日 15:36,Timo Walther <twal...@apache.org >>>>>> <mailto:twal...@apache.org>> 写道: >>>>>> >>>>>> Hi Paul, >>>>>> >>>>>> thanks for proposing this. I think in general it makes sense to have >>>>> those commands in SQL Client. >>>>>> >>>>>> However, this will be a big shift because we start adding job lifecycle >>>>> SQL syntax. It would be great to further investigate which other >>> commands >>>>> are required that would be usually be exeuted via CLI commands. I would >>>>> like to avoid a large amount of FLIPs each adding a special job >>> lifecycle >>>>> command >>>>>> >>>>>> I guess job lifecycle commands don't make much sense in Table API? Or >>>>> are you planning to support those also TableEnvironment.executeSql and >>>>> integrate them into SQL parser? >>>>>> >>>>>> Thanks, >>>>>> Timo >>>>>> >>>>>> >>>>>> Am 01.04.22 um 12:28 schrieb Paul Lam: >>>>>>> Hi Martjin, >>>>>>> >>>>>>>> For any extension on the SQL syntax, there should be a FLIP. I would >>>>> like >>>>>>>> to understand how this works for both bounded and unbounded jobs, how >>>>> this >>>>>>>> works with the SQL upgrade story. Could you create one? >>>>>>> Sure. I’m preparing one. Please give me the permission if possible. >>>>>>> >>>>>>> My Confluence user name is `paulin3280`, and the full name is `Paul >>>>> Lam`. >>>>>>> >>>>>>>> I'm also copying in @Timo Walther <twal...@apache.org >>>>>>>> <mailto:twal...@apache.org>> and @Jark Wu >>>>>>>> <imj...@gmail.com <mailto:imj...@gmail.com>> for their opinion on this. >>>>>>> Looking forward to your opinions @Timo @Jark :) >>>>>>> >>>>>>> Best, >>>>>>> Paul Lam >>>>>>> >>>>>>>> 2022年4月1日 18:10,Martijn Visser <martijnvis...@apache.org >>>>>>>> <mailto:martijnvis...@apache.org>> 写道: >>>>>>>> >>>>>>>> Hi Paul, >>>>>>>> >>>>>>>> For any extension on the SQL syntax, there should be a FLIP. I would >>>>> like >>>>>>>> to understand how this works for both bounded and unbounded jobs, how >>>>> this >>>>>>>> works with the SQL upgrade story. Could you create one? >>>>>>>> >>>>>>>> I'm also copying in @Timo Walther <twal...@apache.org >>>>>>>> <mailto:twal...@apache.org>> and @Jark Wu >>>>>>>> <imj...@gmail.com <mailto:imj...@gmail.com>> for their opinion on this. >>>>>>>> >>>>>>>> Best regards, >>>>>>>> >>>>>>>> Martijn >>>>>>>> >>>>>>>> On Fri, 1 Apr 2022 at 12:01, Paul Lam <paullin3...@gmail.com >>>>>>>> <mailto:paullin3...@gmail.com>> wrote: >>>>>>>> >>>>>>>>> Hi Martijn, >>>>>>>>> >>>>>>>>> Thanks a lot for your input. >>>>>>>>> >>>>>>>>>> Have you already thought on how you would implement this in Flink? >>>>>>>>> Yes, I roughly thought about the implementation: >>>>>>>>> >>>>>>>>> 1. Extending Executor to support job list via ClusterClient. >>>>>>>>> 2. Extending Executor to support savepoint trigger/cancel/remove via >>>>>>>>> JobClient. >>>>>>>>> 3. Extending SQL parser to support the new statements via regex >>>>>>>>> (AbstractRegexParseStrategy) or Calcite. >>>>>>>>> >>>>>>>>> IMHO, the implementation is not very complicated and barely touches >>>>> the >>>>>>>>> architecture of FLIP-91. >>>>>>>>> (BTW, FLIP-91 might be a little bit outdated and doesn’t fully >>>>> reflect >>>>>>>>> the current status of Flink SQL client/gateway.) >>>>>>>>> >>>>>>>>> WDYT? >>>>>>>>> >>>>>>>>> Best, >>>>>>>>> Paul Lam >>>>>>>>> >>>>>>>>>> 2022年4月1日 17:33,Martijn Visser <mart...@ververica.com >>>>>>>>>> <mailto:mart...@ververica.com>> 写道: >>>>>>>>>> >>>>>>>>>> Hi Paul, >>>>>>>>>> >>>>>>>>>> Thanks for opening the discussion. I agree that there are >>>>> opportunities >>>>>>>>> in >>>>>>>>>> this area to increase user value. >>>>>>>>>> >>>>>>>>>> I would say that the syntax should be part of a proposal in a FLIP, >>>>>>>>> because >>>>>>>>>> the implementation would actually be the complex part, not so much >>>>> the >>>>>>>>>> syntax :) Especially since this also touches on FLIP-91 [1] >>>>>>>>>> >>>>>>>>>> Have you already thought on how you would implement this in Flink? >>>>>>>>>> >>>>>>>>>> Best regards, >>>>>>>>>> >>>>>>>>>> Martijn Visser >>>>>>>>>> https://twitter.com/MartijnVisser82 >>>>>>>>>> <https://twitter.com/MartijnVisser82> >>>>>>>>>> https://github.com/MartijnVisser >>>>>>>>>> >>>>>>>>>> [1] >>>>>>>>>> >>>>>>>>> >>>>> >>> https://cwiki.apache.org/confluence/display/FLINK/FLIP-91%3A+Support+SQL+Client+Gateway >>> >>> <https://cwiki.apache.org/confluence/display/FLINK/FLIP-91%3A+Support+SQL+Client+Gateway> >>>>>>>>>> >>>>>>>>>> On Fri, 1 Apr 2022 at 11:25, Paul Lam <paullin3...@gmail.com> >>> wrote: >>>>>>>>>> >>>>>>>>>>> Hi team, >>>>>>>>>>> >>>>>>>>>>> Greetings from Apache Kyuubi(incubating) community. We’re >>>>> integrating >>>>>>>>>>> Flink as a SQL engine and aiming to make it production-ready. >>>>>>>>>>> >>>>>>>>>>> However, query/savepoint management is a crucial but missing part >>> in >>>>>>>>> Flink >>>>>>>>>>> SQL, thus we reach out to discuss the SQL syntax with Flink >>>>> community. >>>>>>>>>>> >>>>>>>>>>> We propose to introduce the following statements: >>>>>>>>>>> >>>>>>>>>>> SHOW QUERIES: shows the running queries in the current session, >>>>> which >>>>>>>>>>> mainly returns query(namely Flink job) IDs and SQL statements. >>>>>>>>>>> TRIGGER SAVEPOINT <query_id>: triggers a savepoint for the >>> specified >>>>>>>>>>> query, which returns the stored path of the savepoint. >>>>>>>>>>> SHOW SAVEPOINTS <query_id>: shows the savepoints for the specified >>>>>>>>> query, >>>>>>>>>>> which returns the stored paths of the savepoints. >>>>>>>>>>> REMOVE SAVEPOINT <savepoint_path>: removes the specified >>> savepoint. >>>>>>>>>>> >>>>>>>>>>> WRT to keywords, `TRIGGER` and `SAVEPOINT` are already reserved >>>>> keywords >>>>>>>>>>> in Flink SQL[1], so the only new keyword is `QUERIES`. >>>>>>>>>>> >>>>>>>>>>> If we reach a consensus on the syntax, we could either implement >>> it >>>>> in >>>>>>>>>>> Kyuubi and contribute back to Flink, or directly implement it in >>>>> Flink. >>>>>>>>>>> >>>>>>>>>>> Looking forward for your feedback ;) >>>>>>>>>>> >>>>>>>>>>> [1] >>>>>>>>>>> >>>>>>>>> >>>>> >>> https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/dev/table/sql/overview/#reserved-keywords >>>>>>>>>>> Best, >>>>>>>>>>> Paul Lam >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>> >>>>>> >>>>> >>>>> >>> >>> >