[
https://issues.apache.org/jira/browse/FLINK-40251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Wang Chengyu updated FLINK-40251:
---------------------------------
External issue ID: FLINK-36703
External issue URL: https://issues.apache.org/jira/browse/FLINK-36703
> Support Process Table Function (PTF) in Python Table API
> --------------------------------------------------------
>
> Key: FLINK-40251
> URL: https://issues.apache.org/jira/browse/FLINK-40251
> Project: Flink
> Issue Type: New Feature
> Components: API / Python, Table SQL / API
> Reporter: Wang Chengyu
> Priority: Major
>
> The Java ProcessTableFunction (PTF) was introduced by FLIP-440 and is tracked
> under the umbrella FLINK-36703. This is the umbrella issue for bringing the
> equivalent capability to the Python Table API, so that Python users get parity
> with the existing Java / SQL PTF interface. It does not introduce any new
> user-facing concept beyond FLIP-440; the semantics stay aligned with the Java
> PTF.
> The following capabilities are planned to be supported:
> * Define a PTF by subclassing ProcessTableFunction and creating it via
> udptf(),
> and invoke it via Table.process(), TableEnvironment.from_call() and SQL
> after
> name registration.
> * Table arguments (single and multiple) together with scalar arguments, and
> the
> on_time / uid system arguments.
> * Row and Set semantics, PARTITION BY, ORDER BY, pass-through columns and the
> runtime table semantics context.
> * Keyed ROW Value State, MapView and ListView, with independent TTL, explicit
> cleanup, checkpoint and restore.
> * Event time, table / PTF watermark, named and anonymous event-time timers and
> the on_timer() callback.
> * Append, upsert and retract changelog input and output, including input
> RowKind
> and the update-before / full-delete requirements.
> * Stateful query evolution via a stable uid.
> * Calling already-registered Java PTFs, including multi-table Java PTFs.
> Batch execution, processing-time timers and broadcast state are out of scope,
> consistent with the current Java PTF limitations.
> The individual capabilities will be split into sub-tasks, each addressed by a
> separate pull request.
> References:
> * FLINK-36703 — Java PTF umbrella
> * FLIP-440 — User-defined SQL operators / ProcessTableFunction (PTF)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)