如何在Hive中将时间戳(第二个和毫秒之间的点)转换为日期(yyyyMMdd)?

xun*_*lin 6 time hadoop hive date hiveql

我想将时间戳转换1490198341.705为日期20170323和小时11(GMT + 8:00).有什么功能可以解决这个问题吗?

lef*_*oin 5

尝试这个:

select date_format(from_utc_timestamp(1490198341.705,'GMT+8:00'),'yyyyMMdd HH:mm:ss');
Run Code Online (Sandbox Code Playgroud)

  • +1。我不知道from_utc_timestamp(和to_utc_timestamp)接受除时间戳以外的其他参数类型。我刚刚检查了源代码并相应地更新了文档https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-DateFunctions (3认同)