gpt4 book ai didi

Hadoop SequenceFile 与可拆分 LZO

转载 作者:可可西里 更新时间:2023-11-01 14:58:02 26 4
gpt4 key购买 nike

我们正在选择存储原始日志的文件格式,主要要求是压缩和可拆分。 block 压缩(以编解码器为准)SequenceFilesHadoop-LZO到目前为止看起来最合适。

哪一个被Map-Reduce处理起来效率更高,整体上更容易处理?

最佳答案

对于原始日志,建议使用像SequenceFileFormat这样的容器文件格式,它支持压缩和拆分。要使用这种格式存储日志,您必须选择时间戳作为键并选择记录的行作为值。在我们的团队中,我们广泛使用 SequenceFiles。

对于可拆分的LZO,需要对文件进行预处理,生成索引。如果没有索引,MapReduce 框架会将整个文件作为单个拆分(一个映射器)进行处理,处理效率将很低。

在《Hadoop权威指南》一书中(建议您阅读“压缩”部分),有一段推荐使用的压缩格式。根据建议,以下是从最有效到最无效的选择:

  1. 容器文件格式,如 SequenceFile、Avro、ORCFiles、Parquet 文件以及 LZO、LZ4 或 Snappy 等快速压缩器

  2. 支持拆分的压缩格式:bzip2或splittable LZO

  3. 将文件拆分成 block 并使用压缩格式分别压缩每个 block

关于Hadoop SequenceFile 与可拆分 LZO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33059610/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com