我有一个基于JSON的源代码,我想使用ADF映射数据流进行转换。我有一个字符串,其中包含一个划时代的时间戳值,我希望将其转换为Datetime值,以便稍后将其放入Parquet文件中。
你知道怎么做吗?这种语言的文档是这里。
源文件:
{
"timestamp":"1574127407",
"name":"D.A."
}
发布于 2019-12-01 12:57:33
使用toTimestamp()并将您希望的格式设置为第二个参数
toTimestamp(1574127407*1000l)
从字符串:
toTimestamp(toInteger(toString(byName('timestamp')))*1000l,'yyyy-MM-dd HH:mm:ss')
发布于 2022-06-09 05:05:23
我遇到了13位数的各种时代时间戳值,即它们甚至有毫秒的详细信息。
在这种情况下,使用'toInteger‘转换为整数并不能达到目的,相反,这将使值保持为NULL。因此,要解决这个问题,我们需要使用toLong将其转换为Long,如下所示:
toTimestamp(toLong(toString(created)),'yyyy-MM-dd HH:mm:ss')
在上面的表达式中,“created”是一个值为13位的时代时间戳的字段,类似于此创建=‘1635359043307’。
这里,toTimestamp返回上面提到的日期格式的日期时间戳.
FYI,您可以使用这个站点https://www.epochconverter.com/来检查到人工日期的时代时间戳。
https://stackoverflow.com/questions/59118389
复制