Nav*_*een 5 hadoop hive emr hiveql
我正在尝试将REC_TIME列中的字符串转换为蜂巢中的时间戳格式。
例如:UTC 2016年7月31日星期日09:28:20 => 2016-07-31 09:28:20
SELECT xxx, UNIX_TIMESTAMP(REC_TIME, "E M dd HH:mm:ss z yyyy") FROM wlogs LIMIT 10;
Run Code Online (Sandbox Code Playgroud)
当我执行上述SQL时,它返回NULL值。
尝试这个 :
select from_unixtime(unix_timestamp("Sun Jul 31 09:28:20 UTC 2016","EEE MMM dd HH:mm:ss zzz yyyy"));
Run Code Online (Sandbox Code Playgroud)
如果您的配置单元群集具有UTC时区,则可以正常工作。假设您的服务器在CST中,那么您需要执行以下操作才能到达UTC;
select to_utc_timestamp(from_unixtime(unix_timestamp("Sun Jul 31 09:28:20 UTC 2016","EEE MMM dd HH:mm:ss zzz yyyy")),'CST');
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。
编辑 Hive日期功能将JAVA简单日期格式程序用于模式。有关模式,请参考此内容。
| 归档时间: |
|
| 查看次数: |
16397 次 |
| 最近记录: |