Hadoop中HDFS小文件产生场景及其处理方案
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,影响: 1、文件的元数据存储在namenode中,每个文件的元数据都差不多大,小文件过多会极大的占用namonode的内存,制约集群的扩展。(主要影响) 2、在对小文件进行处理的时候,一个
千家信息网最后更新 2026年11月02日Hadoop中HDFS小文件产生场景及其处理方案
影响: 1、文件的元数据存储在namenode中,每个文件的元数据都差不多大,小文件过多会极大的占用namonode的内存,制约集群的扩展。(主要影响) 2、在对小文件进行处理的时候,一个小文件对应一个maptask,一个maptask会起一个jvm进程,进程的开启销毁会严重性能。(jvm复用)产生场景: 1、实时处理:比如我们使用 Spark Streaming 从外部数据源接收数据,然后经过 ETL 处理之后存储 到 HDFS 中。这种情况下在每个 Job 中会产生大量的小文件。 2、hive中对表执行insert操作,每次插入都在表目录下形成一个小文件。 创建表结构相同的表,create table t_new as select * from t_old; 老表根据实际情况可以删除就删除。 3、hive中执行简单过滤操作,符合过滤条件的数据存在很多block块中,只走map,map输出有很多小文 件。 开启map端的聚合。 4、mapreduce正常执行产生小文件。 将mapreduce输出不直接写hdfs,而是写入到hbase中。 设置map端文件合并及reduce端文件合并。 5、输入数据文件为小文件。 小文件合并后再计算。 CombineFileInputFormat: 它是一种新的inputformat,用于将多个文件合并成一个单独的 split,另外,它会考虑数据的存储位置。通用处理方案:1、Hadoop Archive Hadoop Archive或者HAR,是一个高效地将小文件放入HDFS块中的文件存档工具,它能够将多个小文件打包成一个HAR文件,这样在减少namenode内存使用的同时,仍然允许对文件进行透明的访问。2、Sequence file sequence file由一系列的二进制key/value组成,如果为key小文件名,value为文件内容,则可以将大批小文件合并成一个大文件。底层处理方案:HDFS-8998: DataNode划分小文件区,专门存储小文件。一个block块满了开始使用下一个block。HDFS-8286: 将元数据从namenode从内存移到第三方k-v存储系统中。 HDFS-7240: Apache Hadoop Ozone,hadoop子项目,为扩展hdfs而生。
文件
数据
处理
存储
内存
方案
多个
情况
进程
并成
影响
输出
场景
相同
差不多
二进制
位置
内容
同时
子项
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手冲咖啡和咖啡机区别
保险科技 互联网保险
美国互联网科技巨头监管
互联网科技开发公司
火传媒上海互联网科技
长亮科技互联网金融
博兴的互联网电子科技公司
成都铂石互联网科技做什么的
和信科技工业互联网
电子科技大学互联网创业大赛
民营互联网公司国防科技
允成互联网科技有限公司融资
互联网金融科技元年
上海钢联属于互联网科技股吗
互联网硬科技公司
互联网科技平台产品运营
版纳互联网科技选哪家
互联网科技和医药行业
安徽九吞吴互联网科技有限公司
宁波允成互联网科技有限公司
科技互联网公司装修
世界互联网领先科技成果
互联网高科技股票
互联网科技有限公司 翻译
互联网之后的科技是什么
互联网教育科技公司vipkid
崇明区互联网教育科技售后服务
浙南科技城互联网大厦招聘
九思连强互联网电子科技有限公司
互联网企业和网络科技有限公司