Parquet ⼩⽂件问题

本文讨论了在不使用Hudi组件的情况下,如何处理HDFS中频繁生成的小文件问题。由于小文件会导致NameNode压力增大,查询效率下降以及存储空间浪费,因此提出了定期运行Merge程序来合并小文件,以创建更大的文件并提高查询效率。Merge程序每小时调度一次,目标是将文件大小控制在约1GB。这种方法有效解决了小文件带来的挑战,确保了系统的稳定运行和数据分析效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们Streaming程序Trigger Inverval 设置的是 5分钟[⾃⼰定] ,那么每5分钟就会⽣成⼀个⽂件,⼀天就
会有 288⽂件,⼩⽂件会产⽣三个主要问题 1. 过多的⼩⽂件会对namenode形成压⼒ 2. 过多的⼩⽂
件是不利于分析引擎做数据查询分析的,降低查询效率 3. 单个⼩⽂件的压缩⽐低,会占⽤更多的存储空间
尤其是第⼆个问题是我们⾸要关注的问题。 因此我们应对⼩⽂件,会开发Merge程序,来完成⼩⽂件的
合并⼯作,所谓Merge程序就是从定时把⼩⽂件从HDFS上读出来,然后合并成⼤⽂件,存回HDFS,同
时删除Merge后的⼩⽂件。写完这个程序,交个Azkaban定时调度就可以了。 我们⼀般 1⼩时 调度⼀次
Merge程序,并且尽可能控制Merge后的⽂件⼤⼩在 1G 左右。
上⾯的说的是我们不使⽤Hudi这个组件的情况下需要做的事情,不使⽤Hudi也是完全可以的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值