【发布时间】:2013-05-29 04:07:02
【问题描述】:
我正在设置 lzo 编解码器以用作我的 hadoop 作业中的压缩工具。我知道 lzo 具有创建可拆分文件的理想功能。但我还没有找到让 lzo 自动创建可拆分文件的方法。到目前为止,我阅读的博客都提到在作业之外使用索引器并将输出 lzo 文件作为 mapreduce 作业的输入。
我正在使用一些我不想更改基准代码的 hadoop 基准,只需在 hadoop 中使用 lzo 压缩来查看它对基准的影响。我打算使用 lzo 作为编解码器来压缩地图输出,但如果输出不可拆分,下一阶段将必须在节点中获取整个压缩输出才能工作。
是否有任何 hadoop 配置选项来指示 lzo 使输出文件可拆分,从而透明地完成?
【问题讨论】:
-
它需要另一个 map-reduce 作业来构建 LZO 索引。这就是我们使用 Snappy 的原因 :)
-
谢谢! lzo-dev 的人应该考虑创建自动索引压缩输出的选项。
-
@Klass Ivan,你确定 Snappy 会创建可拆分的输出吗?我去检查了更多细节,它与 lzo 相似,输出不可随机搜索。
-
不,它没有。很抱歉造成混淆:\ 这是一篇比较 LZO 和 Snappy 的有用文章:blog.cloudera.com/blog/2011/09/snappy-and-hadoop