Hive的基本数据类型

一、数值类型

  1. 整型
    TINYINT (1字节整数)
    SMALLINT (2字节整数)
    INT/INTEGER (4字节整数)
    BIGINT (8字节整数)
  2. 浮点型
    FLOAT (4字节浮点数)
    DOUBLE (8字节双精度浮点数)

二、时间类型

  1. TIMESTAMP (时间戳) (包含年月日时分秒的一种封装)
  2. DATE (日期)(只包含年月日)

三、字符串类型

  1. STRING (不设定长度)
  2. VARCHAR (字符串1-65355长度,超长截断)
  3. CHAR (字符串,最大长度255)

四、其他类型

  1. BOOLEAN(布尔类型):true false
  2. BINARY (二进制)

五、复合类型

  1. array数组类型
    一组有序字段,字段类型必须相同 ARRAY<data_type>
    eg:array(“a”,”b”,”c”)
  2. Maps:和Java中的Map相同,即存储K-V对的;
    一组无序的键/值对,键的类型必须是原子的,值可以是任意类型,同一键映射的值得类型必须相同
    MAP<primitive_type, data_type>
    eg:map(“a”,1,”b”,2)
  3. Structs:一组由任意数据类型组成的结构
    一组命名的字段,字段类型可以不同
    STRUCT<col_name : data_type, ...>
    eg:struct(“a”,1,2,3)

**复杂数据类型的声明必须使用尖括号指明其中数据字段的类型。

create table t_eg(
         col1 ARRAY< INT>,
         col2 MAP< STRING,INT>,
         col3 STRUCT< a:STRING,b:INT,c:DOUBLE>);

猜你喜欢

转载自blog.csdn.net/amin_hui/article/details/82218715