原理相当简单。就是根据region记录的1/2进行切分。
过程: 指定要split的目的region, 获得region中的行数,算出中间值,根据regionName和这个中间值做split-point, 利用HBaseAdmin的split接口触发最终的split.
整个过程可能需要依赖几个东西:
1.region中有多少记录? 这个我不知道是否有更直接的方法获得。至少一个直观的方法就是可以利用endpoint对表做快速统计(也是我们目前的实现), 从目标region得到startRow和stopRow, 传入scan, 得到目标数据量。
2. 1/2点(中间点)对应的rowkey怎么获得? 中间点简单, region总记录数/2就是。对应的rowkey的话, 可以通过加了SkipFilter/FirstKeyOnlyFilter/PageFilter(1) 3个过滤器的Scan来获得Result, Result.getRow便是。 当然,这里的SkipFilter并不是HBase原生的那个,(原生的那个我打心底觉得它不应该叫SkipFilter), 自己实现一个,hbase端跳过制定数量的记录便行。
目前看起来切分的效果符合预计。
分享到:
相关推荐
HBASERegion数量增多问题描述及解决方案.docx
HBase的region split策略一共有以下几种: 1、ConstantSizeRegionSplitPolicy 0.94版本前默认切分策略 当region大小大于某个阈值(hbase.hregion.max.filesize=10G)之后就会触发切分,一个region等分为2个region。 ...
HBase的模式Schema设计的一些概念和原则 5 1)模式的创建与更新 5 2)列族的数量 6 3)行键设计RowKey 6 5. HBase的拓扑结构是什么? 7 1)拓扑结构 7 2)HBase与ZooKeeper的关系是什么? 7 3)HBase的内部结构管理...
本文来自于36大数据,这篇文章将会对这些细节进行基本的说明,一方面可以让大家对HBase中Region自动切分有更加深入的理解,另一方面如果想实现类似的功能也可以参考HBase的实现方案。Region自动切分是HBase能够拥有...
基于hadoop+hbase+springboot实现的分布式网盘系统,适合本科毕业设计 资源包含的整个demo在Hadoop,和Hbase环境搭建好了,可以启动起来。 技术选型 1.Hadoop 2.Hbase 3.SpringBoot ...... 系统实现的功能 1.用户...
hbase分页查询实现.pdf
hbase分页查询实现
│ Day15[Hbase 基本使用及存储设计].pdf │ ├─02_视频 │ Day1501_Hbase的介绍及其发展.mp4 │ Day1502_Hbase中的特殊概念.mp4 │ Day1503_Hbase与MYSQL的存储比较.mp4 │ Day1504_Hbase部署环境准备.mp4 │ Day...
hbase-region-inspector, HBase区域统计信息的可视化仪表板 hbase-region-inspectorHBase区域统计信息的可视化仪表板。 用法下载与HBase集群版本匹配的可执行二进制插件,添加execute权限,并使用以下命令行参数启动...
Hbase调用JavaAPI实现批量导入操作.docx
hbase原理和设计,包括二级索引,rowkey设计,常见的坑.
奇虎360 HBASE 二级索引的设计与实践 pdf 完整版,支持千亿级数据量
奇虎360 HBASE 二级索引的设计与实践 pdf 完整版
详细介绍了HBASE如何与关系型数据mysql结合,以及自己设计MYISAM数据库引擎
hbase的Rowkey设计⽅案 1.1 hbase的概述 的概述 HBase由于其存储和读写的⾼性能,在OLAP即时分析中越来越发挥重要的作⽤。作为Nosql数据库的⼀员,HBase查询只能通过其 Rowkey来查询(Rowkey⽤来表⽰唯⼀⼀⾏记录),...
HBase大对象存储方案的设计与实现.讲诉HBase的原理及应用
hbase分页查询实现[归类].pdf
实现了HBase的存取,很有借鉴性。是一个在eclipse运行的完整代码
本方案主要参照了华为公布的HBase二级索引实现方案。为每个DataTable创建一个与之对应的IndexTable,通过各种途径,保证IndexTable Region与DataTable Region一一对应,并且存储在同一个RegionServer上。
SDCC2015-TiDB-刘奇-HBase分布式事务与SQL实现