Flink SQL - Как проанализировать TIMESTAMP с пользовательским шаблоном? - PullRequest
0 голосов
/ 06 мая 2018

Из документации видно, что SQL Флинка может анализировать метки времени только в определенном формате, а именно:

Строка TIMESTAMP: анализирует строку метки времени в форме «гг-мм-дд чч: мм: сс.ффф» в метку времени SQL.

Есть ли способ передать пользовательский DateTimeFormatter для анализа другого типа формата отметки времени?

1 Ответ

0 голосов
/ 06 мая 2018

Вы можете реализовать любую логику синтаксического анализа, используя пользовательскую скалярную функцию (UDF).

Это будет выглядеть в Scala следующим образом.

class TsParser extends ScalarFunction {
  def eval(s: String): Timestamp = {
    // your logic
  }
}

После определения функция должна быть зарегистрирована в TableEnvironment:

tableEnv.registerFunction("tsParser", new TsParser())

Теперь вы можете использовать функцию tsParser, как и любую встроенную функцию.

Подробнее см. Документацию .

...