HBase表备份&预分区

时间:2021-05-17 08:25:00

HBase表备份

在HBase中,一般来说会预先设计RowKey,一个合理的rowkey设计不仅会影响到后续使用过程中的查询速度,对于数据的存储也是有一定影响的。不合理的rowkey设计会导致热读或者热写。假如初始阶段未做好rowkey的设计,并没有做合理的预分区,可能在后面过程中,会做表的备份,然后对原表做预分区,再讲数据导入原表,下面看下表备份:

01. hbase shell> disable 'tableName'
02. hbase shell> snapshot 'tableName', 'tableSnapshot'
03. hbase shell> clone_snapshot 'tableSnapshot', 'newTableName'
04. hbase shell> delete_snapshot 'tableSnapshot'
05. hbase shell> drop 'tableName'

HBase表预分区

HBase表预分区通常情况下,预分区比较多,会把预分区边界写到文件中,使用如下方式进行预分区:

create 'News',{NAME =>'I', VERSIONS=>'1' COMPRESSION => 'SNAPPY'}, {SPLITS_FILE => 'region_split_info.txt'}

其中,region_split_info.txt的内容类似:

0001| 
0002|
0003|

之后可以到hbase的管理页面查看表的具体分区。