在通过sparksql选择列时,我想删除毫秒部分。
传真:2012-10-17 13:02:50.320
我希望结果是2012-10-17 13:02:50我试过了
spark.sql("select cast(datecol as timestamp) from table
spark.sql("select unix_timestamp(datecol,"yyyy-MM-dd HH:mm:ss") from table
两者似乎都不起作用,子字符串的工作,但我需要时间戳格式,有没有其他办法呢?
提前谢谢
3条答案
按热度按时间2ledvvac1#
解决这个问题的方法是
to_timestamp
函数,如果要将值移动到新列c2e8gylq2#
对于正在寻找使用sparkDataframe方法的解决方案的每个人:如果列的类型是timestamp而不是string,那么可以使用
date_trunc("second", column)
功能:vmjh9lq93#
由于您的时间戳值是字符串,并且您要将其强制转换为时间戳,所以可以使用substring函数来尝试。
第二种选择:
您没有提供输入格式,这可能是导致错误的原因。
我希望,这能奏效。
谢谢,马努