我们选择文件格式来存储原始日志,主要需求是压缩和可拆分的。块压缩(无论是哪个编解码器) SequenceFiles和Hadoop-LZO看起来都是迄今为止最合适的。
哪一个更有效的处理地图减少和更容易处理的整体?
发布于 2015-10-11 02:02:52
对于原始日志,建议使用像SequenceFileFormat这样的容器文件格式,它既支持压缩又支持拆分。为了使用这种格式存储日志,您必须选择时间戳作为键,选择日志行作为值。在我们的团队中,我们广泛地使用SequenceFiles。
对于可拆分的LZO,需要对文件进行预处理以生成索引。如果没有索引,MapReduce框架将将整个文件作为一个单独的拆分(一个映射器)处理,并且处理效率很低。
在“”一书中(我建议您阅读关于“压缩”的部分),有一节建议使用压缩格式。根据这项建议,从最有效到最不有效的选择如下:
https://stackoverflow.com/questions/33059610
复制相似问题