Hi, We have been looking into more intelligent UDF supports such as creating a better type inference module to infer automatically composite data types[1].
One most comment pain point we have are some use cases where users would like to re-use a rather generic UDF, for example: public List<String> eval(Map<String, ?> myMap) { return new ArrayList<>(myMap.keySet()); > } > In this case, since we are only interested in the key sets of the map, value type cannot be easily resolved or overrided using concrete types. Eventually we end up overriding the exact same function with multiple case classes, so that each one uses a different ValueTypeInfo. This is rather inefficient in terms of user development cycle. I was wondering if there's a better way in FunctionCatalog lookup to match a UDF in context. Best, Rong [1] https://issues.apache.org/jira/browse/FLINK-9294