从文档来看,flink的sql只能以某种格式解析时间戳,即:时间戳字符串:将格式为“yy-mm-dd hh:mm:ss.fff”的时间戳字符串解析为sql时间戳。有没有办法传入一个定制的datetimeformatter来解析一种不同的时间戳格式?
jchrr9hc1#
可以使用用户定义的标量函数(udf)实现任何解析逻辑。这将在scala中显示如下。
class TsParser extends ScalarFunction { def eval(s: String): Timestamp = { // your logic } }
一旦定义了函数,就必须在 TableEnvironment :
TableEnvironment
tableEnv.registerFunction("tsParser", new TsParser())
现在你可以使用这个函数了 tsParser 就像任何内置函数一样。有关详细信息,请参阅文档。
tsParser
1条答案
按热度按时间jchrr9hc1#
可以使用用户定义的标量函数(udf)实现任何解析逻辑。
这将在scala中显示如下。
一旦定义了函数,就必须在
TableEnvironment
:现在你可以使用这个函数了
tsParser
就像任何内置函数一样。有关详细信息,请参阅文档。