我正在尝试从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