我在试着用 HIVE UDFs
(https://cwiki.apache.org/confluence/display/hive/languagemanual+udf#languagemanualudf-日期函数)从 Sparklyr
正确读入一些时间戳。
很遗憾,我无法正确解析以下时间戳:
unix_timestamp('2011-03-01T00:00:04.226Z', 'yyyy-MM-ddThh:mm:ss.SSS' )
退货 NA
s、 是的。。
有什么想法吗?这里的正确模式是什么?谢谢!
1条答案
按热度按时间eqqqjvef1#
你需要引用
T
以及Z
```hive> select unix_timestamp('2011-03-01T00:00:04.226Z', "yyyy-MM-dd'T'hh:mm:ss.SSS'Z'" );
OK
1298959204
select unix_timestamp(cast(regexp_replace('2011-03-01T00:00:04.226Z', '(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}).(\d{3})Z', '$1-$2-$3 $4:$5:$6.$7' ) as timestamp))
hive> select to_utc_timestamp(unix_timestamp('2011-03-01T00:00:04.226Z', "yyyy-MM-dd'T'hh:mm:ss.SSS'Z'" )*1000, 'EST');
OK
2011-03-01 05:00:04