yuxiqian opened a new pull request, #4501:
URL: https://github.com/apache/flink-cdc/pull/4501
This PR adds support for defining inline Python UDFs in YAML pipeline jobs:
```yaml
transform:
- source-table: db.users
projection: ID, py_normalize(EMAIL) AS EMAIL_NORM, py_double(AGE) AS
DOUBLED
pipeline:
user-defined-function:
- name: py_normalize
python-code: |
def eval(value: str) -> str:
return None if value is None else value.strip().lower()
python-executable: /usr/bin/python3
- name: py_double
python-code: |
def eval(value: int) -> int:
return None if value is None else value * 2
```
The wrapper itself is implemented as a Java UDF as well. No changes are made
in the existing framework except the following:
* Runtime UDF binding names are slightly changed to allow defining multiple
UDFs with the same class.
* Added an overload function for UserDefinedFunction#getReturnType to pass
extra context info.
---
##### Was generative AI tooling used to co-author this PR?
- [x] Yes (please specify the tool below)
Generated-by: Codex (gpt-5.6-sol)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]