我需要哪种版本的Hive具有小数点后6位以上的时间戳?
我需要使用哪个版本的Hive: 它列出了一种将字符串转换为给定格式的时间戳的方法,但它似乎不起作用,与此功能相关的Jira故事似乎从未发布过 有人知道吗?介绍了一种使用SQL:2016兼容格式而不是当前使用的格式的方法,同时它应该提供转换非标准时间戳格式的简单方法。 我发现这个孩子是在4.0版本中发布的 如果您的蜂巢<4.0,您可以做什么:我需要哪种版本的Hive具有小数点后6位以上的时间戳?,hive,timestamp,hiveql,Hive,Timestamp,Hiveql,我需要使用哪个版本的Hive: 它列出了一种将字符串转换为给定格式的时间戳的方法,但它似乎不起作用,与此功能相关的Jira故事似乎从未发布过 有人知道吗?介绍了一种使用SQL:2016兼容格式而不是当前使用的格式的方法,同时它应该提供转换非标准时间戳格式的简单方法。 我发现这个孩子是在4.0版本中发布的 如果您的蜂巢
时间戳(str)
或转换(str as timestamp)
将其转换为时间戳,但在大多数情况下,您不需要显式转换,而是隐式转换,精度不会丢失,您可以将此类字符串插入时间戳列并与时间戳进行比较,而无需转换
date\u format
方法不起作用,因为它需要标准格式的时间戳from_unixtime(unix_timestamp(str,format))
不起作用,因为unix_timestamp
函数返回秒,而不是纳秒,在此转换后,毫秒和纳秒将丢失
original_string timestamp_converted
16AUG2001:23:46:32.123456789 2001-08-16 23:46:32.123456789
正如你所见,它的工作精度为纳秒。我使用final timestamp(string)转换只是为了表明生成的字符串与timestamp兼容,您可以省略显式转换timestamp(string)
Hive支持纳秒精度的时间戳,您可以使用其他方法进行转换,请参阅我的回答您使用的Hive版本是什么?我使用的是2.3.3,在小数秒内的精度似乎不能超过6位,当然不能达到9位(那太好了!)@emberfly我使用的是2.3。6@emberfly这个时间戳('2001-08-16 23:46:32.123456789')-也不起作用?那就错了version@emberfly请阅读以下内容:Hive2.3.2与9配合使用效果良好digits@emberfly你用的是什么客户机?也许是客户的问题。我在色调和曲波乐GUI中进行了测试
original_string timestamp_converted
16AUG2001:23:46:32.123456789 2001-08-16 23:46:32.123456789