是的,这种就被当做常量被优化掉了。
你可以覆盖一下ScalarFunction#isDeterministic方法,说明你这个函数时非确定性的,就不会被优化掉了。

867127831 <[email protected]> 于2020年7月17日周五 下午5:27写道:

> hi, 我有一个不带参数的udf,用于返回系统当前时间的字符串格式,但是调用时每次都返回这个udf第一次调用的结果,所以拿到的时间全部都是一样的
>
>
> udf的实时如下:
>
>
> public class GetTimeFunc extends ScalarFunction {
>         public String eval() {
>                 return new SimpleDateFormat("yyyy-MM-dd
> HH:mm:ss").format(new Date());
>         }
> }
>
>
>
> 请问,针对这种没有入参的udf,flink内部是有做什么优化吗,导致每次调用返回的结果都一样?



-- 

Best,
Benchao Li

回复