Hi Shuyi,

Glad to see your feedback and port more requirements about multi-language!

I think the Flink community is very much looking forward to more language
support, of course, Golang should be in the future support list.
Since the topic of supporting Python on Flink has been researched and
discussed in the community for a long time, and I want to support Python in
the Table API as the first stage, then other languages should be planed to
support. but I do not think more about the detail about how/when support
Golang. And very welcome to share more ideas on how to support Golang if
you have more thoughts. :)

Regarding UDF, we do have some ideas and design attempts. The related
attempts to show the performance of python UDF are not optimistic. And
there are also some problems with Python environment management should be
considered. After we have more investigations and experiments, I will share
the discussion with you in time. Perhaps after the first stage(Python
TableAPI support), We will then discuss the detailed discussion of UDF
support.

I think the support of the DataStream API should be considered after
supporting UDFs because DataStream is mostly supported by various
functions.

We plan to complete the first phase before the release of Flink-1.9, and
start the UDF support after 1.9. Of course,  I am very glad to hear that
you want to contribute to the Flink multi-language support. I believe,
nothing is impossible if more people interest in Python Table API with UDF
support and more people want to contribute community more, UDF may be there
when flink-1.9 release. :)

Best,
Jincheng

Shuyi Chen <suez1...@gmail.com> 于2019年4月4日周四 上午3:35写道:

> Thanks a lot for driving the FLIP, jincheng. The approach looks
> good. Adding multi-lang support sounds a promising direction to expand the
> footprint of Flink. Do we have plan for adding Golang support? As many
> backend engineers nowadays are familiar with Go, but probably not Java as
> much, adding Golang support would significantly reduce their friction to
> use Flink. Also, do we have a design for multi-lang UDF support, and what's
> timeline for adding DataStream API support? We would like to help and
> contribute as well as we do have similar need internally at our company.
> Thanks a lot.
>
> Shuyi
>
> On Tue, Apr 2, 2019 at 1:03 AM jincheng sun <sunjincheng...@gmail.com>
> wrote:
>
> > Hi All,
> > As Xianda brought up in the previous email, There are a large number of
> > data analysis users who want flink to support Python. At the Flink API
> > level, we have DataStreamAPI/DataSetAPI/TableAPI&SQL, the Table API will
> > become the first-class citizen. Table API is declarative and can be
> > automatically optimized, which is mentioned in the Flink mid-term roadmap
> > by Stephan. So we first considering supporting Python at the Table level
> to
> > cater to the current large number of analytics users. For further promote
> > Python support in flink table level. Dian, Wei and I discussed offline a
> > bit and came up with an initial features outline as follows:
> >
> > - Python TableAPI Interface
> >   Introduce a set of Python Table API interfaces, including interface
> > definitions such as Table, TableEnvironment, TableConfig, etc.
> >
> > - Implementation Architecture
> >   We will offer two alternative architecture options, one for pure Python
> > language support and one for extended multi-language design.
> >
> > - Job Submission
> >   Provide a way that can submit(local/remote) Python Table API jobs.
> >
> > - Python Shell
> >   Python Shell is to provide an interactive way for users to write and
> > execute flink Python Table API jobs.
> >
> >
> > The design document for FLIP-38 can be found here:
> >
> >
> >
> https://docs.google.com/document/d/1ybYt-0xWRMa1Yf5VsuqGRtOfJBz4p74ZmDxZYg3j_h8/edit?usp=sharing
> >
> > I am looking forward to your comments and feedback.
> >
> > Best,
> > Jincheng
> >
>

Reply via email to