我知道在這裏有類似的帖子,但我找不到一個真正有答案的人。使用Hadoop處理大型二進制文件
我們有一個加載了二進制文件的Hadoop集羣。這些文件的大小範圍可以從幾百k到幾百MB。
我們正在使用自定義記錄閱讀器處理這些文件,該閱讀器將文件的全部內容讀入每個地圖。從那裏我們提取我們想要的序列化爲JSON的適當元數據。
我們預見到的問題是我們最終可能會達到我們的namenode無法處理的大小。只有這麼多的記憶纔會出現,而擁有一個有幾TB內存的名稱節點似乎很荒謬。
有沒有一種優雅的方式來處理這樣的大型二進制文件?特別是那些不能拆分的,因爲我們不知道減速器將把它們放回到一起的順序是什麼?
Chris,文件是TIFF包含許多邏輯記錄的文件。我們從TIFF文件中提取特定的元數據並將其轉換爲JSON。我相信我們必須閱讀整個文件。 –
我假設邏輯記錄是http://en.wikipedia.org/wiki/Tagged_Image_File_Format#Multiple_subfiles –
上描述的子文件。實際上,我們不需要擔心在這種情況下的子文件。 –