hive的学习笔记

原创
2017/04/14 10:49
阅读数 12

web界面
hive --service hwi &
远程管理
hive --service hiveserver &

hive的数据类型

基本数据类型

复杂数据类型


使用array
create table student 
(sid int,
sname string,
garde array<float>);
对应的结构
{1,tom,[80,56,89]}



使用map
create table student 
(sid int,
sname string,
garde map<string,float>);
对应的结构
{1,tom,<'语文'85>}

create table student 
(sid int,
sname string,
garde array<map<string,float>>);
对应的结构
{1,tom,[<'语文'85>,<'数学'85>,<'英语'85>]}


使用struct
create table student 
(sid int,
sname string,
info struct<name:string,age:int,sex:string>);

对应的结构
{1.{'tom',10,'男'}}

时间数据类型

timestamp是与时区无关的长整型术
data没有时间
他们可以相互转换

hive的数据模型

hive的内部表

hive的内部表
create table  t2
(id int,name string);

指定位置
create table  t2
(id int,name string)
location  '/mytable/hive/t2';

指定列与列的分隔符
create table  t3
(id int,name string)
row format delimited fields terminated by ',';

子查询创建表,同时加入数据
create table t4
as 
select * from t2;

修改表,添加新列
alter table t2 add columns(english int);
desc t2;

删除表
drop table t2;

hive的分区表

以性别为条件创建分区表

create table partiition_table 
(sid int,sname string)
partitioned by (gender string)
row format delimited fields terminated by ',';
查看
desc partiition_table;
插入数据
insert into table partiition_table partiition(gender='M') select * from student where gender='M';

insert into table partiition_table partiition(gender='F') select * from student where gender='F';
查看sql的执行计划
explain  select * from student where gender='M'

hive的外部表

它们的区别:

1、在导入数据到外部表,数据并没有移动到自己的数据仓库目录下,也就是说外部表中的数据并不是由它自己来管理的!而表则不一样;
2、在删除表的时候,Hive将会把属于表的元数据和数据全部删掉;而删除外部表的时候,Hive仅仅删除外部表的元数据,数据是不会删除的!

这样外部表相对来说更加安全些,数据组织也更加灵活,方便共享源数据。

创建数据文件
vim student01.txt
,tom,23
,mary,22
vim student02.txt
,mike,52
,slv,53
vim student03.txt
,kli,52
,sdf,85
上传到hdfs
hdfs dfs -put student01.txt /input
hdfs dfs -put student02.txt /input
hdfs dfs -put student03.txt /input

建立外部表,指向这三个文件
create external table external_student
(sid int,sname string,age int)
row format delimited fields terminated by ','
location  '/input';

select * from external_student;

 

hive的桶表

hive的视图表

 

 

 

http://portal.ly-sky.com:8090/pages/viewpage.action?pageId=26976242

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部