hadoop - 如何将 Hadoop 目录压缩为单个 gzip 文件?

标签 hadoop compression hdfs gzip hadoop-streaming

我有一个包含大量文件和子目录的目录,我想将它们从 hdfs 压缩并导出到 fs。

我遇到了这个问题 - Hadoop: compress file in HDFS? ,但它似乎只与文件相关,并且使用 hadoop-streaming 和 GzipCodec 使我在目录方面没有成功。

为什么将 HDFS 文件夹压缩成单个 gzip 文件最有效?
提前致谢。

最佳答案

您将需要一个库或滚动您自己的代码来从目录结构中的文件中生成 tar 流。您可以使用 zlib 压缩 tar 流以制作标准的 .tar.gz 文件。

如果您想合并多个此类任务的结果,我可以在这里提供两个花絮:1) 您可以连接 gzip 流以生成有效的 gzip 流,以及 2) 您可以连接 tar 流以生成有效的 tar 流如果您从非最终 tar 流中删除最后的 1024 个零字节。

关于hadoop - 如何将 Hadoop 目录压缩为单个 gzip 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44244345/

相关文章:

asp-classic - 是否可以在经典 ASP 页面上使用 GZIP 压缩?

huffman-code - 结合无损数据压缩算法

hadoop - 找不到带有 key dfs.encryption.key.provider.uri 的 uri 以在 CDH 5.4 的 HDFS 加密中创建 key 提供程序

hadoop - 差异 : Single-node and Multi-node

hadoop - 如何防止 hadoop 损坏的 .gz 文件

php - gzcompress()随机插入额外的数据?

mysql - --direct 模式如何在 sqoop 中工作?

apache-spark - Spark性能问题与Hive

sorting - Hadoop - 按键正确排序并按 reducer 分组

hadoop - 我需要使用pyspark从RDD过滤掉一些内容