Hive基础之Hive数据类型

Hive数据类型

    参考:中文博客:http://www.cnblogs.com/ggjucheng/archive/2013/01/03/2843448.html
          英文:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types

    1、列类型
       TINYINT
       SMALLINT
       INT
       BIGINT
       BOOLEAN
       FLOAT
       DOUBLE
       STRING
       BINARY(Hive 0.8.0以上才可用)
       TIMESTAMP(Hive 0.8.0以上才可用)

     2、复合类型
       arrays:ARRAY<data_type>
       maps:MAP<primitive_type,data_type>
       structs:STRUCT<col_name:data_type[COMMENT col_comment],.....>
       union:UNIONTYPE<data_type,data_type,...>

     3、时间戳
       支持传统的unix时间戳,可选的纳秒级精度。
       支持的转换:
          1)整型数值类型:解读为以秒为单位的UNIX时间戳
          2)浮动点数值类型:解读为以秒和小数精度为单位的UNIX时间戳。
          3)字符串:JDBC兼容的java.sql.Timestamp格式“YYYY-MM-DD HH:MM:SS.fffffffff”(9位小数位精度)
       注意:
          1)Dates类型在 Hive 0.12.0 版本中引入了。
          2)Decimal类型在 Hive 0.11.0 版本中引入了,并在 Hive 0.13.0 版本修订了。

     4、Union类型
        Union类型可以在同一时间点,保持恰好有一个指定的数据类型。

     5、常量
        数值类型默认是int,如果数值超出int的范围,就会被解释为bigint。
        数值后面加上后缀表示:

Type 后缀 示例
TINYINT  Y  100Y
SMALLINT  S  100S
BIGINT   L    100L


     6、字符串类型
        字符串可以用单引号或双引号。
        注意:
        1)Varchar类型在 Hive 0.12.0 版本中引入了。
        2)Char类型将在 Hive 0.13.0 版本中引入。

     7、浮点类型
        浮点类型数值,默认为双浮点类型,目前不支持科学计数法。

     8、NULL值
        遗漏的值被代表为特殊值NULL。 要导入NULL字段的数据,需要查阅使用的SerDe的文档。 (默认的文本格式使用LazySimpleSerDe的解释字符串\ N为NULL)

posted on 2014-04-11 18:15  知行旅人  阅读(3662)  评论(0编辑  收藏  举报