flink-udf
Installation
SKILL.md
Flink User-Defined Functions (UDFs)
Build and deploy custom functions in Java for Apache Flink to extend SQL and Table API capabilities with custom logic.
Function Types
Before proceeding, identify which type of function the user needs:
- Scalar UDF: Maps input values to a single output value (e.g., custom hash, string manipulation, calculations)
- User-Defined Table Function (UDTF): Maps input to multiple output rows (e.g., split strings, explode arrays)
- Process Table Function (PTF): Advanced stateful processing with N-to-M semantics, managed state, and timers (e.g., windowing, deduplication, state machines)
Gather Requirements
Ask the user these questions to determine the implementation path (if not already clear from context):
- Deployment target: Confluent Cloud or local Docker?
- Infrastructure: Deploy new infrastructure (Kafka + Flink) or use existing?
- Invocation method: Flink SQL or Table API?