Hive入门之数据类型
Posted GoatGui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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存在以来的偏移量)
案例:
>select unix_timestamp(); //将时间转化为时间戳
Datas类型:与一般的数据库(如oracle等)不同的是,不包含一天中的时间可以利用cast函数,对Data和Timestamp进行相互转换。
后记:网课笔记
以上是关于Hive入门之数据类型的主要内容,如果未能解决你的问题,请参考以下文章