HDFS 小文件处理|学习笔记

简介: 快速学习 HDFS 小文件处理

开发者学堂课程【Hadoop 企业优化及扩展案例:HDFS 小文件处理】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/96/detail/1571


HDFS 小文件处理


目录:

一、HDFS 小文件弊端

二、HDFS 小文件解决方案

 

一、HDFS 小文件弊端

HDFS. 上每个文件都要在 NameNode 上建立--个索引,这个索引的大小约为150byte, 这样当小文件比较多的时候,就会产生很多的索引文件,一方面会大量占用 NameNode 的内存空间,另一方面就是索引文件过大使得索引速度变慢


二、HDFS 小文件解决方案

1.小文件的优化无非以下几种方式:  

(1)在数据采集的时候,就将小文件或小批数据合成大文件再上传 HDFS

(2)在业务处理之前,在 HDFS 上使用 MapReduce 程序对小文件进行合并

(3)在MapReduce 处理时,可采用 CombineTextInputFormat 提高效率

2.HDFS小文件解决方案
(1.1)Hadoop Archive
是一个高效地将小文件放入 HDFS 快中的文件存档工具,它能移将多个小文件打包成一个  HAR 文件,遠祥就減少了 NameNode 的内存使用。
(1.2)Sequence File
Sequence File 由一系列的二制key/value組成,如果key文件名,value 文件内容,则可以将大批小文件合并成一个大文件。

(1.3)CombineFilelnputFormatCombineFileInputFormat 是一种新的IuputFormat,用于将多个件合并成一个単独的 Split外,它会考慮数据的存储位置。

(1.4)开启 JVM 重用

对于大量小文件 Job ,可以开启 JVM 重用会减少45%运行时间。

JVM 重用原理: 

-个Map 运行在一个 JVM 上,开启重用的话,该 Map 在 JVM 上运行完毕后, JVM 继续运行其他 Map。
具体设置:

mapreduce.job.jvm.numtasks 值在 10-20 之间。

相关文章
|
存储 分布式计算 负载均衡
Hadoop学习笔记(二)之HDFS
Hadoop学习笔记(二)之HDFS
|
3月前
|
存储 缓存 分布式计算
|
5月前
|
存储 分布式计算 NoSQL
|
存储 SQL 分布式计算
HDFS 小文件问题及处理方法【重要】
HDFS 小文件问题及处理方法【重要】
584 0
|
6月前
|
存储 分布式计算 Hadoop
HDFS如何处理大文件和小文件的存储和访问?
HDFS如何处理大文件和小文件的存储和访问?
139 0
|
6月前
|
存储 机器学习/深度学习 分布式计算
Hadoop学习笔记(HDP)-Part.12 安装HDFS
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
174 0
Hadoop学习笔记(HDP)-Part.12 安装HDFS
|
6月前
|
存储 SQL 分布式计算
Hadoop(HDFS+MapReduce+Hive+数仓基础概念)学习笔记(自用)
Hadoop(HDFS+MapReduce+Hive+数仓基础概念)学习笔记(自用)
516 0
|
机器学习/深度学习 移动开发 分布式计算
配置 HDFS-配置 core-site-hdfs-size 以及 env.sh 等配置文件|学习笔记
快速学习配置 HDFS-配置 core-site-hdfs-size 以及 env.sh 等配置文件
409 0
|
存储 分布式计算 Java
|
存储 缓存 分布式计算
HDFS(二)|学习笔记
快速学习 HDFS(二)
155 0
HDFS(二)|学习笔记