博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(转载)Hbase -- hbase 压缩
阅读量:7105 次
发布时间:2019-06-28

本文共 1307 字,大约阅读时间需要 4 分钟。

hot3.png

Hbase有两种压缩策略:minor和major。Minor compactions通常选择几个临近的小的storefiles把他们重写成一个。Minors 不会丢掉已删除或者过期的cells,只有major compactions才会做这些。有时一次Minor compactions将会选择一个store里的全部storefiles,因此,它实际上是一次局部的major compaction。

当进行完一次major compaction以后所有的store都只有一个storefiles,这对查询性能有很大提升。注意:major compaction将会在一个运行中的系统中重写全部store的数据,不提倡自动运行;major compactions 在大型系统中通常是手动进行的。

9.7.5.5.1. Compaction File Selection

为了了解选取storefile的核心算法,可以看下图:

 

 

/* normal skew: * *         older ----> newer *     _ *    | |   _ *    | |  | |   _ *  --|-|- |-|- |-|---_-------_-------  minCompactSize *    | |  | |  | |  | |  _  | | *    | |  | |  | |  | | | | | | *    | |  | |  | |  | | | | | | */

关键点:

hbase.store.compaction.ratio 比率在选择压缩文件的策略中被使用 (默认值1.2f).

hbase.hstore.compaction.min (.90版本中使用 hbase.hstore.compactionThreshold) (files) 在一次压缩发生前每个store中的至少有多少个storefiles被选择(默认值为2)

hbase.hstore.compaction.max (files) 在一次minor compaction发生前每个store中的最多有多少个storefiles被选择(默认值为10).

hbase.hstore.compaction.min.size (bytes) 任何一个storefile如果大于给定的大小将自动成为候选的将被压缩的storefile

默认与hbase.hregion.memstore.flush.size (128 mb)相同.

hbase.hstore.compaction.max.size (.92) (bytes) 任何storefile如果大于给定值将会自动被排除,不再压缩(默认值Long.MAX_VALUE).

Minor compaction 选择storefile的逻辑是基于文件大小的,当一个文件<=sum(比它小的文件) * hbase.hstore.compaction.ratio 将被选择

转载于:https://my.oschina.net/breakjoa/blog/155924

你可能感兴趣的文章
vsftp 配置文件说明
查看>>
Python学习笔记-模块介绍(二)-模块导入和执行
查看>>
Cocos数据篇[3.4](6) ——SQLite3数据库基础用法
查看>>
APP刷量黑色收入年过百万:开发者急功近利
查看>>
zabbix使用自动发现功能监控服务器各JVM进程状态
查看>>
我的友情链接
查看>>
How To Do Math Using PowerShell, Part 1 and Part 2
查看>>
c++中模板函数和非模板函数的重载
查看>>
ospf基本配置
查看>>
python列表、元组(三)
查看>>
Linux 基本指令的操作和示例说明(五节)
查看>>
Linux应用总结(1):自动删除n天前日志
查看>>
跟我学习dubbo-简介(1)
查看>>
Rsync基本操作加实时同步演练
查看>>
第1章 选择流程控制语句
查看>>
Java之品优购课程讲义_day03(8)
查看>>
EasySchedule定时任务web平台
查看>>
这10道springboot常见面试题你需要了解下
查看>>
大数据学习知识点导图
查看>>
ubuntu cenots 禁止本地登陆
查看>>