Hive的数据类型

目录

一:基本数据类型

数值型

日期类型

二:复杂数据类型

1:array

2:map

3:struct


一:基本数据类型

数值型

TINYINT — 微整型,只占用1个字节,只能存储0-255的整数。

SMALLINT– 小整型,占用2个字节,存储范围–32768 到 32767。

INT– 整型,占用4个字节,存储范围-2147483648到2147483647。

BIGINT– 长整型,占用8个字节,存储范围-2^63到2^63-1。

布尔型BOOLEAN — TRUE/FALSE

浮点型FLOAT– 单精度浮点数。

DOUBLE– 双精度浮点数。

字符串型STRING– 不设定长度。

日期类型

1,Timestamp 格式“YYYY-MM-DD HH:MM:SS.fffffffff”(9位小数位精度)

2,Date DATE值描述特定的年/月/日,格式为YYYY-MM-DD。

二:复杂数据类型

1:array

create table testArray(
    name string,
    weight array<string>
)row format delimited 
fields terminated by '\t'
COLLECTION ITEMS terminated by ',';


小明 140,160,180

小华 160,200,180

 注意:这个与java中数组一样,可以通过下标取值

例如:取第一年的体重

select name,weight[0] from testArray;

2:map

create table scoreMap(
    name string,
    score map<string,int> 
)ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
COLLECTION ITEMS TERMINATED BY ','
MAP KEYS TERMINATED BY ':';

小明 语文:91,数学:110,英语:40

小红 语文:100,数学:130,英语:140

 注意:可以通过key取value

例如:取语文成绩

select name ,score['语文'] from scoreMap;

3:struct

create table scoreStruct(
    name string,
    score struct<course:string,score:int,course_id:int,tearcher:String> 
)ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
COLLECTION ITEMS TERMINATED BY ',';

小明 语文,91,000001,余老师

小红 数学,100,000002,体育老师

 注意:这个可以类比于java中对象

例如:取课程的名称和分数

select name,score.course,score.score from scoreStruct;

上一篇:git clone时gnutls_handshake() failed: The TLS connection was non-properly terminated


下一篇:Metal新特性:大幅度提升iOS端性能