hbase Hfile处理原因
2024-10-07 22:48:45
Hile 内部的数据是按key排序好的,但Hfile之间数据并不能保证key的排序,也就是说对于新生成的Hfile,其内部的key并不都比老的Hfile的大,因此每次检索时,都需要在所有的Hfile中检索一次,再将记过合并。虽然Hbase针对HFile这个设计了各种加速机制如BloomFilter,但是Hfile文件数目一多了还是比较吃力,因此就需要对Hfile做合并操作(compaction),分为minor和major合并操作。老的下限新的上线做查询用。
1)Minor操作只用来做部分文件的合并操作以及包括minVersion=0并且设置ttl的过期版本清理,不做任何删除数据、多版本数据的清理工作。
2)Major操作是对Region下的HStore下的所有StoreFile执行合并操作,最终的结果是整理合并出一个文件。
一般情况下都是做Minor合并,Major不少集群都是禁止,然后再集群负载较小时,进行手动Major合并,在我们数据立方这边,也是配置了一个<name>datacube.hregion.majorcompaction</name><value>0</value>,这是配置major的合并周期(默认为7天),很多集群配置成一天,如果配置成0即关闭Major合并。本文重点讨论的是minor合并,因此就不在此多说Major合并,只需要注意,既然Major合并是把所有HFile都合并成一个文件,可想对集群负载不可小觑。
最新文章
- Access restriction: The type &#39;FileURLConnection&#39; is not API
- Xml与DataTable相互转换方法
- [POJ2404]Jogging Trails(中国旅行商问题)(一般图的匹配——状压DP)
- Linux安装vim失败的解决办法
- GATK使用说明(一)
- C#调用百度地图API经验分享(一)
- windows 2008 r2 下面搭建 iis+sql server +php5.6 环境遇见的一些问题记录一下
- python3爬虫初探(五)之从爬取到保存
- jquery 回车切换 tab功能
- 20160723数据结构节alexandrali
- 老蜗牛写采集:一个漂亮的客户端-几个C#平台下的Winform 皮肤控件
- BZOJ 3343教主的魔法
- HTML5验证及日期显示
- BZOJ 1058 报表统计 (STL)
- poj 2363 Blocks(暴力)
- 动态得到WCF的代理类并生成代码
- APP的线程安全
- async generator promise异步方案实际运用
- 10-TypeScript中的接口
- elk中fliebeat的配置文件