博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HBase表预分区
阅读量:4450 次
发布时间:2019-06-07

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

在创建Hbase表的时候默认一张表只有一个region,所有的put操作都会往这一个region中填充数据,当这个一个region过大时就会进行split。如果在创建HBase的时候就进行预分区则会减少当数据量猛增时由于region split带来的资源消耗。

HBase表的预分区需要紧密结合业务场景来选择分区的key值,每个region都有一个startKey和一个endKey来表示该region存储的rowKey范围。

创建包含预分区表的命令如下:

> create 't1', 'cf', SPLITS => ['20150501000000000', '20150515000000000', '20150601000000000']或者> create 't2', 'cf', SPLITS_FILE => '/home/hadoop/splitfile.txt'/home/hadoop/splitfile.txt中存储内容如下:201505010000000002015051500000000020150601000000000

该语句会创建4个region:

startkey                    endkeyregion0         -                           20150501000000000region1         20150501000000000           20150515000000000region2         20150515000000000           20150601000000000region3         20150601000000000           -// region0没有startKey// region3没有endKey// 当put的一条数据rowKey值为20150516000000000时则会放入region2中

从HBase的Web UI中可以查看到表的分区

 

 

每个region的命名方式如下:[table],[region start key],[region id]

 

转载于:https://www.cnblogs.com/itboys/p/6516881.html

你可能感兴趣的文章
Python实现Json结构对比的小工具兼谈编程求解问题
查看>>
Java入门之:基本数据类型
查看>>
导航属性
查看>>
指针函数与函数指针
查看>>
Git工作流总结
查看>>
什么时候修改class
查看>>
冒泡与捕获的理解
查看>>
Jira客户端
查看>>
BZOJ1192: [HNOI2006]鬼谷子的钱袋
查看>>
shell之变量字符串的操作
查看>>
centos的网络配置
查看>>
clone git 项目到 非空目录
查看>>
安装php
查看>>
ssh服务不能远程时,使用telnet远程登录
查看>>
微信小程序开发踩坑记录
查看>>
怎样花两月时间去应聘互联网公司
查看>>
CSAPP lab1 datalab-handout(深入了解计算机系统 实验一)
查看>>
tc 146 2 RectangularGrid(数学推导)
查看>>
PHP 新建动态类的代码
查看>>
iOS学习笔记之正则表达式
查看>>