1.進入Hbase shell命令
$>hbase shell
2.建議參照"help"命令
3.shell命令
--> create創建表命令:
>create 'table_name','baseinfo','address'
其中表名是table_name,列簇是baseinfo和address。
-->put插入數據
>put 'table_name','row-1','baseinfo:name','zhangsan'
>put 'table_name','row-1','baseinfo:age','12'
>put 'table_name','row-1','baseinfo:sex','男'
>put 'table_name','row-1','address:city','北京'
其中row-1是rowkey,列簇后面的是列,最后一個字段是value值
-->scan掃描表
>scan 'table_name'
輸出全部table_name表的信息和數據
-->get獲取單條數據命令
>get 'table_name','row-1'
其中table_name是表名,row-1是rowkey,得到的是row-1的全部數據
-->delete刪除記錄命令
>delete 'table_name','row-1','baseinfo:name'
其中table_name是表名,row-1是rowkey,baseinfo是列簇,name是列
-->describe描述指令檢索結構
>desc 'table_name'
-->修改版本號
默認版本是1
>alter 'table',{NAME=>'baseinfo',VERSION=>5}
通過scan '表名',{VERSION=>*}指令,檢索當前表的數據版本
執行delete刪除指令時,如需按照ts(timestamp)時間戳進行刪除操作時,之前版本一並刪除掉
-->drop刪除table指令
>disbale 'ns1:tablename' //首先要禁用table
>drop 'ns1:tablename' //刪除table
其中ns1是命名空間
-->get_table指令:將table映射成相對應的變量(table實例),通過table實例對表進行相關操作
>t1 = get_table 'table_name'
>t1.scan
>t1.put 'row-2','baseinfo:name','zhangsan'
>t1.get 'row-2'
namespace名字空間,相當於傳統數據庫的表空間
>create namespace 'ns1'
>describe_namespace 'ns1'
balance負載均衡指令,需使用開關模式,原因是負載均衡比較耗費資源
>balance_switch true //開啟負載均衡
>balancer //執行負載均衡
>balance_switch false //關閉負載均衡
>balancer 'force' //強制負載均衡
4.meta元數據內容
-------------------------------------------
1.使用scan掃描[hbase:meta]
hbase(main):003:0> scan 'hbase:meta'
ROW COLUMN+CELL
customer,,1533056364951.4e6032c76b column=info:regioninfo, timestamp=1533073783155, value={ENCODED => 4e6032c76b12fe55be487eadc40a70f0, NA
12fe55be487eadc40a70f0. ME => 'customer,,1533056364951.4e6032c76b12fe55be487eadc40a70f0.', STARTKEY => '', ENDKEY => ''}
customer,,1533056364951.4e6032c76b column=info:seqnumDuringOpen, timestamp=1533073783155, value=\x00\x00\x00\x00\x00\x00\x00\x1E
12fe55be487eadc40a70f0.
customer,,1533056364951.4e6032c76b column=info:server, timestamp=1533073783155, value=master:16020
12fe55be487eadc40a70f0.
customer,,1533056364951.4e6032c76b column=info:serverstartcode, timestamp=1533073783155, value=1533069282809
12fe55be487eadc40a70f0.
hbase:namespace,,1532995591775.5a1 column=info:regioninfo, timestamp=1533073782978, value={ENCODED => 5a1c1a877777167a858f23905b72396e, NA
c1a877777167a858f23905b72396e. ME => 'hbase:namespace,,1532995591775.5a1c1a877777167a858f23905b72396e.', STARTKEY => '', ENDKEY => ''}
hbase:namespace,,1532995591775.5a1 column=info:seqnumDuringOpen, timestamp=1533073782978, value=\x00\x00\x00\x00\x00\x00\x00\x1F
c1a877777167a858f23905b72396e.
hbase:namespace,,1532995591775.5a1 column=info:server, timestamp=1533073782978, value=master:16020
c1a877777167a858f23905b72396e.
hbase:namespace,,1532995591775.5a1 column=info:serverstartcode, timestamp=1533073782978, value=1533069282809
c1a877777167a858f23905b72396e.
ns1:student,,1533068816416.bfda8a0 column=info:regioninfo, timestamp=1533069385014, value={ENCODED => bfda8a08fdfccb4124b1a4e483f02b5b, NA
8fdfccb4124b1a4e483f02b5b. ME => 'ns1:student,,1533068816416.bfda8a08fdfccb4124b1a4e483f02b5b.', STARTKEY => '', ENDKEY => ''}
ns1:student,,1533068816416.bfda8a0 column=info:seqnumDuringOpen, timestamp=1533069385014, value=\x00\x00\x00\x00\x00\x00\x00\x06
8fdfccb4124b1a4e483f02b5b.
ns1:student,,1533068816416.bfda8a0 column=info:server, timestamp=1533069385014, value=master:16020
8fdfccb4124b1a4e483f02b5b.
ns1:student,,1533068816416.bfda8a0 column=info:serverstartcode, timestamp=1533069385014, value=1533069282809
8fdfccb4124b1a4e483f02b5b.
3 row(s) in 0.3440 seconds
說明:regionname格式:
<table_name>+","+<startKey>+","+<timestamp>+"."+<ENCODED>MD5生成碼(生成規則由“{<table_name>+","+<startKey>+","+<timestamp>+"."}”)
5.split切分
指令:>split 'ns1:student','row-sm' //將student表強制在row-sm位置切分
6.merge合並
指令:>merge_region '857d52f5591906576a85809db8522cbf','441d5e059755eae0f0b4582e915f6408'
//后兩個指的是regionname
7.move移動指令
>move '441d5e059755eae0f0b4582e915f6408' // 隨機指定regionserver
>move '441d5e059755eae0f0b4582e915f6408','slave1,16020,1533138423796' //指定move到slave1,16020,1533138423796這個regionserver
8.預分區
>create 'ns1:t1', 'f1', SPLITS => ['10', '20', '30', '40']
說明:在ns1命名空間下,創建t1表,列簇為f1;預分區為5個:['',10);[10,20);[20,30);[30,40);[40,'']