說明
本博客每週五更新一次。 最近一次項目維護中,發現缺少 HBase 控制檯命令的博客歸檔,更新記錄一下,填補缺失。
分享
- 個人java工具庫 項目https://gitee.com/wangzonghui/object-tool
- 包含json、string、集合、excel、zip壓縮、pdf、bytes、http等多種工具,歡迎使用。
詳情
基礎操作
- 打開HBase控制檯:
hbase shell
- 退出:
exit
- 查看hbase版本:
version
- 幫助:
help
- 某個命令說明:
help '命令名'
- 某個命令說明:
命名空間
- 創建命名空間:
create_namespace '命名空間名稱'
- 刪除命名空間:
list_namespace '命名空間名稱'
- 查看所有命名空間:
list_namespace
表操作
- 列出所有表:
list
- 確認表是否存在:
exists '表名'
- 創建表:
create '空間:表名',{NAME='列族一'},{NAME='列族二'}
- 查看錶描述:
describe '空間:表名'
- 添加數據:
put '空間:表名','rowkey值','列族名:字段',值
- 修改數據:
put '空間:表名','rowkey值','列族名:字段',新值
- hbase接口中沒有直接修改,只能使用put覆蓋源數據
- 刪除整行數據:
deleteall '空間:表名','rowkey值'
- 刪除字段:
delete '空間:表名','rowkey值','列族:字段'
- 使表無效:
disable '空間:表名'
- 啓用表:
enable '空間:表名'
- 刪除表時不能直接刪除,先使表無效:
disable '空間:表名'
,再刪除:drop '空間:表名'
- 刪除列族:
- 使表無效:
disable '空間:表名'
- 驗證表是否無效:
is_enabled '空間:表名'
- 刪除列族:
alter '空間:表名',{NAME=>'列族',METHOD=>'delete'}
- 啓用表:
enable '空間:表名'
- 驗證表是否啓用:
is_enable '空間:表名'
- 使表無效:
查詢
- 查看錶數據:
scan '空間:表名'
- 查看錶前10條數據:
scan '空間:表名',{ LIMIT => 10}
- 查看錶前10條數據:
- 查看錶所有數據條數:
count '空間:表名'
- rowkey查詢:
get '空間:表名','rowkey值'
- rowkey查詢指定列族:
get '空間:表名','rowkey值','列族'
- rowkey查詢指定列族和字段:
get '空間:表名','rowkey值','列族:字段'
- rowkey查詢指定列族:
- 字段值相對查詢:
scan '空間:表名',FILTER=>"ValueFilter(=,'binary:列值')"
- 字段值包含查詢:
scan '空間:表名',FILTER=>"ValueFilter(=,'substring:列值')"
複雜查詢
- rowkey開始和結束範圍查詢:
scan '空間:表名',{STARTROW=>'開始rowkey',STOPROW=>'結束rowkey'}
- rowkey指定字符開頭:
scan '空間:表名',FILTER=>"PrefixFilter('開頭字符串rowkey')"
- 列族中指定字段名包含字符:
scan ''空間:表名'',{COLUMNS=>['列族名:'],FILTER=>"(QualifierFilter(=,'substring:字段名包含字符'))"}
總結
- 謹記技術只是工具,工具的價值除了自身質量,市場需求也很重要,提升技術同時增強綜合實力,放低姿態,好好學習,夯實個人社會價值,把握工作生活的平衡點。