我正在嘗試從Hadoop HDFS中檢索總計幾個GB的文本文件的目錄。我可以壓縮文件爲'hadoop hdfs -get'
hadoop hdfs -get /path/to/directory/* .
這樣做,但我的鏈接到Hadoop集羣約爲1 MB/s,因此這需要相當長一段時間。像大多數文本文件一樣,這些文件壓縮得非常好,所以我希望將它們壓縮下載。 hadoop hdfs -get
命令在傳輸過程中是否自動壓縮(http和其他協議可以使用的方式)?
如果不是,那麼使用壓縮來獲取文件的最直接的方法是什麼?如果它很重要,羣集正在運行CDH 4.5.0,並且我沒有羣集上的任何管理員權限。
我找到了this question,但那是在討論壓縮文件以保存在HDFS中,而且似乎應該有一種方法來壓縮傳輸中的字節,而不創建,獲取和刪除壓縮副本。從我對典型Hadoop用法的理解中,似乎獲取和放置非常大的文本文件應該是一個典型的用例,並且已經確定文本文件壓縮良好。
我還會接受一個答案,表明這是一個有記錄的缺失功能,它被有意地排除在Hadoop之外,或者預計將在未來發行版中添加。
我只是感到驚訝的是,一些壓縮量沒有內置到'hadoop hdfs -get'和'hadoop hdfs -put'命令或一些等價的命令中。很多人不需要上傳/下載GB或TB範圍內的文件? –
MapR發行版內置了壓縮功能,但是我認爲其他發行版或核心hadoop目前都沒有此功能。關於MapR的更多細節http://answers.mapr.com/questions/38/what-compression-algorithm-does-mapr-use – Sudarshan