背景:
一般unix时间戳是10位精度到秒,但是有时需要13位精确到毫秒。对于13位长度需要转换成可读格式并保留毫秒,在sparksql中没有找到直接的转换方式。
方案:
select concat(from_unixtime(1559461463324/1000,'yyyy-MM-dd HH:mm:ss.'), 1559461463324%1000) as c1 , to_timestamp(concat(from_unixtime(1559461463324/1000,'yyyy-MM-dd HH:mm:ss.'), 1559461463324%1000)) as c2, date_format(to_timestamp(concat(from_unixtime(1559461463324/1000,'yyyy-MM-dd HH:mm:ss.'), 1559461463324%1000)),'yyyy-MM-dd HH:mm:ss.SSS') as c3
结果:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)