Hive學習筆記 3 Hive的資料模型:內部表、分割槽表、外部表、桶表、檢視

土豆拍死馬鈴薯發表於2017-10-08

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、檢視

概念與資料庫中的檢視概念基本相同,理解為虛表




相關文章