大數據為什麼需要小文件合並
發布時間: 2023-11-28 17:15:16
『壹』 hdfs詳解之塊、小文件和副本數
1、block:block是物理切塊,在文件上傳到HDFS文件系統後,對大文件將以每128MB的大小切分若干,存放在不同的DataNode上。例如一個文件130M,那麼他會存被切分成2個塊,一個塊128M,另一個塊2M.
1、HDFS 適應場景: 大文件存儲,小文件是致命的
2、如果小文件很多的,則有可能將NN(4G=42億位元組)撐爆。例如:1個小文件(閾值<=30M),那麼NN節點維護的位元組大約250位元組。一億個小文件則是250b * 1億=250億.將會把NN節點撐爆。如果一億個小文件合並成100萬個大文件:250b * 1百萬=2億位元組。
3、在生產上一般會:
1)調整小文件閾值
2)合並小文件:
a.數據未落地到hdfs之前合並
b.數據已經落到hdfs,調用spark service服務 。每天調度去合並 (-15天 業務周期)
3)小文件的危害:
a.撐爆NN。
b.影響hive、spark的計算。佔用集群計算資源
1、如果是偽分布式,那麼副本數只能為一。
2、生成上副本數一般也是官方默認參數: 3份
如果一個文件130M,副本數為3。那麼第一個block128M,有三份。另外一個block2M,也有三份。
題目:
blockSize128M,副本數3份,那麼一個文件260M,請問多少塊,多少實際存儲?
260%128=2....4M 3個塊 3個副本=9塊
260M 3=780M
熱點內容