[英]Flink SQL - How to parse a TIMESTAMP with custom pattern?
从文档看来,Flink的SQL只能解析某种格式的时间戳,即:
TIMESTAMP字符串:将格式为“ yy-mm-dd hh:mm:ss.fff”的时间戳字符串解析为SQL时间戳。
有什么方法可以传递自定义DateTimeFormatter来解析另一种时间戳格式?
您可以使用用户定义的标量函数(UDF)来实现任何解析逻辑。
在Scala中看起来如下。
class TsParser extends ScalarFunction {
def eval(s: String): Timestamp = {
// your logic
}
}
定义后,必须在TableEnvironment
注册该TableEnvironment
:
tableEnv.registerFunction("tsParser", new TsParser())
现在,您可以像任何内置函数一样使用tsParser
函数。
有关详细信息,请参见文档 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.