hive內(nèi)部表與外部表區(qū)別

hive內(nèi)部表與外部表區(qū)別詳細(xì)介紹-Hive-about云開發(fā)
http://www.aboutyun.com/thread-7458-1-1.html
最后歸納一下Hive中表與外部表的區(qū)別:
1、在導(dǎo)入數(shù)據(jù)到外部表,數(shù)據(jù)并沒有移動(dòng)到自己的數(shù)據(jù)倉庫目錄下,也就是說外部表中的數(shù)據(jù)并不是由它自己來管理的!而表則不一樣;
2、在刪除表的時(shí)候,Hive將會(huì)把屬于表的元數(shù)據(jù)和數(shù)據(jù)全部刪掉;而刪除外部表的時(shí)候,Hive僅僅刪除外部表的元數(shù)據(jù),數(shù)據(jù)是不會(huì)刪除的!
那么,應(yīng)該如何選擇使用哪種表呢?在大多數(shù)情況沒有太多的區(qū)別,因此選擇只是個(gè)人喜好的問題。但是作為一個(gè)經(jīng)驗(yàn),如果所有處理都需要由Hive完成,那么你應(yīng)該創(chuàng)建表,否則使用外部表!


讓你徹底明白hive數(shù)據(jù)存儲(chǔ)各種模式-Hive-about云開發(fā)
http://www.aboutyun.com/thread-7414-1-1.html

問題導(dǎo)讀**1.hive數(shù)據(jù)分為那兩種類型?
****2.什么表數(shù)據(jù)?
****3.什么是元數(shù)據(jù)?
****4.Hive表里面導(dǎo)入數(shù)據(jù)的本質(zhì)什么?
****5.表、分區(qū)、桶之間之間的關(guān)系是什么?
****6.外部表和表的區(qū)別是什么?
**

Hive中主要包含以下幾種數(shù)據(jù)模型:Table(表),External Table(外部表),Partition(分區(qū)),Bucket(桶)(本博客會(huì)專門寫幾篇博文來介紹分區(qū)和桶)。

1、表:Hive中的表和關(guān)系型數(shù)據(jù)庫中的表在概念上很類似,每個(gè)表在HDFS中都有相應(yīng)的目錄用來存儲(chǔ)表的數(shù)據(jù),這個(gè)目錄可以通過${HIVE_HOME}/conf/hive-site.xml配置文件中的hive.metastore.warehouse.dir屬性來配置,這個(gè)屬性默認(rèn)的值是/user/hive/warehouse(這個(gè)目錄在HDFS上),我們可以根據(jù)實(shí)際的情況來修改這個(gè)配置。如果我有一個(gè)表wyp,那么在HDFS中會(huì)創(chuàng)建/user/hive/warehouse/wyp目錄(這里假定hive.metastore.warehouse.dir配置為/user/hive/warehouse);wyp表所有的數(shù)據(jù)都存放在這個(gè)目錄中。這個(gè)例外是外部表。

2、外部表:Hive中的外部表和表很類似,但是其數(shù)據(jù)不是放在自己表所屬的目錄中,而是存放到別處,這樣的好處是如果你要?jiǎng)h除這個(gè)外部表,該外部表所指向的數(shù)據(jù)是不會(huì)被刪除的,它只會(huì)刪除外部表對(duì)應(yīng)的元數(shù)據(jù);而如果你要?jiǎng)h除表,該表對(duì)應(yīng)的所有數(shù)據(jù)包括元數(shù)據(jù)都會(huì)被刪除。

3、分區(qū):在Hive中,表的每一個(gè)分區(qū)對(duì)應(yīng)表下的相應(yīng)目錄,所有分區(qū)的數(shù)據(jù)都是存儲(chǔ)在對(duì)應(yīng)的目錄中。比如wyp表有dt和city兩個(gè)分區(qū),則對(duì)應(yīng)dt=20131218,city=BJ對(duì)應(yīng)表的目錄為/user/hive/warehouse/dt=20131218/city=BJ,所有屬于這個(gè)分區(qū)的數(shù)據(jù)都存放在這個(gè)目錄中。

4、桶:對(duì)指定的列計(jì)算其hash,根據(jù)hash值切分?jǐn)?shù)據(jù),目的是為了并行,每一個(gè)桶對(duì)應(yīng)一個(gè)文件(注意和分區(qū)的區(qū)別)。比如將wyp表id列分散至16個(gè)桶中,首先對(duì)id列的值計(jì)算hash,對(duì)應(yīng)hash值為0和16的數(shù)據(jù)存儲(chǔ)的HDFS目錄為:/user/hive/warehouse/wyp/part-00000;而hash值為2的數(shù)據(jù)存儲(chǔ)的HDFS 目錄為:/user/hive/warehouse/wyp/part-00002。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容