Мы знаем, что если вы хотите настроить UDF в Flink SQL, вы должны унаследовать класс 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
}
}
работает правильно, не исключение почему!