我正在尝试从Hadoop HDFS检索一个包含数GB文本文件的目录。我可以使用以下方法完成此操作:
hadoop hdfs -get /path/to/directory/* .
但我的与Hadoop集群的链接大约是1 MB/s,所以这需要相当长的时间。像大多数文本文件一样,这些文件可以很好地压缩,因此我希望它们在下载时被压缩。
hadoop hdfs -get
命令在传输期间是否自动压缩(就像http和许多其他协议一样)?如果不是,那么获取文件的最简单方法是什么?如果有关系,群集正在运行CDH 4.5.0,并且我没有任何类型的管理员权限。
我找到了this question,但那是在谈论压缩文件以保留在HDFS中,而且似乎应该有一种在创建、获取和删除压缩副本的情况下在传输中压缩字节的方法。从我对典型Hadoop使用的理解来看,获取和放置非常大的文本文件应该是一个典型的用例,并且已经证明文本文件可以很好地压缩。
我也会接受一个回答,显示这是一个已记录的缺失功能,已经被有意地省略在Hadoop中,或者预计将在某个未来版本中添加。