Timo Walther created FLINK-36703:
------------------------------------
Summary: FLIP-440: User-defined SQL operators /
ProcessTableFunction (PTF)
Key: FLINK-36703
URL: https://issues.apache.org/jira/browse/FLINK-36703
Project: Flink
Issue Type: New Feature
Components: Table SQL / API, Table SQL / Planner, Table SQL / Runtime
Reporter: Timo Walther
Assignee: Timo Walther
Introduce a new kind of user-defined function (UDF) that enables implementing
user-defined SQL operators: [ProcessTableFunction
(PTF)|https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=298781093]
The new UDF kind opens the Table & SQL API towards capabilities of the
DataStream API while staying in the SQL ecosystem. And using all benefits of it.
PTFs look and feel familiar for both someone coming from the DataStream API
world as well as the SQL world.
>From SQL:
* Similar types and type inference as ScalarFunction, AggregateFunction, or
TableFunction
* Registration in catalog, usage of inline/temporary UDF, built-in system
functions in the future
* Usage in both SQL and Table API
* Very important: Standard-compliant syntax using Polymorphic Table Functions
>From DataStream API:
* Familiar naming like ProcessFunction
* Access to Map, List and Value state
* Ability to both keyBy() and connect() streams. Long-term also broadcast side
functionality.
* Ability to deal with watermarks and dealing with time
* Support of query evolution (terminology as defined in FLIP-190)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)