首页 > 解决方案 > Hive 时间戳格式?

问题描述

是否有任何特定的时间戳格式 hive 支持?

我的 Spark 作业有一个时间戳“yyyy-MM-dd-HH-mm-ss”,但是在将其存储在 hive 中时,数据正在转换为 null?

蜂巢表的数据类型为时间戳

标签: apache-sparkhive

解决方案


是的,您可以查看Hive 语言手册

支持具有可选纳秒精度的传统 UNIX 时间戳。

支持的转换:

  • 整数类型:解释为 UNIX 时间戳(以秒为单位)
  • 浮点数值类型:解释为 UNIX 时间戳,以秒为单位,小数精度
  • 字符串:符合 JDBC 的 java.sql.Timestamp 格式“YYYY-MM-DD HH:MM:SS.fffffffff”(9 位小数精度)

我认为这适用于您的案例

文本文件中的时间戳必须使用格式yyyy-mm-dd hh:mm:ss[.f...]。 如果它们是另一种格式,请将它们声明为适当的类型(INT、FLOAT、STRING 等)并使用 UDF 将它们转换为时间戳。


推荐阅读