有人可以帮我指导我需要从from_unixtime提交哪种数据类型或格式,以使spark from_unixtime()函数正常工作?
当我尝试以下操作时,它可以正常工作,但不会响应current_timestamp。
from_unixtime(current_timestamp())
回复如下:
fromunixtime(currenttimestamp(),yyyy-MM-dd HH:mm:ss)
当我尝试输入
时from_unixtime(1392394861,"yyyy-MM-dd HH:mm:ss.SSSS")
以上只是因类型不匹配而失败:
错误:类型不匹配; 发现:Int(1392394861) 必需:org.apache.spark.sql.Column from_unixtime(1392394861,“yyyy-MM-dd HH:mm:ss.SSSS”)
我错过了什么?我尝试了很多不同的东西,并尝试阅读使用spark中的日期/时间的文档,我尝试过的每个例子都因类型不匹配而失败。
答案 0 :(得分:3)
使用lit()创建一个文字值列,如下所示:
from_unixtime(lit(1392394861), "yyyy-MM-dd HH:mm:ss.SSSS")
或者,如零323所述:
from_unixtime(current_timestamp().cast("long"))