我最近将一个csv文件上传到Apache Hive表,该文件有3个带有时间戳的列
start_time,end_time,last_updated
"2017-10-23 11:07:00","2017-10-31 20:27:02","2017-10-31 20:27:02"
"2017-10-17 09:54:00","2017-10-23 10:51:02","2017-10-23 10:51:02"
一旦我将相同的文件上传到Apache Hive,它将所有这些列作为字符串,我试图将这些列作为时间戳记数据类型,但是值变为NULL。
我也尝试进行类型转换,但没有帮助!
我真的希望它们成为时间戳。
单击here以进行我经历过的类型转换。
最佳答案
使用unix_timestamp
并将其转换为bigint
select
cast(
unix_timestamp("2017-10-23 11:07:00","yyyy-MM-dd HH:mm:ss") as bigint
)
返回
1508782020
。当您想将其转换为日期时使用select from_unixtime(1508782020, 'yyyy-MM-dd HH:mm:ss')
返回
2017-10-23 11:07:00
关于csv - 将 “2017-10-31 20:42:00”字符串转换为Apache Hive中的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48281248/