Hive入门之数据类型

仰天大笑出门去,我辈岂是蓬蒿人。这篇文章主要讲述Hive入门之数据类型相关的知识,希望能为你提供帮助。
基本数据类型tinyint/smallint/int/bigint //整数类型
float/double //浮点数类型
boolean //布尔类型
string //字符串类型
案例1:
> create table person
(pid int,
pname string,
married boolean,
salary double);
案例2:
> create table test1
(vname varchar(20),
cname char(20));
//varchar(20)指vname列最大长度为20个字符
//char(20)指cname列固定长度为20,即使这一列不满20个字符,也按照20来算。
 
复杂数据类型



Array                            //数组类型(由一系列相同数据类型的元素组成)
Map                                //集合类型,包含key -> value键值对,可以通过key来访问元素
Struct                          //结构类型,可以包含不同数据类型元素。
案例1:Array类型
> create table student
(sid int,
sname string,
grade array< float> );
插入数据形式:
1, Ada, [92, 93, 98]
案例2:Map类型(key值相同,value将被覆盖)
> create table student1
(sid int,
sname string,
grade map< string, float> );
插入数据形式:
1, Tom, < mathematics, 85>
案例3:嵌套类型
create table student3
(sid int,
sname string,
grades array< map< string, float> > );
输入数据形式:
1, Tom, [< mathematics, 98> , < English, 90> ]
案例4:Struct数据类型
> create table student4
(sid int,
info struct< name:string,age:int,sex:string> );
输入数据形式:
1, Tom, 19, 男




时间数据类型



Datas
Timestamps
Timestamps类型:一种与时区无关的类型,各个时区表示方式是一样的,存储形式是一个偏移量(以UNIX存在以来的偏移量)
案例:
【Hive入门之数据类型】> select unix_timestamp();                 //将时间转化为时间戳
Datas类型:与一般的数据库(如oracle等)不同的是,不包含一天中的时间可以利用cast函数,对Data和Timestamp进行相互转换。










后记:网课笔记






    推荐阅读