Amazon emr:最佳压缩/文件格式
Posted
技术标签:
【中文标题】Amazon emr:最佳压缩/文件格式【英文标题】:Amazon emr: best compression/fileformat 【发布时间】:2014-04-23 17:18:57 【问题描述】:我们目前有一些文件存储在 S3 服务器上。这些文件是经过 gzip 压缩以减少磁盘空间的日志文件(扩展名为 .log,但内容为纯文本)。 但 gzip 不可拆分,现在我们正在寻找一些好的替代方案来在 Amazon EMR 上存储/处理我们的文件。
那么在日志文件上使用的最佳压缩或文件格式是什么?我遇到了 avro 和 SequenceFile、bzip2、LZO 和 snappy。这有点多,我有点不知所措。
因此,我将不胜感激有关此事的任何见解。
数据将用于猪作业(map/reduce 作业)
亲切的问候
【问题讨论】:
当您说“可拆分”时,您到底在寻找什么功能?至于日志,这是一个不同的问题,您可以查看gzlog,了解如何有效地将短日志条目添加到 gzip 文件中。 【参考方案1】:如果您查看Best Practices for Amazon EMR,则有一节讨论压缩输出:
压缩映射器输出——压缩意味着更少的数据写入磁盘, 这改善了磁盘 I/O。您可以监控写入磁盘的数据量 通过查看 FILE_BYTES_WRITTEN Hadoop 指标。压缩也可以 帮助reducer提取数据的shuffle阶段。压缩可以 也有利于您的集群 HDFS 数据复制。启用压缩 通过将 mapred.compress.map.output 设置为 true。当您启用 压缩,也可以选择压缩算法。 LZO有 性能更好,压缩和解压速度更快。
【讨论】:
【参考方案2】:您好,我们可以根据用例使用以下算法。
-
GZIP(算法): 可拆分(无)、压缩比(高)、压缩和解压速度(中)
SNAPPY(算法): 可拆分(否),压缩比(LOW),压缩和解压缩速度(非常快)
BZIP2(算法): 可拆分(是),压缩比(非常高),压缩和解压缩速度(慢)
LZO(算法): 可拆分(Yes)、压缩比(LOW)、压缩和解压缩速度(FAST)
【讨论】:
以上是关于Amazon emr:最佳压缩/文件格式的主要内容,如果未能解决你的问题,请参考以下文章
如何将文件从 S3 复制到 Amazon EMR HDFS?
从 Pig UDF Java 类、Amazon EMR 中的分布式缓存访问文件
在 Amazon EMR 中运行的 Pig 作业的引导文件的路径是啥
如何为Amazon EMR生成trustedCertificates.pem和certificateChain.pem文件?