是的,这种就被当做常量被优化掉了。
你可以覆盖一下ScalarFunction#isDeterministic方法,说明你这个函数时非确定性的,就不会被优化掉了。
867127831 <
[hidden email]> 于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