Hive数据类型混淆



我有一个大数据,在一个字段是像Wed Sep 15 19:17:44 +0100 2010我需要在Hive中插入该字段。

我在选择数据类型时遇到了麻烦。我尝试了时间戳和日期,但从CSV文件加载时获得空值。

数据类型为String,因为它是文本。如果你想转换它,我建议使用TIMESTAMP。但是,您需要在加载数据时自己完成此转换,或者(甚至更好)之后。

要转换为时间戳,可以使用以下语法:

CAST(FROM_UNIXTIME(UNIX_TIMESTAMP(<date_column>,'FORMAT')) as TIMESTAMP)

你的格式看起来很复杂。我的建议是加载它作为一个字符串,然后只是做一个简单的查询第一个记录,直到你得到它的工作。

    SELECT your_column as string_representation,
CAST(FROM_UNIXTIME(UNIX_TIMESTAMP(<date_column>,'FORMAT')) as TIMESTAMP) as timestamp_representation
    FROM your_table
    LIMIT 1

您可以在这里找到更多关于格式的信息:http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

我的建议是先连接一些子字符串,并在查看时间和时区等之前尝试仅转换日,月,年部分。

相关内容

  • 没有找到相关文章

最新更新