版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
實(shí)訓(xùn)4.2HBase命令行之Shell操作1.實(shí)訓(xùn)目的(1)理解HBase的系統(tǒng)架構(gòu)(2)熟悉Shell的基本操作2.實(shí)訓(xùn)內(nèi)容通過(guò)本實(shí)訓(xùn),了解HBase的系統(tǒng)架構(gòu),使更加熟悉HBase命令行操作表,學(xué)會(huì)ColumnFamily、TableSchema與RowKey的設(shè)計(jì)等等。3.實(shí)訓(xùn)要求以小組為單元進(jìn)行實(shí)訓(xùn),每小組5人,小組自協(xié)商選一位組長(zhǎng),由組長(zhǎng)安排和分配實(shí)訓(xùn)任務(wù),具體參考實(shí)訓(xùn)操作環(huán)節(jié)。需要確保HBase環(huán)境安裝正確。4.準(zhǔn)備知識(shí)(1)DDL操作語(yǔ)法,如表4-6所示。表4-6DDL操作語(yǔ)法操作命令表達(dá)式注意創(chuàng)建表creat'table_name,'family1','family2','familyN'添加記錄put'table_name','rowkey','family:column','value'查看記錄get'table_name','rowkey'查詢單條記錄,也是hbase最常用的查看表中的記錄總數(shù)count'table_name'這個(gè)命令并不快,且目前沒(méi)有找到更快的方式統(tǒng)計(jì)行數(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)建表#語(yǔ)法:create<table>,{NAME=><family>,VERSIONS=><VERSIONS>}#例如:創(chuàng)建表t1,有兩個(gè)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)#語(yǔ)法:describe<table>#例如:查看表t1的結(jié)構(gòu)HBase(main)>describe't1'注意:由于上一步刪除了表,此處先創(chuàng)建一個(gè)t1,然后再查看,如圖4-33所示。圖4-33查看t1表結(jié)構(gòu)⑤修改表結(jié)構(gòu)
修改表結(jié)構(gòu)前必須先禁用表#語(yǔ)法: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ù)(用法比較單一)#語(yǔ)法: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ù)#語(yǔ)法:scan<table>,{COLUMNS=>[<family:column>,....],LIMIT=>num}#另外,還可以添加STARTROW、TIMERANGE和FITLER等高級(jí)功能#例如:掃描表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ù)#語(yǔ)法:count<table>,{INTERVAL=>intervalNum,CACHE=>cacheNum}#INTERVAL設(shè)置多少行顯示一次及對(duì)應(yīng)的RowKey,默認(rèn)1000;CACHE每次去取的緩存區(qū)大小,默認(rèn)是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ù)刪除行中的某個(gè)列值#語(yǔ)法: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ù)#語(yǔ)法:truncate<table>#其具體過(guò)程是: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的個(gè)數(shù)為1~3個(gè),對(duì)于有以下兩個(gè)特點(diǎn)的ColumnFamily可以考慮合并: ①是否具有相似的數(shù)據(jù)格式。 ②是否具有相似的訪問(wèn)類型。(3)表的Schema的設(shè)計(jì)四大原則 ①每一個(gè)Region的大小在10G~50G。 ②每一個(gè)Table控制在50~100個(gè)Regions。 ③每一個(gè)Table控制在1~3個(gè)ColumnFamily。 ④每一個(gè)ColumnFamily的命名盡可能短,因?yàn)镃olumnFamily是會(huì)存儲(chǔ)在數(shù)據(jù)文件中。(4)RowKey設(shè)計(jì)的四大原則 ①RowKey的長(zhǎng)度一般被建議在10~100個(gè)字節(jié),不過(guò)建議是盡量短比較好。 ②RowKey是按照字典順序進(jìn)行存儲(chǔ)的,所以將Region反轉(zhuǎn)作為RowKey的話使性能更好。 ③避免出現(xiàn)Hotspotting(熱點(diǎn))的三種設(shè)計(jì):Salting(散布、加鹽)、加Hashing 、反轉(zhuǎn)RowKey。 ④在設(shè)計(jì)RowKey時(shí)可以這樣做:采用UserID+CreateTime+FileID組成RowKey,這樣既能滿足多條件查詢,又能有很快的查詢速度。5.實(shí)訓(xùn)步驟(1)Shell的操作①啟動(dòng)HBaseShell,啟動(dòng)結(jié)果如圖4-43所示。說(shuō)明:需確保HDFS、ZooKeeper和HBase均已啟動(dòng)。cd/opt/software/hbase-2.5.0/bin./hbaseshell圖4-43啟動(dòng)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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025秋蘇少版(2024)初中美術(shù)七年級(jí)上冊(cè)知識(shí)點(diǎn)及期末測(cè)試卷及答案
- 護(hù)理課件:皮膚護(hù)理的未來(lái)趨勢(shì)
- (新教材)2026年滬科版八年級(jí)下冊(cè)數(shù)學(xué) 17.5 一元二次方程的應(yīng)用 課件
- 2025年辦公樓宇安防合作合同
- 設(shè)備安全防護(hù)裝置配置規(guī)范
- 基于知識(shí)圖譜的資源關(guān)聯(lián)挖掘方法
- 人工智能在智能投顧中的應(yīng)用-第4篇
- 2026 年中職救援技術(shù)(救援技能)技能測(cè)試題
- 英語(yǔ)第二單元試題及答案
- 網(wǎng)紅經(jīng)濟(jì)對(duì)大學(xué)生從眾消費(fèi)行為的扎根理論研究
- 上海財(cái)經(jīng)大學(xué)2026年輔導(dǎo)員及其他非教學(xué)科研崗位人員招聘?jìng)淇碱}庫(kù)帶答案詳解
- 2026湖北恩施州建始縣教育局所屬事業(yè)單位專項(xiàng)招聘高中教師28人備考筆試試題及答案解析
- 心肺康復(fù)課件
- 2025人民法院出版社社會(huì)招聘8人(公共基礎(chǔ)知識(shí))測(cè)試題附答案解析
- 2025年山東省夏季普通高中學(xué)業(yè)水平合格考試物理試題(解析版)
- 標(biāo)準(zhǔn)作業(yè)指導(dǎo)書(shū)模板(SOP)
- 科室質(zhì)控小組活動(dòng)內(nèi)容及要求
- 圖形創(chuàng)意應(yīng)用課件
- 北京師范大學(xué)珠海校區(qū)
- 豎窯控制系統(tǒng)手冊(cè)
- 煤礦投資可行性研究分析報(bào)告
評(píng)論
0/150
提交評(píng)論