2021年大数据HBase(四):HBase的相关操作-客户端命令式!【建议收藏】
全網最詳細的大數據HBase文章系列,強烈建議收藏加關注!
新文章都已經列出歷史文章目錄,幫助大家回顧前面的知識重點。
目錄
系列歷史文章
前言
HBase的相關操作-客戶端命令式
1、進入HBase客戶端命令操作界面
2、查看幫助命令?
3、查看當前數據庫中有那些表
4、創建一張表
5、添加數據操作 ?
6、查詢數據操作?
7、更新數據操作
8、刪除數據以及刪除表操作
9、?統計一張表有多少行數據?
10、HBASE高級shell管理命令?
系列歷史文章
2021年大數據HBase(十七):HBase的360度全面調優
2021年大數據HBase(十六):HBase的協處理器(Coprocessor)
2021年大數據HBase(十五):HBase的Bulk Load批量加載操作
2021年大數據HBase(十四):HBase的原理及其相關的工作機制
2021年大數據HBase(十三):HBase讀取和存儲數據的流程
2021年大數據HBase(十二):Apache Phoenix 二級索引
2021年大數據HBase(十一):Apache Phoenix的視圖操作
2021年大數據HBase(十):Apache Phoenix的基本入門操作
2021年大數據HBase(九):Apache Phoenix的安裝
2021年大數據HBase(八):Apache Phoenix的基本介紹
2021年大數據HBase(七):Hbase的架構!【建議收藏】
2021年大數據HBase(六):HBase的高可用!【建議收藏】
2021年大數據HBase(五):HBase的相關操作-JavaAPI方式!【建議收藏】
2021年大數據HBase(四):HBase的相關操作-客戶端命令式!【建議收藏】
2021年大數據HBase(三):HBase數據模型
2021年大數據HBase(二):HBase集群安裝操作
2021年大數據HBase(一):HBase基本簡介
前言
?2021大數據領域優質創作博客,帶你從入門到精通,該博客每天更新,逐漸完善大數據各個知識體系的文章,幫助大家更高效學習。
有對大數據感興趣的可以關注微信公眾號:三幫大數據
HBase的相關操作-客戶端命令式
我們可以以shell的方式來維護和管理HBase。例如:執行建表語句、執行增刪改查操作等等
1、進入HBase客戶端命令操作界面
$ bin/hbase shell
2、查看幫助命令?
hbase(main):001:0> help
3、查看當前數據庫中有那些表
hbase(main):002:0> lis
4、創建一張表
創建user表,包含info、data兩個列族 hbase(main):010:0> create 'user', 'info', 'data' 或者 hbase(main):010:0> create 'user', {NAME => 'info', VERSIONS => '3'},{NAME => 'data'}
5、添加數據操作 ?
向user表中插入信息,row key為rk0001,列族info中添加name列標示符,值為zhangsan hbase(main):011:0> put 'user', 'rk0001', 'info:name', 'zhangsan'
向user表中插入信息,row key為rk0001,列族info中添加gender列標示符,值為female hbase(main):012:0> put 'user', 'rk0001', 'info:gender', 'female'
向user表中插入信息,row key為rk0001,列族info中添加age列標示符,值為20 hbase(main):013:0> put 'user', 'rk0001', 'info:age', 20
向user表中插入信息,row key為rk0001,列族data中添加pic列標示符,值為picture hbase(main):014:0> put 'user', 'rk0001', 'data:pic', 'picture'
6、查詢數據操作?
6.1、通過rowkey進行查詢 獲取user表中row key為rk0001的所有信息 hbase(main):015:0> get 'user', 'rk0001'
6.2、查看rowkey下面的某個列族的信息 獲取user表中row key為rk0001,info列族的所有信息 hbase(main):016:0> get 'user', 'rk0001', 'info'
6.3、查看rowkey指定列族指定字段的值 獲取user表中row key為rk0001,info列族的name、age列標示符的信息 hbase(main):017:0> get 'user', 'rk0001', 'info:name', 'info:age’
6.4、查看rowkey指定多個列族的信息 獲取user表中row key為rk0001,info、data列族的信息 hbase(main):018:0> get 'user', 'rk0001', 'info', 'data' 或者你也可以這樣寫 hbase(main):019:0> get 'user', 'rk0001', {COLUMN => ['info', 'data']} 或者你也可以這樣寫,也行 hbase(main):020:0> get 'user', 'rk0001', {COLUMN => ['info:name', 'data:pic’]}
6.5、指定rowkey與列值查詢 獲取user表中row key為rk0001,cell的值為zhangsan的信息 hbase(main):030:0> get 'user', 'rk0001', {FILTER => "ValueFilter(=, 'binary:zhangsan')"}
6.6、查詢所有數據 : 查詢user表中的所有信息 scan 'user' scan 'user' , {FORMATTER => 'toString’} scan 'user' , {LIMIT => 3,FORMATTER => 'toString’}
6.7、列族查詢: 查詢user表中列族為info的信息 scan 'user', {COLUMNS => 'info'} scan 'user', {COLUMNS => 'info', RAW => true, VERSIONS => 5} scan 'user', {COLUMNS => 'info', RAW => true, VERSIONS => 3}
6.8、多列族查詢: 查詢user表中列族為info和data的信息 scan 'user', {COLUMNS => ['info', 'data']} scan 'user', {COLUMNS => ['info:name', 'data:pic']}
6.9、指定列族與某個列名查詢 查詢user表中列族為info、列標示符為name的信息 scan 'user', {COLUMNS => 'info:name’}
6.10、指定列族與列名以及限定版本查詢 查詢user表中列族為info、列標示符為name的信息,并且版本最新的5個 scan 'user', {COLUMNS => 'info:name', VERSIONS => 5}
6.11、指定多個列族與按照數據值模糊查詢 查詢user表中列族為info和data且列標示符中含有a字符的信息 scan 'user', {COLUMNS => ['info', 'data'], FILTER =>? "(QualifierFilter(=,'substring:a'))"}
6.12、rowkey的范圍值查詢 查詢user表中列族為info,rk范圍是[rk0001, rk0003)的數據 scan 'user', {COLUMNS => 'info', STARTROW => 'rk0001', ENDROW => 'rk0003'}
6.13、指定rowkey模糊查詢 查詢user表中row key以rk字符開頭的 scan 'user',{FILTER=>"PrefixFilter('rk')"}
6.14、指定數據范圍值查詢 查詢user表中指定范圍的數據 scan 'user', {TIMERANGE => [1392368783980, 1392380169184]}
過濾器的查詢地址: ? http://hbase.apache.org/2.2/devapidocs/index.html?
7、更新數據操作
1、更新數據值 更新操作同插入操作一模一樣,只不過有數據就更新,沒數據就添加
2、更新版本號 將user表的f1列族版本號改為5 hbase(main):050:0> alter 'user', NAME => 'info', VERSIONS => 5
8、刪除數據以及刪除表操作
1、指定rowkey以及列名進行刪除 刪除user表row key為rk0001,列標示符為info:name的數據 hbase(main):045:0> delete 'user', 'rk0001', 'info:name'
2、指定rowkey,刪除一整行數據 hbase(main):045:0>deleteall 'user', 'rk0001’ 注意: 1. deleteall 是在 hbase 2.0版本后出現的, 在2.0版本之前, 只需要使用delete這個命令即可完成所有的刪除數據工作, 2. delete刪除數據時候, 只會刪除最新版本的數據, 而deleteall 直接將對應數據的所有的歷史版本全部刪除
3、刪除一個列族: alter 'user', NAME => 'info', METHOD => 'delete’ 或 alter 'user', 'delete' => 'info'
4、清空表數據 hbase(main):017:0> truncate 'user'
5、刪除表 首先需要先讓該表為disable狀態,使用命令: hbase(main):049:0> disable 'user' 然后才能drop這個表,使用命令:hbase(main):050:0> drop 'user' (注意:如果直接drop表,會報錯:Drop the named table. Table must first be disabled)
9、?統計一張表有多少行數據?
hbase(main):053:0> count 'user'
10、HBASE高級shell管理命令?
1) status 顯示服務器狀態 “例如:hbase(main):058:0> status 'node01'
2) whoami : 顯示HBase當前用戶,例如: hbase> whoami
3) list : 顯示當前所有的表
4) count: 統計指定表的記錄數,例如: hbase> count 'user'
5) describe : 展示表結構信息
6) exists: 檢查表是否存在,適用于表量特別多的情況
7) is_enabled、is_disabled: 檢查表是否啟用或禁用
8) alter : 該命令可以改變表和列族的模式, 例如: 為當前表增加列族: hbase> alter 'user', NAME => 'CF2', VERSIONS => 2 為當前表刪除列族: hbase(main):002:0> alter 'user', 'delete' => 'CF2'
9) disable/enable : 禁用一張表/啟用一張表
10) drop : 刪除一張表,記得在刪除表之前必須先禁用
11) truncate : 禁用表-刪除表-創建表
- 📢博客主頁:https://lansonli.blog.csdn.net
- 📢歡迎點贊 👍 收藏 ?留言 📝 如有錯誤敬請指正!
- 📢本文由 Lansonli 原創,首發于 CSDN博客🙉
- 📢大數據系列文章會每天更新,停下休息的時候不要忘了別人還在奔跑,希望大家抓緊時間學習,全力奔赴更美好的生活?
總結
以上是生活随笔為你收集整理的2021年大数据HBase(四):HBase的相关操作-客户端命令式!【建议收藏】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021年大数据HBase(三):HBa
- 下一篇: 2021年大数据HBase(五):HBa