首页 > 其他分享 >Hadoop(十九)MapReduce OutputFormat 数据压缩

Hadoop(十九)MapReduce OutputFormat 数据压缩

时间:2024-09-19 11:02:21浏览次数:7  
标签:OutputFormat 压缩 Hadoop 文本处理 MapReduce Split 压缩率

OutputFormat

  • OutputFormat是MapReduce输出的基类,所有实现MapReduce输出都实现了OutputFormat接口
  • 几种常见的OutputFormat实现类:NullOutputFormat、MapFileOutputFormat、TextOutputFormat等

自定义OutputFormat

  • 应用场景:输出数据到MySQL/HBase/Elasticsearch等存储框架中
  • 步骤:自定义一个类继承FileOutputFormat —> 改写RecordWriter,具体改写输出数据的方法write()

数据压缩

一、概述

  • 优点:减少磁盘IO和存储空间
  • 缺点:增加CPU开销
  • 压缩原则:运算密集型的作业少用压缩;IO密集型的作业多用压缩

二、MR支持的压缩编码

压缩格式 是否Hadoop自带 算法 文件扩展名 是否可切片 换成压缩格式后,原来的程序是否需要修改 优点 缺点
DEFLATE 是,直接使用 DEFLATE .deflate 和文本处理一样,不需要修改
Gzip 是,直接使用 DEFLATE .gz 和文本处理一样,不需要修改 压缩率比较高 不支持Split;压缩/解压速度一般
bzip2 是,直接使用 bzip2 .bz2 和文本处理一样,不需要修改 压缩率高;支持Split 压缩/解压速度慢
LZO 否,需要安装 LZO .lzo 需要建索引,还需要指定输入格式 压缩/解压速度比较快;支持Split 压缩率一般;想支持切片需要额外创建索引
Snappy 是,直接使用 Snappy .Snappy 和文本处理一样,不需要修改 压缩和解压缩速度快 不支持Split;压缩率一般
  • 压缩方式选择时重点考虑:压缩/解压缩速度、压缩率(压缩后存储大小)、压缩后是否可以支持切片
  • 压缩可以在MapReduce作用的任意阶段启用

标签:OutputFormat,压缩,Hadoop,文本处理,MapReduce,Split,压缩率
From: https://www.cnblogs.com/shihongpin/p/18420165

相关文章

  • Hadoop(十八)MapReduce Shuffle机制
    MapReduce工作流程上面的流程是整个MapReduce最全工作流程,但是Shuffle过程只是从第7步开始到第16步结束,具体Shuffle过程详解,如下:MapTask收集map()方法输出的kv对,放到内存缓冲区中从内存缓冲区不断溢出本地磁盘文件,可能会溢出多个文件多个溢出文件会被合并成大的溢出文件在......
  • Hadoop(十七)MapReduce 切片机制 InputFormat
    切片与MapTask并行度决定机制MapTask的并行度决定Map阶段的任务处理并发度,进而影响到整个Job的处理速度数据块:Block是HDFS物理上把数据分成一块一块,数据块是HDFS存储数据单位数据切片:数据切片只是在逻辑上对输入进行分片,并不会在磁盘上将其切分成片进行存储,数据切片是MapReduc......
  • Hadoop
    Hadoop目录Hadoop一、简介Hadoop生态Hadoop组成hdfsyarnmapreduce:HDFS、YARN、MapReduce三者关系:常用端口号:常用的配置文件:部署二、HDFS详解HDFS概述HDFS成员HDFS读写流程HDFS常用命令HDFS编程三、MapReduce详解MapReduce概述MapReduce架构MapTask详解ReduceTask详解shuffle详解M......
  • Hadoop(十五)项目考核 WordCount案例
    一、需求分析需求:在给定的文本文件中统计输出每一个单词出现的总次数SEVENTEEN.txt文本内容如下:saythenameseventeenhelloweareseventeennicetomeetyouyouverynice按照MapReduce编程规范,分别编写Mapper,Reducer,Driver1、Mapper(1)将MapTask传过来的文本内容......
  • Hadoop
    1.概念分布式系统基础架构。主要包括分布式文件系统HDFS(HadoopDistributedFileSystem)​、分布式计算系统MapReduce和分布式资源管理系统YARN2.构成2.1HDFSHDFS提供了高可靠性(主要通过多副本来实现)​、高扩展性(通过添加机器来达到线性扩展)和高吞吐率的数据存储服务HDFS的......
  • Hadoop(十四)MapReduce概述
    一、定义MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上二、优缺点优点描述易于编程它简单的......
  • Hadoop(十三)DataNode
    一、DataNode工作机制1、一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳2、DataNode启动后向NameNode注册,通过后,周期性(6小时)的向NameNode上报所有的块信息3、心跳是每3秒一次,心跳返回结果带有......
  • Hadoop(十二)NameNode 和 SecondaryNameNode
    一、NN和2NN工作机制1、NameNode中的元数据存储在哪里?存储在NameNode节点的磁盘中会导致效率过低,因为经常需要进行随机访问和响应客户请求;存储在内存中,一旦元数据丢失,整个集群就无法工作,也不合适。因此产生了在磁盘中备份元数据的FsImage。引入Edits文件(只进行追加操作,效率很......
  • Hadoop(十一)HDFS 读写数据流程
    HDFS读写数据流程一、写数据流程1、客户端通过DistributedFileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在2、NameNode返回是否可以上传3、客户端请求第一个Block上传到哪几个DataNode服务器上4、NameNode返回3个DataNode节点,分别为dn1......
  • 计算机毕业设计Python深度学习水文预测 水文可视化 水文爬虫 洪水自然灾害预测 水文数
    多数据源水文数据获取技术与应用分析摘 要随着信息技术的不断发展,水文数据获取和分析成为了现代水文学研究的重要内 容。多数据源水文数据获取技术与应用分析系统为我们提供了一种新的水文数据处理和 分析方式。该系统利用爬虫技术获取长江水文网的数据,采用 Python ......