您好,登錄后才能下訂單哦!
小編給大家分享一下Hadoop中HDFS優(yōu)缺點有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
HDFS的優(yōu)點:
1、處理超大文件
這里的超大文件通常是指百MB、甚至數(shù)百TB大小的文件。目前在實際應(yīng)用中,HDFS已經(jīng)能用來存儲管理PB級的數(shù)據(jù)了。
2、流式的訪問數(shù)據(jù)
HDFS的設(shè)計建立在“一次寫入、多次讀寫”任務(wù)的基礎(chǔ)上。這意味著一個數(shù)據(jù)集一旦由數(shù)據(jù)源生成,就會被復(fù)制分發(fā)到不同的存儲節(jié)點中,然后響應(yīng)各種各樣的數(shù)據(jù)分析任務(wù)請求。在多數(shù)情況下,分析任務(wù)都會涉及數(shù)據(jù)集中的大部分?jǐn)?shù)據(jù),也就是說,對HDFS來說,請求讀取整個數(shù)據(jù)集要比讀取一條記錄更加高效。
3、運行于廉價的商用機器集群上
Hadoop設(shè)計對應(yīng)急需求比較低,只須運行在低廉的商用硬件集群上,而無需在昂貴的高可用性機器上。廉價的商用機也就意味著大型集群中出現(xiàn)節(jié)點故障情況的概率非常高。HDFS遇到了上述故障時,被設(shè)計成能夠繼續(xù)運行且不讓用戶察覺到明顯的中斷。
HDFS的缺點:
1、不適合低延遲數(shù)據(jù)訪問
如果要處理一些用戶要求時間比較短的低延遲應(yīng)用請求,則HDFS不適合。HDFS是為了處理大型數(shù)據(jù)集分析任務(wù)的,主要是為達(dá)到高的數(shù)據(jù)吞吐量而設(shè)計的,這就可能要求以高延遲作為代價。
改進(jìn)策略:
對于那些有低延時要求的應(yīng)用程序,HBase是一個更好的選擇,通過上層數(shù)據(jù)管理項目盡可能地彌補這個不足。在性能上有了很大的提升,它的口號是goes real time。使用緩存或多個master設(shè)計可以降低Clinet的數(shù)據(jù)請求壓力,以減少延時。
2、無法高效存儲大量的小文件
因為NameNode把文件系統(tǒng)的元數(shù)據(jù)放置在內(nèi)存中,所有文件系統(tǒng)所能容納的文件數(shù)目是由NameNode的內(nèi)存大小來決定。還有一個問題就是,因為MapTask的數(shù)量是由Splits來決定的,所以用MR處理大量的小文件時,就會產(chǎn)生過多的MapTask,線程管理開銷將會增加作業(yè)時間。當(dāng)Hadoop處理很多小文件(文件大小小于HDFS中Block大小)的時候,由于FileInputFormat不會對小文件進(jìn)行劃分,所以每一個小文件都會被當(dāng)做一個Split并分配一個Map任務(wù),導(dǎo)致效率底下。
例如:一個1G的文件,會被劃分成16個64MB的Split,并分配16個Map任務(wù)處理,而10000個100Kb的文件會被10000個Map任務(wù)處理。
改進(jìn)策略:
要想讓HDFS能處理好小文件,有不少方法。利用SequenceFile、MapFile、Har等方式歸檔小文件,這個方法的原理就是把小文件歸檔起來管理,HBase就是基于此的。
3、不支持多用戶寫入及任意修改文件
在HDFS的一個文件中只有一個寫入者,而且寫操作只能在文件末尾完成,即只能執(zhí)行追加操作,目前HDFS還不支持多個用戶對同一文件的寫操作,以及在文件任意位置進(jìn)行修改。
以上是“Hadoop中HDFS優(yōu)缺點有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。