2016-06-23 60 views
1

我需要將100個文本文件上傳到HDFS,以便使用Apache Pig進行一些數據轉換。Apache Hadoop:將壓縮數據插入HDFS

在你看來,什麼是最好的選擇:

一)壓縮所有文本文件,只上傳一個文件,

b)加載所有的文本文件分別?

回答

0

這取決於您的文件大小,羣集參數和處理方法。

如果您的文本文件的大小與HDFS塊大小相當(即塊大小= 256 MB,文件大小= 200 MB),則按原樣加載它們是有意義的。

如果您的文本文件非常小,那麼會出現典型的HDFS &小文件問題 - 每個文件將佔用1個hdfs塊(不是物理上的),因此NameNode(處理元數據)在管理很多塊。要解決這個問題,您可以將文件合併爲一個文件,使用hadoop歸檔文件(HAR)或某些自定義文件格式(例如序列文件)。

如果使用自定義格式,則必須處理額外的工作 - 將需要使用自定義輸入格式。

在我看來,100並沒有太大的影響NameNode的性能,所以這兩個選項似乎是可行的。