實訓7 HBase命令行之Shell操作_第1頁
實訓7 HBase命令行之Shell操作_第2頁
實訓7 HBase命令行之Shell操作_第3頁
實訓7 HBase命令行之Shell操作_第4頁
實訓7 HBase命令行之Shell操作_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

實訓4.2HBase命令行之Shell操作1.實訓目的(1)理解HBase的系統(tǒng)架構(gòu)(2)熟悉Shell的基本操作2.實訓內(nèi)容通過本實訓,了解HBase的系統(tǒng)架構(gòu),使更加熟悉HBase命令行操作表,學會ColumnFamily、TableSchema與RowKey的設計等等。3.實訓要求以小組為單元進行實訓,每小組5人,小組自協(xié)商選一位組長,由組長安排和分配實訓任務,具體參考實訓操作環(huán)節(jié)。需要確保HBase環(huán)境安裝正確。4.準備知識(1)DDL操作語法,如表4-6所示。表4-6DDL操作語法操作命令表達式注意創(chuàng)建表creat'table_name,'family1','family2','familyN'添加記錄put'table_name','rowkey','family:column','value'查看記錄get'table_name','rowkey'查詢單條記錄,也是hbase最常用的查看表中的記錄總數(shù)count'table_name'這個命令并不快,且目前沒有找到更快的方式統(tǒng)計行數(shù)刪除記錄delete'table_name','rowkey','family_name:column'deleteall'table_name','rowkey'第一種方式刪除—條記錄單列的數(shù)據(jù)第二種方式刪除整條記錄刪除一張表1、disable'table_name'2、drop'table_name'查看所有記錄scan“table_name”,{LIMIT=>10}LIMIT=>10只返回10條記錄,否則將全部展示①列出所有表,結(jié)果如圖4-29所示。list圖4-29list命令的查看結(jié)果②創(chuàng)建表#語法:create<table>,{NAME=><family>,VERSIONS=><VERSIONS>}#例如:創(chuàng)建表t1,有兩個familyname:f1,f2,且版本數(shù)均為2,如圖4-30所示。create't1',{NAME=>'f1',VERSIONS=>2},{NAME=>'f2',VERSIONS=>2}圖4-30創(chuàng)建t1表創(chuàng)建表user,列族為info。創(chuàng)建結(jié)果如圖4-31所示。create'user','info'圖4-31創(chuàng)建user表③刪除表。

分兩步:首先disable,然后drop

例如:刪除表t1,操作結(jié)果如圖4-32所示。HBase(main)>disable't1'HBase(main)>drop't1'圖4-32刪除t1表④查看表的結(jié)構(gòu)#語法:describe<table>#例如:查看表t1的結(jié)構(gòu)HBase(main)>describe't1'注意:由于上一步刪除了表,此處先創(chuàng)建一個t1,然后再查看,如圖4-33所示。圖4-33查看t1表結(jié)構(gòu)⑤修改表結(jié)構(gòu)

修改表結(jié)構(gòu)前必須先禁用表#語法:alter't1',{NAME=>'f1'},{NAME=>'f2',METHOD=>'delete'}#例如:修改表test1的cf的TTL為180天,操作結(jié)果如圖4-34所示。HBase(main)>disable't1'HBase(main)>alter't1',{NAME=>'body',TTL=>'15552000'},{NAME=>'meta',TTL=>'15552000'}圖4-34修改t1表結(jié)構(gòu)修改好表后需要啟用表,操作結(jié)果如圖4-35所示。HBase(main)>enable

't1'圖4-35啟用t1表⑥添加數(shù)據(jù)(用法比較單一)#語法:put<table>,<rowKey>,<family:column>,<value>,<timestamp>#例如:給user表的添加一行記錄:rowKey是001,family是name,valuse是lishi。操作結(jié)果如圖4-36所示。HBase(main)>put'user','001','info:name','lishi'圖4-36添加user表的數(shù)據(jù)⑦查詢表查詢表中的所有數(shù)據(jù)#語法:scan<table>,{COLUMNS=>[<family:column>,....],LIMIT=>num}#另外,還可以添加STARTROW、TIMERANGE和FITLER等高級功能#例如:掃描表user的前2條數(shù)據(jù),查詢結(jié)果如圖4-37所示。HBase(main)>scan'user',{LIMIT=>2}圖4-37查詢user表數(shù)據(jù)查詢某條數(shù)據(jù)#例如:查詢user表的001行中的info下的所有列值,查詢結(jié)果如圖4-38所示。HBase(main)>get'user','001'圖4-38查詢user表001行信息查詢表中的數(shù)據(jù)行數(shù)#語法:count<table>,{INTERVAL=>intervalNum,CACHE=>cacheNum}#INTERVAL設置多少行顯示一次及對應的RowKey,默認1000;CACHE每次去取的緩存區(qū)大小,默認是10,調(diào)整該參數(shù)可提高查詢速度#例如,查詢表user中的行數(shù),每100條顯示一次,緩存區(qū)為500,查詢結(jié)果如圖4-39所示。HBase(main)>count'user',{INTERVAL=>100,CACHE=>500}圖4-39查詢user表的行數(shù)⑧刪除數(shù)據(jù)刪除行中的某個列值#語法:delete<table>,<rowKey>,

<family:column>,<timestamp>,必須指定列名#例如:刪除表user中001行的info:name的數(shù)據(jù),刪除結(jié)果如圖4-40所示。HBase(main)>delete'user','001','info:name'圖4-40刪除name列的數(shù)據(jù)刪除表中的所有數(shù)據(jù)#語法:truncate<table>#其具體過程是:disabletable->droptable->createtable#例如:刪除表user的所有數(shù)據(jù),刪除結(jié)果如圖4-41所示。HBase(main)>truncate'user'圖4-41刪除user表中所有數(shù)據(jù)⑨檢查表是否存在,檢查結(jié)果如圖4-42所示。exists'user'圖4-42檢查user表是否存在(2)劃分ColumnFamily的原則推薦ColumnFamily的個數(shù)為1~3個,對于有以下兩個特點的ColumnFamily可以考慮合并: ①是否具有相似的數(shù)據(jù)格式。 ②是否具有相似的訪問類型。(3)表的Schema的設計四大原則 ①每一個Region的大小在10G~50G。 ②每一個Table控制在50~100個Regions。 ③每一個Table控制在1~3個ColumnFamily。 ④每一個ColumnFamily的命名盡可能短,因為ColumnFamily是會存儲在數(shù)據(jù)文件中。(4)RowKey設計的四大原則 ①RowKey的長度一般被建議在10~100個字節(jié),不過建議是盡量短比較好。 ②RowKey是按照字典順序進行存儲的,所以將Region反轉(zhuǎn)作為RowKey的話使性能更好。 ③避免出現(xiàn)Hotspotting(熱點)的三種設計:Salting(散布、加鹽)、加Hashing 、反轉(zhuǎn)RowKey。 ④在設計RowKey時可以這樣做:采用UserID+CreateTime+FileID組成RowKey,這樣既能滿足多條件查詢,又能有很快的查詢速度。5.實訓步驟(1)Shell的操作①啟動HBaseShell,啟動結(jié)果如圖4-43所示。說明:需確保HDFS、ZooKeeper和HBase均已啟動。cd/opt/software/hbase-2.5.0/bin./hbaseshell圖4-43啟動hbaseshell②創(chuàng)建表,如圖4-44所示。create'bigdata','teacher'圖4-44bigdata表的創(chuàng)建③查看所有表,如圖4-45所示。list圖4-45查看list列表④查看表結(jié)構(gòu)信息,如圖4-46所示。describe'bigdata'圖4-46描述bigdata表信息⑤插入表數(shù)據(jù),如圖4-47所示。put'bigdata','001','teacher:name','shao'圖4-47向bigdata表中插入數(shù)據(jù)⑥在shell里查詢,如圖4-48所示。scan'bigdata'圖4-48查詢bigdata表⑦刪除表(要先disable,再drop),如圖4-49所示。disable'bigdata'drop'bigdata'圖4-49刪除bigdata表⑧重新查

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論