HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運營
CASE 服務(wù)案例
NEWS 熱點資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    hdfs可以高效存儲大量的小文件(hdfs 大量小文件)

    發(fā)布時間:2023-04-08 06:30:38     稿源: 創(chuàng)意嶺    閱讀: 117        

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于hdfs可以高效存儲大量的小文件的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端

    官網(wǎng):https://ai.de1919.com

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請撥打電話175-8598-2043,或添加微信:1454722008

    本文目錄:

    hdfs可以高效存儲大量的小文件(hdfs 大量小文件)

    一、在hadoop項目結(jié)構(gòu)中h dfs指的是什么

    HDFS(Hadoop Distributed File System)是Hadoop項目的核心子項目,是分布式計算中數(shù)據(jù)存儲管理的基礎(chǔ),是基于流數(shù)據(jù)模式訪問和處理超大文件的需求而開發(fā)的,可以運行于廉價的商用服務(wù)器上。hdfs可以高效存儲大量的小文件(hdfs 大量小文件)

    HDFS 具有以下優(yōu)點:

    1、高容錯性

    數(shù)據(jù)自動保存多個副本。它通過增加副本的形式,提高容錯性。某一個副本丟失以后,它可以自動恢復(fù),這是由 HDFS 內(nèi)部機制實現(xiàn)的,我們不必關(guān)心。

    2、適合批處理

    它是通過移動計算而不是移動數(shù)據(jù)。它會把數(shù)據(jù)位置暴露給計算框架。

    3、適合大數(shù)據(jù)處理

    處理數(shù)據(jù)達(dá)到 GB、TB、甚至PB級別的數(shù)據(jù)。能夠處理百萬規(guī)模以上的文件數(shù)量,數(shù)量相當(dāng)之大。能夠處理10K節(jié)點的規(guī)模。

    4、流式文件訪問

    一次寫入,多次讀取。文件一旦寫入不能修改,只能追加。它能保證數(shù)據(jù)的一致性。

    5、可構(gòu)建在廉價機器上

    它通過多副本機制,提高可靠性。它提供了容錯和恢復(fù)機制。比如某一個副本丟失,可以通過其它副本來恢復(fù)。

    HDFS 也有它的劣勢,并不適合所有的場合:

    1、低延時數(shù)據(jù)訪問

    比如毫秒級的來存儲數(shù)據(jù),這是不行的,它做不到。它適合高吞吐率的場景,就是在某一時間內(nèi)寫入大量的數(shù)據(jù)。但是它在低延時的情況下是不行的,比如毫秒級以內(nèi)讀取數(shù)據(jù),這樣它是很難做到的。

    2、小文件存儲

    存儲大量小文件(這里的小文件是指小于HDFS系統(tǒng)的Block大小的文件(默認(rèn)64M))的話,它會占用 NameNode大量的內(nèi)存來存儲文件、目錄和塊信息。這樣是不可取的,因為NameNode的內(nèi)存總是有限的。

    3、并發(fā)寫入、文件隨機修改

    一個文件只能有一個寫,不允許多個線程同時寫。僅支持?jǐn)?shù)據(jù) append(追加),不支持文件的隨機修改。

    二、hdfs小文件過多,會帶來什么問題

    因為在hdfs 中,數(shù)據(jù)的元數(shù)據(jù)信息是保存在NameNode上的,hdfs本身的作用就是用來存儲海量文件的,首先小文件過多的話,會增加NameNode 的壓力,,因為NameNode是要接收集群中所有的DataNode的心跳信息,來確定元數(shù)據(jù)的信息變化的,另外,文件中可使用的block塊的個數(shù)是有限制的,hadoop用來處理數(shù)據(jù)的話,小文件的延遲,和數(shù)據(jù)量雖然很小,但是有些地方和大文件所耗的時間相同,所以最好做優(yōu)化,避免這種情況的發(fā)生。

    三、Hive如何處理大量小文件

    1.動態(tài)分區(qū)插入數(shù)據(jù)的時候,會產(chǎn)生大量的小文件,從而導(dǎo)致map數(shù)量的暴增

    2.數(shù)據(jù)源本身就包含有大量的小文件

    3.reduce個數(shù)越多,生成的小文件也越多

    1 從HIVE角度來看的話呢,小文件越多,map的個數(shù)也會越多,每一個map都會開啟一個JVM虛擬機,每個虛擬機都要創(chuàng)建任務(wù),執(zhí)行任務(wù),這些流程都會造成大量的資源浪費,嚴(yán)重影響性能

    2 在HDFS中,每個小文件約占150byte,如果小文件過多則會占用大量的內(nèi)存。這樣namenode內(nèi)存容量嚴(yán)重制約了集群的發(fā)展

    4.1 使用Hadoop achieve把小文件進(jìn)行歸檔

    4.2 重建表,建表時減少reduce的數(shù)量

    4.3 通過參數(shù)調(diào)節(jié),設(shè)置map/reduce的數(shù)量

    4.3.1設(shè)置map輸入合并小文件的相關(guān)參數(shù):

    4.3.2 設(shè)置map輸出和reduce輸出進(jìn)行合并的相關(guān)參數(shù):

    四、HDFS的優(yōu)缺點以及應(yīng)用場景

    HDFS 是hadoop distributed file system的簡稱,分布式文件系統(tǒng)

    在大數(shù)據(jù)生態(tài)系統(tǒng)中,分布式是一個核心概念,大數(shù)據(jù)大數(shù)據(jù),大數(shù)據(jù)量的數(shù)據(jù)和大量種類的數(shù)據(jù),一臺機器存不下,多臺機器一起存儲

    一個對應(yīng)用數(shù)據(jù)提供高吞吐訪問量的分布式文件系統(tǒng)

    適合一次寫入,多次讀出場景,而且不支持文件的隨機修改,但是支持文件的追加 .適合做數(shù)據(jù)分析

    隨機修改:把已經(jīng)寫過的內(nèi)存進(jìn)行修改

    追加:在之前文件寫的基礎(chǔ)上面后面繼續(xù)加內(nèi)容

    優(yōu)點:

    缺點:

    實際工作中本人自己測試過,一個文件/目錄/文件塊大概是占用的元數(shù)據(jù)內(nèi)存是150B,假如有100W個小文件,每個文件都占用一個文件塊,需150B×100W/1024/1024≈143M,要是一個億的數(shù)據(jù)量呢

    以上就是關(guān)于hdfs可以高效存儲大量的小文件相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。


    推薦閱讀:

    hdi人類發(fā)展指數(shù)(中國人類發(fā)展指數(shù)排名)

    快手HD(快手hdr怎么開)

    chargtp注冊(chdbits注冊)

    聚合支付是支付寶嗎(聚合支付是支付寶嗎)

    2020新年音樂會杭州劇院(2020新年音樂會杭州劇院表演)