Hive学习笔记 3 Hive的数据模型:内部表、分区表、外部表、桶表、视图
1、内部表
Hive中默认的表就是内部表,即元数据存在数据库中,数据存在HDFS中
顺便补充以下创建内部表的细节:指定列分隔符、从其他表中查询插入
内部表被删除后,HDFS会把其移动到垃圾箱中
2、分区表
作用:加快查询效率,如按照性别分区
如果按照性别进行分区,则可以加快按照性别查询时的查找效率
分区表创建实例:
在mysql中新建一个person表,并插入几条数据
使用Sqoop将mysql数组导入到hive中
在hive中查询是否导入成功 select * from person
创建分区表并指定列分隔符 create table partitiontable(sid int,sname string) partitioned by (gender string) row format delimited fields terminated by ',';
向分区表的gender=M分区中插入从person中查询的gender=M的数据:
insert into table partitiontable partition(gender='F') select id,name from person where gender = 'F';
insert into table partitiontable partition(gender='M') select id,name from person where gender = 'M';
在HDFS中查看分区表的结构和内容
3、外部表
3、桶表
将某个属性进行hash,分到一定数量的桶中
4、视图
概念与数据库中的视图概念基本相同,理解为虚表