HDFS小文件优化方法
HDFS小文件弊端
HDFS上每个文件都要在NameNode上建立一个索引,这个索引的大小约为150byte,这样当小文件比较多的时候,就会产生很多的索引文件,一方面会大量占用NameNode的内存空间,另一方面就是索引文件过大使得索引速度变慢。
HDFS小文件解决方案
小文件的优化有以下几种方式:
(1)在数据采集的时候,就将小文件或小批数据合成大文件再上传HDFS。
- Hadoop Archive是一个高效地将小文件放入HDFS块中的文件存档工具,它能够将多个小文件打包成一个HAR文件,这样就减少了NameNode的内存使用。
(2)在业务处理之前,在HDFS上使用MapReduce程序对小文件进行合并。
- Sequence File由一系列的二进制key/value组成,如果key为文件名,value为文件内容,则可以将大批小文件合并成一个大文件。
(3)在MapReduce处理时,可采用CombineTextInputFormat提高效率。
- CombineFileInputFormat是一种新的InputFormat,用于将多个文件合并成一个单独的split,另外,它会考虑数据的存储位置。
(4)开启JVM重用
- 对于大量小文件Job,可以开启JVM重用会减少45%运行时间。
JVM重用原理:一个Map运行在一个JVM上,开启重用的话,该Map在JVM上运行完毕后,JVM继续运行其他Map。 - 具体设置: mapreduce.job.jvm.numtasks值在10-20之间。
HDFS小文件优化方法相关推荐
- Hadoop之Hadoop企业优化(HDFS小文件优化)
Hadoop之Hadoop企业优化 目录 MapReduce 跑的慢的原因 MapReduce优化方法之数据输入 MapReduce优化方法之Map阶段 MapReduce优化方法之Reduce阶段 ...
- HDFS小文件治理总结
目录 背景 第一部分 回本溯源 第二部分 HDFS大量小文件的危害 第三部分 小文件治理方案总结 第四部分 总结 参考文献及资料 背景 企业级Hadoop大数据平台在实际使用过程中,可能大部分会遭遇小 ...
- HDFS小文件问题及解决方案
1. 概述 小文件是指文件size小于HDFS上block大小的文件.这样的文件会给hadoop的扩展性和性能带来严重问题.首先,在HDFS中,任何block,文件或者目录在内存中均以对象的形式存储 ...
- HDFS小文件处理解决方案总结+facebook(HayStack) + 淘宝(TFS)
2019独角兽企业重金招聘Python工程师标准>>> HDFS小文件处理解决方案总结+facebook(HayStack) + 淘宝(TFS) 博客分类: 数据库 hbase 一. ...
- Flink大数据实时计算系列-Flink写出多个parquet小文件处理方法、Presto的介绍与使用场景
Flink大数据实时计算系列-Flink写出多个parquet小文件处理方法.Presto的介绍与使用场景 Presto的安装与使用 目录 Flink写出多个parquet小文件处理方法 Presto ...
- hive小文件处理方法
方法一 hive方法处理 set hive.merge.mapfiles=true; -- map only job 结束是合并小文件 set hive.merge.mapredfiles=true; ...
- HDFS小文件问题解决方案
一 如果小文件过多带来的影响 1过多的小文件,意味着需要保存的元数据就更多,那么也就需要更多的NameNode内存了,从而给NameNode带来性能问题 2读取小文件数据的时候,带来集群资源更多开销. ...
- HDFS小文件的危害
一.black块 举例: black块官方设置的是64m,现在多数用的是128m 举例: 一个文件130M % 128M=1-2m 结果是1个块128m,1个块2m 一碗水130ml 一个瓶子规格容量 ...
- spark 实现HDFS小文件合并
一.首先使用sparksql读取需要合并的数据.当然有两种情况, 一种是读取全部数据,即需要合并所有小文件. 第二种是合并部分数据,比如只查询某一天的数据,只合并某一个天分区下的小文件. val df ...
最新文章
- mybatis mapper.xml dtd_全栈开发踩坑之路4-用MyBatis实现服务
- CentOS通过日志反查入侵(转)
- 北斗导航 | 从北斗二号到北斗三号
- Linux下V4L2捕捉画面+H264压缩视频+帧缓冲显示视频————H264压缩视频
- ubuntu建立向windows一样的快捷方式
- 用calloc()函数分配内存
- 4款bt search
- java流错误的是什么_Java 流异常的标准处理 | 学步园
- android iso系统下载 百度云,Windows 7 SP1官方原版ISO系统镜像所有版本下载集合
- 猎豹网校java版算法_猎豹网校JAVA语言数据结构与算法视频教程 Java语言
- 协同过滤推荐算法java_基于用户的协同过滤推荐算法 实现原理及实现代码
- base-64 字符数组的无效长度
- Java入门第116课——向List中插入和删除元素
- MAC地址(广播、组播、单播、全球、本地)
- BAAI 2020 北京智源大会 | Yolanda Gil | Thoughtful Artificial Intelligence
- 【51单片机】矩阵按键实现数码管显示
- 威客---猪八戒http://www.zhubajie.com/
- 【Java分享客栈】我有一个朋友,和前端工程师联调接口被狠狠鄙视了一番。
- struts使用下拉列表框
- 百度分享不支持https的最简单解决方案
热门文章
- JavaScript实现在线MD5、SHA、AES、Rabit 、RC4、TripleDES Ripemd160 加密解密工具-toolfk程序员在线工具网...
- transfer function
- 2016/11/18
- Swift中关于可选类型(?)与强制解析(!)的特性
- Facebook大牛、HipHop作者赵海平加入阿里巴巴
- [转]理解“Future”
- 重庆2021级春招高考成绩查询,2021重庆高考成绩查询入口
- 数字万用表测量二极管、三极管
- 内核通信错误处理方法
- 我都惊了这么多年pytorch还可以这么用