Hive时间戳格式?

配置单元支持任何特定的时间戳格式吗?

我的spark作业有一个时间戳“ yyyy-MM-dd-HH-mm-ss”,但是在将它存储在蜂巢中时,数据转换为null吗?

配置单元表的数据类型为时间戳

zhongchuan000 回答:Hive时间戳格式?

是的,您可以选中Hive Language Manual

以可选的纳秒精度支持传统的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将其转换为时间戳。

,

一种方法(结束昂贵的)是将mergeSchema设置为true

更简单的方法是在时间戳列中使用{strong>默认值,例如null

处理coalesce(col("<spark_ts_column>"),lit("1970-01-01-00-00-00").cast(TimestampType))

顺便说一句,时间戳的格式看起来不标准,示例数据/代码会有所帮助。

本文链接:https://www.f2er.com/3162587.html

大家都在问