內部表
外部表分割槽表
靜態分割槽
動態分割槽
桶表檢視
物化檢視
從hive上建立的表通過hive儲存到hdfs上的表叫內部表
預設:在/user/hive/warehouse/目錄下(hdfs上的目錄)
刪除內部表:元資料、資料都會被刪除
建立乙個普通的表(預設的分隔符:是乙個不可見字元)
create table emp
(empno int,
ename string,
job string,
mgr int,
hiredate string,
sal int,
comm int,
deptno int);
然後載入資料可以使用insert,也可以使用load,也可以使用sqoop
如果使用insert語句插入到上面的表中我們使用預設的分隔符就可以了
insert into emp values(7499,『allen』,『salesman』,7698,『1981/2/20』,1600,300,30);
但是我們如果使用load語句來載入資料到hive,表的分隔符就需要根據具體情況指定了
使用load語句可以載入hdfs和本地資料到表中
我們測試load載入hdfs中的資料到hive中這個操作相當於ctr +x,這個操作會把hdfs上的這個檔案剪下掉
我們已經載入到了hive中,從上圖中hdfs中可以檢視到,但是我們在hive中使用select語句確查不到,這個就是因為分隔符的問題
我們從新建立一張表,順便測試load本地(linux)檔案到hive中,這個操作相當於ctr+c,並不會刪除本地檔案
外部表就是直接使用hdfs的資料建立表,在實際工作中,結合 外部表+分割槽表 更常用;
每張表中有一條資料,資料之間用逗號隔開
然後我們建立外部表
create external table ext_students(sid int,sname string,age int)row format delimited fields terminated by ',' location '/student';
查詢一下 Hive的資料模型 桶表
桶表是對資料進行雜湊取值,然後放到不同檔案中儲存。資料載入到桶表時,會對字段取hash值,然後與桶的數量取模。把資料放到對應的檔案中。物理上,每個桶就是表 或分割槽 目錄裡的乙個檔案,乙個作業產生的桶 輸出檔案 和reduce任務個數相同。桶表專門用於抽樣查詢,是很專業性的,不是日常用來儲存資料的表...
HIVE的資料模型
hive 中所有的資料都儲存在 hdfs 中,hive 中包含以下資料模型 示例 建立表 level string,leader string,dep string,ips array row format delimited fields terminated by collection item...
hive資料模型之桶表
hive的桶表類似於hash分割槽,桶表在hdfs中儲存是以檔案形式儲存的 與其他分割槽表不同,桶表的分割槽條件是從表中列名選取的,然後做hash運算,如果hash值相同那麼就放入乙個桶表中 建立桶表的示例 create table emp5 empno int,ename string,job s...