我们知道,如果要在Flink SQL中自定义UDF,则必须继承ScalarFunction类以实现UDF,并且可以在open方法中实现一些初始化工作。但是在我自己的测试中,我发现open方法没有执行。
例如:
class GetCurrentTest extends ScalarFunction{
private var value:Long=_
override def open(context: FunctionContext): Unit = {
value =2
throw new RuntimeException("error happen in open")
}
def eval():Long={
System.currentTimeMillis()+value
}
}
工作正常,为什么不抛出异常!