我有一个目录,其中包含许多文件和子目录,我想压缩和导出从hdfs到fs。我遇到了一个问题-hadoop:用hdfs压缩文件,但它似乎只与文件相关,使用hadoop流媒体和gzipcodec在目录方面没有成功。为什么要将hdfs文件夹压缩到单个gzip文件中,最有效的方法是什么?提前谢谢。
j2qf4p5b1#
您将需要一个库或滚动您自己的代码来从目录结构中的文件生成tar流。您可以使用zlib压缩tar流以生成标准的.tar.gz文件。如果要合并多个此类任务的结果,我可以在这里提供两个技巧:1)可以连接gzip流以生成有效的gzip流;2)如果从非最终tar流中删除最后1024个零字节,可以连接tar流以生成有效的tar流。
t9eec4r02#
对于一个快速、肮脏的解决方案,对于那些不想使用hadoop流或任何mapreduce作业的人,我使用了fuse,然后像传统的文件系统一样对其执行操作。请注意,您可能不想将此作为永久解决方案,而只是为了快速取胜:)进一步阅读:
2条答案
按热度按时间j2qf4p5b1#
您将需要一个库或滚动您自己的代码来从目录结构中的文件生成tar流。您可以使用zlib压缩tar流以生成标准的.tar.gz文件。
如果要合并多个此类任务的结果,我可以在这里提供两个技巧:1)可以连接gzip流以生成有效的gzip流;2)如果从非最终tar流中删除最后1024个零字节,可以连接tar流以生成有效的tar流。
t9eec4r02#
对于一个快速、肮脏的解决方案,对于那些不想使用hadoop流或任何mapreduce作业的人,我使用了fuse,然后像传统的文件系统一样对其执行操作。
请注意,您可能不想将此作为永久解决方案,而只是为了快速取胜:)
进一步阅读: