HBase shell常用命令


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,'']

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM