What problem does it solve? Extending Flink SQL and the Table API with custom business logic requires writing, packaging, and deploying Java functions, which involves complex build configuration, state management, and platform-specific deployment steps that are easy to get wrong. ## Core Features & Use Cases - Three Function Types: Generate scalar UDFs, user-defined table functions (UDTFs), and stateful process table functions (PTFs) with proper annotations like @StateHint and @ArgumentHint. - Dual Deployment Targets: Deploy to Confluent Cloud via artifact upload or to local Docker environments via docker cp and ADD JAR. - Guided Workflow: Routes through infrastructure setup, Maven/Gradle build configuration, function registration, and testing with sample data. - Use Case: Build a PTF that detects duplicate events within a one-hour window per user, package it as a JAR, upload it to Confluent Cloud, and invoke it from Flink SQL with PARTITION BY and a stable uid for state recovery. ## Quick Start Ask the assistant to create a Flink scalar UDF in Java that extracts the domain from email addresses and deploy it to Confluent Cloud for use in Flink SQL.