如何用自定义模式解析时间戳?

pcrecxhr  于 2021-06-24  发布在  Flink
关注(0)|答案(1)|浏览(473)

从文档来看,flink的sql只能以某种格式解析时间戳,即:
时间戳字符串:将格式为“yy-mm-dd hh:mm:ss.fff”的时间戳字符串解析为sql时间戳。
有没有办法传入一个定制的datetimeformatter来解析一种不同的时间戳格式?

jchrr9hc

jchrr9hc1#

可以使用用户定义的标量函数(udf)实现任何解析逻辑。
这将在scala中显示如下。

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

一旦定义了函数,就必须在 TableEnvironment :

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

现在你可以使用这个函数了 tsParser 就像任何内置函数一样。
有关详细信息,请参阅文档。

相关问题