<font id="tbtdb"></font>

        <sub id="tbtdb"><delect id="tbtdb"></delect></sub>

          <progress id="tbtdb"></progress>
          <address id="tbtdb"></address><thead id="tbtdb"></thead>
          <font id="tbtdb"></font>

          <meter id="tbtdb"><cite id="tbtdb"><dl id="tbtdb"></dl></cite></meter>

          好程序員-千鋒教育旗下高端IT職業教育品牌

          400-811-9990
          我的賬戶
          好程序員

          專注高端IT職業培訓

          親愛的猿猿,歡迎!

          已有賬號,請

          如尚未注冊?

          [BigData] 好程序員大數據培訓分享Hbase指令學習

          [復制鏈接]
          784 0
          葉子老師 發表于 2019-8-16 15:19:06 | 只看該作者 |閱讀模式 打印 上一主題 下一主題
          好程序員大數據培訓分享Hbase指令學習
          啟動:
            1、啟動zk  zkServer.sh start
                  2、啟動hdfs  start-dfs.sh
                  3、啟動hbase服務        start-hbase.sh
                   (啟動報錯的話要kill QuorumPeerMain的進程在重新啟動
                  4啟動客戶端: hbase shell
            時間必須同步,不然也會報錯
                TIMERANGE=>[xxxxx,xxxxx]時間戳的數組    range范圍
                TIMESTAMP=>xxxxx   時間戳單數         stamp 標志
                xy02:16010
                xy02:16010
          Hbase沒有庫的概念,屬于無模式,但是有 名稱空間(namespace相當于庫)和 (相當于表)的概念
          Hbase默認有兩個組 Deflult Hbase
          list         顯示hbase中的表
          ---------------------------------------------------------------------------------------------------------------------------------
            create 'user', 'info', 'data'       創建user表,包含infodata兩個列族,默認在(default)
            create 'ns1:user', 'info', 'data'     ns1namesqpce)下建了user
            create 'user1',{NAME=>'info',BLOOMFILTER => 'ROWCOL',VERSIONS => '2'}
            alter 'user1',{NAME=>'data',BLOOMFILTER => 'ROWCOL',VERSIONS => '2'}
            (有則更新更改,無則新增,可以利用alter新增data的列簇)
            create 'user2', 'f1', SPLITS => ['10', '20', '30', '40']  --事先分配好region所管轄的rowkey的范圍
            
          插入數據:(不能一次性插入多列)
            put 'user','rk01','info:name','xuyu'
            put 'user','rk01','info:age','18'
            put 'user','rk01','info:sex','boy'
            put 'user','rk01','data:pic','picture'
          更新數據
            put 'user','rk01','info:name','xuyu1111'    查詢的時候name就變成xuyu1111
          ---------------------------------------------------------------------------------------------------------------------------------
          (刪除整個表的時候要禁用表,就像文件在打開的時候無法重命名一樣)
            1disable 'test'    禁用test
            2drop 'test'      刪除test
            3list            發現test表已經被刪除了
            4 enable 'user'    啟用表
            刪除列簇:
            alter 'user1', NAME => 'info', METHOD => 'delete'
            alter 'user1', 'delete' => 'info'
            
          刪除數據
               delete 'user','rk01','info:name'  刪除name
               delete 'user', 'rk01', 'info:name', 1534126109598  刪除時間戳為xxx name
            刪除指定的版本:(往上刪除版本)
            delete 'user','rk01','info:name',TIMESTAMP=>1534138686498
            表判斷:
            exists 'user'      判斷表
            disable 'user'     禁用表
            enable 'user'     開啟表
            desc 'user'       顯示表的屬性信息
            統計表:(統計效率較差,不建議使用)
            count 'user'
            清空表:
            truncate 'user'
            
          ---------------------------------------------------------------------------------------------------------------------------------
          (重命名整個表的時候要禁用表,就像文件在打開的時候無法重命名一樣)
               1disable 'user'
            
            
          有則更新,無則新增
            alter 'user', NAME => 'f1'
            alter 'user1',{NAME=>'data',BLOOMFILTER => 'ROWCOL',VERSIONS => '2'}
          ---------------------------------------------------------------------------------------------------------------------------------
            describe 'user'          會顯示name=dataname=info等一系列屬性信息
            表掃描(scan
            scan 'user'              對表進行掃描,會顯示表中的內容數據
            scan 'user',{COLUMNS => ['info:name','info:age']}   掃描指定的部分
            設置查詢條件:(包頭不包尾)
          scan 'user',{COLUMNS => ['info:name','info:age'],STARTROW=>'rk00002',LIMIT=>2}
          scan 'user',{COLUMNS => ['info:name','info:age'],STARTROW=>'rk01',ENDROW=>'rk04',LIMIT=>2}
          注意:這里的startrowendrow只的都是rowkey(相當于主鍵)
            查詢數據:(GET
            get 'user','rk01'                     獲取全部數據
            get 'user','rk01',{TIMESTAMP=>1534126755704}
            get 'user','rk01','info'                獲取列簇為info數據
            get 'user','rk01','data'                獲取列簇為data數據
            get 'user','rk01','info:name'           只獲取info中的name
            獲取user表中row keyrk0001infodata列族的信息
            get 'user', 'rk01', 'info', 'data'          獲取infodata數據
            get 'user','rk01',{COLUMN=>['info','data']}
            get 'user', 'rk01', {COLUMN => ['info:name', 'data:pic']}
            獲取user表中row keyrk0001,列族為info,版本號最新5個的信息
            get 'user', 'rk01', {COLUMN => 'info', VERSIONS => 2}
            get 'user', 'rk01', {COLUMN => 'info:name', VERSIONS => 5}
            get 'user', 'rk01', {COLUMN => 'info:name', VERSIONS => 5,TIMERANGE => [1534123523054,xxxxxxxxxxxxxxx]}         獲取5個版本號中這2個時間戳的name
          ---------------------------------------------------------------------------------------------------------------------------------
          Namespace 下的操作
          list_namespace       列舉出所有的namespace(相當于庫),默認有2個組:defaulthbase
          create_namespace 'ns1'     創建一個名字為ns1namespace(相當于庫)
          create 'ns1:user', 'info', 'data'     ns1namesqpce)下建了useruser前加ns1:
          list_namespace_tables 'ns1'        查看ns1下的表
          alter_namespace 'ns1', {METHOD => 'set', 'NAME' => 'gjz1'}   修改
          alter_namespace 'ns1', {METHOD => 'unset', NAME => 'NAME'}  刪除
          drop_namespace 'ns1'   ###只能刪除一個空的namespace
          describe_namespace 'ns1'     查看內容描述
          ---------------------------------------------------------------------------------------------------------------------------------
          好程序員大數據培訓官網:http://www.xn122.com/bigdata.shtml

          精彩內容,一鍵分享給更多人!
          收藏
          收藏0
          轉播
          轉播
          分享
          淘帖0
          支持
          支持0
          反對
          反對0
          回復

          使用道具 舉報

          您需要登錄后才可以回帖

          本版積分規則

          關注我們
          好程序員
          千鋒好程序員

          北京校區(總部):北京市海淀區寶盛北里西區28號中關村智誠科創大廈

          深圳西部硅谷校區:深圳市寶安區寶安大道5010號深圳西部硅谷B座A區605-619

          杭州龍馳智慧谷校區:浙江省杭州市下沙經濟技術開發區元成路199號龍馳智慧谷B座7層

          鄭州校區:鄭州市二七區航海中路60號海為科技園C區10層、12層

          Copyright 2007-2019 北京千鋒互聯科技有限公司 .All Right

          京ICP備12003911號-5 京公安網11010802011455號

          請您保持通訊暢通1對1咨詢馬上開啟

          电影韩国三级2019在线观看