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'}}

  • 相关阅读:
    【LSA推荐算法】简单理解
    【数据分析案例】用户消费行为
    【Django】rest_framework 序列化自定义替换返回值
    【Django+Element UI】使用一个接口文件,搞定分页获取数据,模糊查询后分页获取数据
    【Django后端分离】使用element-ui文件上传
    JavaScript数组去重方法总结
    MySQL索引优化--对前缀索引使用like模糊匹配时的实际索引选择
    Linux命令--top
    Linux命令--free
    MySQL中的表的列设置为varchar(0)或char(0)
  • 原文地址:https://www.cnblogs.com/andy6/p/7553653.html
Copyright © 2011-2022 走看看