Как мне написать правильный UDF во FlinkSQL? - PullRequest
0 голосов
/ 02 апреля 2019

Мы знаем, что если вы хотите настроить 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
    }
  }

работает правильно, не исключение почему!

...