热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HDFS支持的存储格式及压缩算法?

1.存储格式(1)SequenceFile以二进制键值对的形式存储数据,支持三种记录存储方式。.➢无压缩:io效率较差,相比压缩,不压缩的情况下没有什么

1.存储格式
(1) SequenceFile
以二进制键值对的形式存储数据,支持三种记录存储方式。.
➢无压缩: io效率较差,相比压缩,不压缩的情况下没有什么优势。
➢记录级压缩:对每条记录都压缩,这种压缩效率比较一 般。
➢块级压缩: 这里的块不同于HDFS中的块的概念.这种方式会将达到指定块大小的二进制数据压缩为一个块。
(2) Avro
将数据定义和数据- -起存储在一条消息中, 其中数据定义以JSON格式存储,数据以二
进制格式存储。Avro 标记用于将大型数据集分割成适合MapReduce处理的子集。
(3) RCFile
以列格式保存每个行组数据。它不是存储第一行 然后是第二行,而是存储所有行上的第
1列,然后是所行 上的第2列,以此类推。
(4) Parquet
是Hadoop的一种列存储格式,提供了高效的编码和压缩方案。
2.压缩算法
(1) Gzip 压缩
优点:压缩率比较高,而且压缩/解压速度也比较快; Hadoop 本身支持,在应用中处
理gzip格式的文件就和直接处理文本- -样:大部分linux 系统都自带gzip 命令,使用方便.
缺点:不支持split。
应用场景:当每个文件压缩之后在130M以内的(1个块大小内),都可以考虑用gzip
压缩格式。例如说一天或者一个小时的日志压缩成-一个gzip文件,运行MapReduce程序
的时候通过多个gzip 文件达到并发。Hive 程序,streaming 程序,和Java 写的
MapReduce程序完全和文本处理-一样, 压缩之后原来的程序不需要做任何修改。
(2) Bzip2 压缩
优点:支持split; 具有很高的压缩率,比gzip 压缩率都高; Hadoop 本身支持,但不
支持native; 在linux 系统下自带bzip2 命令,使用方便。
缺点:压缩/解压速度慢;不支持native.
应用场景:适合对速度要求不高,但需要较高的压缩率的时候,可以作为MapReduce
作业的输出格式:或 者输出之后的数据比较大,处理之后的数据需要压缩存档减少磁盘空
间并且以后数据用得比较少的情况:或者对单个很大的文本文件想压缩减少存储空间,同时
又需要支持split, 而且兼容之前的应用程序(即应用程序不需要修改)的情况。
(3) Lzo压缩
优点:压缩/解压速度也比较快,合理的压缩率:支持split, 是Hadoop 中最流行的压
缩格式:可以在linux 系统下安装lzop 命令,使用方便。
缺点:压缩率比gzip要低-一些; Hadoop 本身不支持,需要安装;在应用中对lzo 格
式的文件需要做一些特殊处理(为了 支持split 需要建索引,还需要指定inputformat 为lzo格式)
应用场景: - 个很大的文本文件,压缩之后还大于200M以上的可以考虑,而且单个
(4) Snappy 压缩
优点:高速压缩速度和合理的压缩率。
缺点:不支持split; 压缩率比gzip 要低; Hadoop 本身不支持,需要安装;
应用场景:当MapReduce 作业的Map 输出的数据比较大的时候,作为Map到
Reduce的中间数据的压缩格式:或者作为一个MapReduce作业的输出和另外一个
MapReduce作业的输入。


推荐阅读
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • Amoeba 通过优化 MySQL 的读写分离功能显著提升了数据库性能。作为一款基于 MySQL 协议的代理工具,Amoeba 能够高效地处理应用程序的请求,并根据预设的规则将 SQL 请求智能地分配到不同的数据库实例,从而实现负载均衡和高可用性。该方案不仅提高了系统的并发处理能力,还有效减少了主数据库的负担,确保了数据的一致性和可靠性。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
  • Android中将独立SO库封装进JAR包并实现SO库的加载与调用
    在Android开发中,将独立的SO库封装进JAR包并实现其加载与调用是一个常见的需求。本文详细介绍了如何将SO库嵌入到JAR包中,并确保在外部应用调用该JAR包时能够正确加载和使用这些SO库。通过这种方式,开发者可以更方便地管理和分发包含原生代码的库文件,提高开发效率和代码复用性。文章还探讨了常见的问题及其解决方案,帮助开发者避免在实际应用中遇到的坑。 ... [详细]
  • 在搭建Hadoop集群以处理大规模数据存储和频繁读取需求的过程中,经常会遇到各种配置难题。本文总结了作者在实际部署中遇到的典型问题,并提供了详细的解决方案,帮助读者避免常见的配置陷阱。通过这些经验分享,希望读者能够更加顺利地完成Hadoop集群的搭建和配置。 ... [详细]
  • Hadoop 2.6 主要由 HDFS 和 YARN 两大部分组成,其中 YARN 包含了运行在 ResourceManager 的 JVM 中的组件以及在 NodeManager 中运行的部分。本文深入探讨了 Hadoop 2.6 日志文件的解析方法,并详细介绍了 MapReduce 日志管理的最佳实践,旨在帮助用户更好地理解和优化日志处理流程,提高系统运维效率。 ... [详细]
  • 本文探讨了在不解压的情况下,如何高效地从包含文本文件的.gz压缩文件中查找特定字符串的方法。通过利用特定的工具和技术,可以在保持文件压缩状态的同时,快速定位和检索所需信息,提高处理大规模数据集时的效率和性能。 ... [详细]
author-avatar
吴静爽
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有