Description
Currently Scala users can use UDF like
val foo = udf((i: Int) => Math.random() + i).asNondeterministic
df.select(foo('a))
Python users can also do it with similar APIs. However Java users can't do it, we should add Java UDF APIs in the functions object.