我有一个目录,其中包含很多文件和子目录,我想从hdfs压缩并导出到fs。
我遇到了这个问题-- Hadoop:在HDFS中压缩文件?,但它似乎只与文件相关,使用hadoop流和GzipCodec无法成功地处理目录。
为什么将HDFS文件夹压缩为单个gzip文件最有效?
提前谢谢。
发布于 2018-01-16 09:02:49
对于一个快速、肮脏的解决方案,对于那些不想为其使用hadoop流或任何MapReduce作业的人,我使用了熔断器,然后将其作为传统的文件系统预置操作。
请注意,您可能不希望将此作为永久的解决方案,只为了快速获胜:)
进一步读:
* https://hadoop.apache.org/docs/r1.2.1/streaming.html
* http://www.javased.com/index.php?api=org.apache.hadoop.io.compress.GzipCodec
发布于 2017-05-29 16:43:47
您将需要一个库或滚动您自己的代码来从目录结构中的文件中生成一个tar流。您可以使用zlib压缩tar流以生成一个标准的.tar.gz文件。
如果您想要合并多个这样的任务的结果,我可以在这里提供两个提示: 1)可以连接gzip流以生成有效的gzip流;2)如果从非最终的tar流中删除最后的1024个字节,则可以将tar流连接起来以生成有效的tar流。
https://stackoverflow.com/questions/44244345
复制相似问题