Isn’t https://issues.apache.org/jira/browse/FLINK-13279 <https://issues.apache.org/jira/browse/FLINK-13279> already a sign that there are surprises for users if we go with option #3?
Aljoscha > On 24. Jul 2019, at 00:33, Xuefu Z <usxu...@gmail.com> wrote: > > I favored #3 if that wasn't obvious. > > Usability issue with #2 makes Hive too hard to use. #3 keeps the old > behavior for existing users who don't have Hive and thus there is only one, > in-memory catalog. If a user does register Hive, he/she understands that > there are multiple catalogs and that fully qualified table name is > necessary. Thus, #3 has no impact (and no surprises) for existing users, > and new requirement of fully qualified names is for only for users of the > new feature (multiple catalogs), which seems very natural. > > Thanks, > Xuefu > > On Tue, Jul 23, 2019 at 5:47 AM Dawid Wysakowicz <dwysakow...@apache.org > <mailto:dwysakow...@apache.org>> > wrote: > >> I think we all agree so far that we should implement one of the short term >> solutions for 1.9 release (#2 or #3) and continue the discussion on option >> #1 for the next release. Personally I prefer option #2, because it is >> closest to the current behavior and as Kurt said it is the most intuitive >> one, but I am also fine with option #3 >> >> To sum up the opinions so far: >> >> *option #2: 3 votes(Kurt, Aljoscha, me)* >> >> *option #3: 2 votes(Timo, Jingsong)* >> >> I wasn't sure which option out of the two Xuefu prefers. >> >> I would like to conclude the discussion by the end of tomorrow, so that we >> can prepare a proper fix as soon as possible. Therefore I would suggest to >> proceed with the option that gets the most votes until tomorrow (*July >> 24th 12:00 CET*), unless there are some hard objections. >> >> >> Comment on option #1 concerns: >> >> I agree with Jingsong on that. I think there are some benefits of the >> approach, as it makes Flink in control of the temporary tables. >> >> 1. We have a unified behavior across all catalogs. Also for the catalogs >> that do not support temporary tables natively. >> >> 2. As Flink is in control of the temporary tables it makes it easier to >> control their lifecycle. >> >> Best, >> >> Dawid >> On 23/07/2019 11:40, JingsongLee wrote: >> >> And I think we should recommend user to use catalog api to >> createTable and createFunction,(I guess most scenarios do >> not use temporary objects) in this way, it is good to option #3 >> >> Best, JingsongLee >> >> >> ------------------------------------------------------------------ >> From:JingsongLee <lzljs3620...@aliyun.com.INVALID >> <mailto:lzljs3620...@aliyun.com.INVALID>> <lzljs3620...@aliyun.com.INVALID >> <mailto:lzljs3620...@aliyun.com.INVALID>> >> Send Time:2019年7月23日(星期二) 17:35 >> To:dev <dev@flink.apache.org <mailto:dev@flink.apache.org>> >> <dev@flink.apache.org <mailto:dev@flink.apache.org>> >> Subject:Re: [DISCUSS] Support temporary tables in SQL API >> >> Thanks Dawid and other people. >> +1 for using option #3 for 1.9.0 and go with option #1 >> in 1.10.0. >> >> Regarding Xuefu's concern, I don't know how necessary it is for each catalog >> to >> deal with tmpView. I think Catalog is different from DB, we can have single >> concept for tmpView, that make user easier to understand. >> >> Regarding option #2, It is hard to use if we let user to use fully qualified >> name for hive catalog. Would this experience be too bad to use? >> >> Best, Jingsong Lee >> >> >> ------------------------------------------------------------------ >> From:Kurt Young <ykt...@gmail.com <mailto:ykt...@gmail.com>> >> <ykt...@gmail.com <mailto:ykt...@gmail.com>> >> Send Time:2019年7月23日(星期二) 17:03 >> To:dev <dev@flink.apache.org <mailto:dev@flink.apache.org>> >> <dev@flink.apache.org <mailto:dev@flink.apache.org>> >> Subject:Re: [DISCUSS] Support temporary tables in SQL API >> >> Thanks Dawid for driving this discussion. >> Personally, I would +1 for using option #2 for 1.9.0 and go with option #1 >> in 1.10.0. >> >> Regarding Xuefu's concern about option #1, I think we could also try to >> reuse the in-memory catalog >> for the builtin temporary table storage. >> >> Regarding to option #2 and option #3, from user's perspective, IIUC option >> #2 allows user to have >> simple name to reference temporary table and should use fully qualified >> name for external catalogs. >> But option #3 provide the opposite behavior, user can use simple name for >> external tables after he >> changed current catalog and current database, but have to use fully >> qualified name for temporary >> tables. IMO, option #2 will be more straightforward. >> >> Best, >> Kurt >> >> >> On Tue, Jul 23, 2019 at 4:01 PM Aljoscha Krettek <aljos...@apache.org >> <mailto:aljos...@apache.org>> <aljos...@apache.org >> <mailto:aljos...@apache.org>> >> wrote: >> >> >> I would be fine with option 3) but I think option 2) is the more implicit >> solution that has less surprising behaviour. >> >> Aljoscha >> >> >> On 22. Jul 2019, at 23:59, Xuefu Zhang <xu...@apache.org >> <mailto:xu...@apache.org>> <xu...@apache.org <mailto:xu...@apache.org>> >> wrote: >> >> Thanks to Dawid for initiating the discussion. Overall, I agree with Timo >> that for 1.9 we should have some quick and simple solution, leaving time >> for more thorough discussions for 1.10. >> >> In particular, I'm not fully with solution #1. For one thing, it seems >> proposing storing all temporary objects in a memory map in >> >> CatalogManager, >> >> and the memory map duplicates the functionality of the in-memory catalog, >> which also store temporary objects. For another, as pointed out by the >> google doc, different db may handle the temporary tables differently, and >> accordingly it may make more sense to let each catalog to handle its >> temporary objects. >> >> Therefore, postponing the fix buys us time to flush out all the details. >> >> Thanks, >> Xuefu >> >> On Mon, Jul 22, 2019 at 7:19 AM Timo Walther <twal...@apache.org >> <mailto:twal...@apache.org>> <twal...@apache.org >> <mailto:twal...@apache.org>> wrote: >> >> >> Thanks for summarizing our offline discussion Dawid! Even though I would >> prefer solution 1 instead of releasing half-baked features, I also >> understand that the Table API should not further block the next release. >> Therefore, I would be fine with solution 3 but introduce the new >> user-facing `createTemporaryTable` methods as synonyms of the existing >> ones already. This allows us to deprecate the methods with undefined >> behavior as early as possible. >> >> Thanks, >> Timo >> >> >> Am 22.07.19 um 16:13 schrieb Dawid Wysakowicz: >> >> Hi all, >> >> When working on FLINK-13279[1] we realized we could benefit from a >> better temporary objects support in the Catalog API/Table API. >> Unfortunately we are already long past the feature freeze that's why I >> wanted to get some opinions from the community how should we proceed >> with this topic. I tried to prepare a summary of the current state and >> >> 3 >> >> different suggested approaches that we could take. Please see the >> attached document[2] >> >> I will appreciate your thoughts! >> >> >> [1] https://issues.apache.org/jira/browse/FLINK-13279 >> >> [2] >> >> >> https://docs.google.com/document/d/1RxLj4tDB9GXVjF5qrkM38SKUPkvJt_BSefGYTQ-cVX4/edit?usp=sharing >> >> > > -- > Xuefu Zhang > > "In Honey We Trust!"