Hi all,

The Python Table API(without Python UDF support) has already been supported
and will be available in the coming release 1.9.
As Python UDF is very important for Python users, we'd like to start the
discussion about the Python UDF support in the Python Table API.
Aljoscha Krettek, Dian Fu and I have discussed offline and have drafted a
design doc[1]. It includes the following items:

- The user-defined function interfaces.
- The user-defined function execution architecture.

 As mentioned by many guys in the previous discussion thread[2], a
portability framework was introduced in Apache Beam in latest releases. It
provides well-defined, language-neutral data structures and protocols for
language-neutral user-defined function execution. This design is based on
Beam's portability framework. We will introduce how to make use of Beam's
portability framework for user-defined function execution: data
transmission, state access, checkpoint, metrics, logging, etc.

Considering that the design relies on Beam's portability framework for
Python user-defined function execution and not all the contributors in
Flink community are familiar with Beam's portability framework, we have
done a prototype[3] for proof of concept and also ease of understanding of
the design.

Welcome any feedback.

Best,
Jincheng

[1]
https://docs.google.com/document/d/1WpTyCXAQh8Jr2yWfz7MWCD2-lou05QaQFb810ZvTefY/edit?usp=sharing
[2]
http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-FLIP-38-Support-python-language-in-flink-TableAPI-td28061.html
[3] https://github.com/dianfu/flink/commits/udf_poc

Reply via email to