Hi Yuxia,

FLINK-30667 <https://issues.apache.org/jira/browse/FLINK-30667> aims to
address hive-connector dependency on table-planner @internal class .  Here
is a bit of rationale.

ParserImpl in table-planner and HiveParser in hive connector should be able
to evolve separately after future externalization; Parser interface on
other hand should keep consistent when community plan for other dialect
support. This would help decouple one of the internal class dependencies
you mentioned in FLINK-26603
<https://issues.apache.org/jira/browse/FLINK-26603>.

QueryOperation is a simple operator class shared between table-planner as
well as hive-connector. Keep a copy instead of announcing public in
table-planner could decouple hive connectors from table-planner change or
future proof when considering more customized operations.

PlannerContext acts as a utility class providing reference to a group of
components. we could make it publicEvolving.

Let me know what you think.

Chen



On Tue, Jan 10, 2023 at 8:34 PM yuxia <luoyu...@alumni.sjtu.edu.cn> wrote:

> Hi, Chen.
> Cool! Of course not. Much appreciated that you can help continue this work.
> If you have any question about it, please let me know.
>
> Best regards,
> Yuxia
>
> ----- 原始邮件 -----
> 发件人: "Chen Qin" <qinnc...@gmail.com>
> 收件人: "dev" <dev@flink.apache.org>
> 发送时间: 星期三, 2023年 1 月 11日 上午 11:24:48
> 主题: Re: [Discussion] externalize Hive connector
>
> Yuxia,
>
> thanks for details context, I see with your point on maintainability. If
> your don’t mind, I would like to help continue the work you mentioned.
>
> Chen
>
> On Tue, Jan 10, 2023 at 03:47 yuxia <luoyu...@alumni.sjtu.edu.cn> wrote:
>
> > Hi, Chen.
> > Appreciated your efforts.
> > I would like to shared my thonghts about it.
> >
> > I do think it's not a good timing to externalize Hive connector right
> now.
> > As you know, the Hive connector relies some internal methods in
> > flink-table-planner. The Flink devs can
> > modify them with more freedom as they are internal methods with providing
> > any compatibility gurantee.
> > If externalize it now, it may well happen that some methods relied by
> Hive
> > connector have been removed/renamed from flink-table-planner, which will
> > then cause the Hive connector fail.
> > It'll bring much burden to the connector maintainer, the maintainer will
> > need to take much care of these changes and do the adaption. As I see,
> > it'll always end with only some users report this issue, did the
> maintainer
> > notice that. It'll be definitely a bad user experience.
> >
> > It's a histrical technical debt that Hive connector relies the internal
> > methods in flink-table-planner, and we have created FLINK-26603[1] to
> > resolve it.
> > I'm intended to finish it in Flink 1.17, but may well fail to catch up
> > with Flink 1.17. Feel sorry for that for I'm busy with other stuff. If
> you
> > have interest about it, appreciated that you can also take part in this
> > jira.
> >
> > Of course you can just create a seperate Hive connector now, and then
> > cherry pick changes from the Flink repo before the Hive connector can be
> > removed from Flink repo. But I'm afraid that it may still take much
> > efforts. And IIUC, the external Hive connector can't be released as
> offical
> > Hive connector unless we resolve the problem I refered above.
> > So, why not wait any thing is ready before externalize the Hive
> connector?
> >
> > Best regards,
> > Yuxia
> >
> > ----- 原始邮件 -----
> > 发件人: "Chen Qin" <qinnc...@gmail.com>
> > 收件人: "dev" <dev@flink.apache.org>
> > 发送时间: 星期二, 2023年 1 月 10日 上午 11:47:02
> > 主题: Re: [Discussion] externalize Hive connector
> >
> > Hi Martijin,
> >
> > Thank you for sharing your thoughts. In my opinion, FLINK-26603 is no
> > longer blocking FLINK-30064.
> > That being said, we could consider keeping FLINK-26603 as follow-up work
> > and breaking it down into smaller tasks as we proceed.
> >
> > [PR] https://github.com/apache/flink-connector-hive/pull/3
> >
> > Chen
> >
> > On Mon, Jan 9, 2023 at 7:45 AM Martijn Visser <martijnvis...@apache.org>
> > wrote:
> >
> > > Hi Chen,
> > >
> > > Thanks for bringing this up! I think it would be great if the Hive
> > > connector is externalized. We've already previously established [1]
> that
> > it
> > > should be externalized. I believe the only reason why this hasn't been
> > done
> > > yet is because it's blocked by
> > > https://issues.apache.org/jira/browse/FLINK-26603. Is that still the
> > case?
> > >
> > > Best regards,
> > >
> > > Martijn
> > >
> > > [1] https://lists.apache.org/thread/bk9f91o6wk66zdh353j1n7sfshh262tr
> > >
> > > On Mon, Jan 9, 2023 at 4:22 PM Chen Qin <qinnc...@gmail.com> wrote:
> > >
> > > > Hi there,
> > > >
> > > > Following community guidance Externalized+Connector+development
> > > > <
> > >
> >
> https://cwiki.apache.org/confluence/display/FLINK/Externalized+Connector+development
> > >,
> > > We
> > > > would like to initiate discussion on moving connector/hive to
> > > > apache/flink-connector-hive
> > > > <https://github.com/apache/flink-connector-hive>.
> > > >
> > > > Currently proposed changes includes
> > > >
> > > >    - cleanup dependencies introduced from hive/yarn dependencies with
> > > >    latest package version stated in properties section in POM file
> > > >    - add FlinkPlannerCalciteShim to handle PlannerCalcite API
> signature
> > > >    changes from 1.16 v.s 1.17-SNAPSHOT
> > > >    - add PackageITTests and ProductionArchitectureTests
> > > >    - [bonus] adding docker e2e tests with list of supported Hive/HMS
> > > >    versions
> > > >
> > > > Risk associated with this change includes not being able to release
> > until
> > > > 1.17 release, so we would have to keep cherry-pick changes from
> > > > flink/connectors/hive for a period of time.
> > > >
> > > > Looking forward to hearing community feedback.
> > > >
> > > > Chen
> > > >
> > >
> >
>

Reply via email to