欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

hive的数据类型和视图

程序员文章站 2022-03-08 09:41:51
...

一。基本数据类型

int(tinyint,smallint,int,bigint)
float double
boolean
string
timestemp

二。复杂数据类型

array
	create table test_arr(id int,name string,hobby array<string>) row format delimited fields terminated by '\t' collection items terminated by ',';
	collection items terminated by ','指的是array里元素的分隔符
	数据导入:
	load data inpath '/' into table test_arr;
	查询:可以通过下标进行数据访问
	select hobby[0] from test_arr;
	如果没有就返回null
	
map
	建表时候的分隔符,从外到内依次指定
	create table test_map(id int,name string,piaofang map<string,bigdata>) row format delimited fields terminated by '\t' collection items terminated by ',' map keys terminated by ':';
	查询:
	select paiofang['paonan'] from test_map;
	
struct:类似于对象类型
	可以用于数据比较规整,数据中每个字段含义一样时
	create table test_struct(id int,name string,info struct<city:string,age:int,score:int>) row format delimited fields terminated by '\t' collection items terminated by ',';
	查询:
	通过.可以像.属性一样进行访问
	select info.city,info.score from test_struct;

三。视图
1.hive中只有逻辑视图,没有物化视图
逻辑视图:仅仅保存视图的语句,不进行执行
2.相当于sql语句的一个快捷方式,用于提高hql语句的可读性
3.hive中的视图不支持insert,delete,update操作
4.hive中的视图是在真正查询视图的时候才会执行
5.hive中的视图存储在元数据中,存的内容将就是视图代表的sql语句
create view my_view01 select …

相关标签: hive