zoukankan      html  css  js  c++  java
  • Hive之 数据类型

    hive 目前支持的数据类型如下:

    -- 数值类型 Numeric Types
    TINYINT (1-byte signed integer, from -128 to 127)
    SMALLINT (2-byte signed integer, from -32,768 to 32,767)
    INT/INTEGER (4-byte signed integer, from -2,147,483,648 to 2,147,483,647)
    BIGINT (8-byte signed integer, from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807)
    FLOAT (4-byte single precision floating point number)
    DOUBLE (8-byte double precision floating point number)
    DOUBLE PRECISION (alias for DOUBLE, only available starting with Hive 2.2.0)
    DECIMAL
    Introduced in Hive 0.11.0 with a precision of 38 digits
    Hive 0.13.0 introduced user-definable precision and scale
    NUMERIC (same as DECIMAL, starting with Hive 3.0.0)

    --日期/时间类型 Date/Time Types
    TIMESTAMP (Note: Only available starting with Hive 0.8.0)
    DATE (Note: Only available starting with Hive 0.12.0)
    INTERVAL (Note: Only available starting with Hive 1.2.0)

    --字符类型 String Types
    STRING
    VARCHAR (Note: Only available starting with Hive 0.12.0)
    CHAR (Note: Only available starting with Hive 0.13.0)

    Misc Types
    BOOLEAN
    BINARY (Note: Only available starting with Hive 0.8.0)

    --复杂类型 Complex Types
    arrays: ARRAY<data_type> (Note: negative values and non-constant expressions are allowed as of Hive 0.14.)
    maps: MAP<primitive_type, data_type> (Note: negative values and non-constant expressions are allowed as of Hive 0.14.)
    structs: STRUCT<col_name : data_type [COMMENT col_comment], ...>
    union: UNIONTYPE<data_type, data_type, ...> (Note: Only available starting with Hive 0.7.0.)

    例子:

    1)Array数组
    数据类型相同的元素集合。

    hive>create table student
    (sid int,
    sname string,
    grade array<float>);
    其中array代表各科成绩,比如:
    {1,YY,[80,100,90]}

    2)Map
    key和value对:

    hive>create table student2
    (sid int,
    sname string,
    grade map<string,float>);
    其中map指的是学科对应的成绩,比如:
    {1,yy,<'English',90>}
    上面的array和map可以组合起来使用,一个人的各科成绩:

    hive> create table student3
    (sid int,
    sname string,
    grades array<map<string,float>>);
    {1,'yy',[<'English',80>,<'English2',90>]}

    3)struct
    结构体:

    hive>create table student4
    (sid int,
    info struct<name:string,age:int,sex:string>);
    比如:
    {1,{'yy',20,'male'}}

  • 相关阅读:
    JVM的生命周期、体系结构、内存管理和垃圾回收机制
    JVM的ClassLoader过程分析
    MySQL Cluster配置概述
    tomcat下bin文件夹下shell文件分析
    Eclipse环境下使用Maven注意事项
    mysql服务器的字符集
    判断文件中是否存在中文字符
    Tomcat/JSP中文编码配置
    Java内存泄露的原因
    Python 开发轻量级爬虫08
  • 原文地址:https://www.cnblogs.com/andy6/p/7553653.html
Copyright © 2011-2022 走看看