HBase常用命令(超全超详细)
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                HBase常用命令(超全超详细)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                目錄
- 一、基本命令
- 1.1獲取幫助
- 1.2查看服務器狀態
- 1.3查看版本信息
 
- 二、表操作
- 2.1創建表
- 2.2刪除表
- 2.3修改表名
- 2.4查看所有的表
- 2.5查看表的基本信息
- 2.6檢查表是否存在
- 2.7表的啟用和禁用
 
- 三、增刪改
- 3.1添加列簇
- 3.2刪除列簇
- 3.3更改列簇存儲版本的限制
- 3.4插入數據
- 3.5獲取指定行、指定行中的列族、列的信息
- 3.6刪除指定行、指定行中的列
 
- 四、查詢
- 4.1get查詢
- 4.2scan查詢
 
- 五、用戶權限
- 六、批量導入文件
- 七、命令空間
- 7.1 創建命名空間
- 7.2 查看命名空間
- 7.3 命名空間下建表
- 7.4 查看命名空間下的表
 
一、基本命令
打開Hbase Shell:
hbase shell1.1獲取幫助
#獲取幫助 help #獲取命令的詳細信息 help 'status'1.2查看服務器狀態
status1.3查看版本信息
version二、表操作
2.1創建表
命令格式1:create ‘表名’,‘列簇名1’,‘列簇名2’…
 命名格式2:create ‘表名’,{NAME=>‘列簇名1’},{NAME=>‘列簇名2’}…
2.2刪除表
#刪除表前需要先禁用表 disable 'student' #刪除表 drop 'student'2.3修改表名
命令格式:
 snapshot '表名’,‘鏡像名’
 clone_snapshot ‘鏡像名’,‘新表名’
 delect_snapshot ‘鏡像名’
注:可以將原表刪除,刪除命令參照2.2刪除表
2.4查看所有的表
list2.5查看表的基本信息
命令格式:desc ‘表名’
desc 'Student'2.6檢查表是否存在
exists 'student'2.7表的啟用和禁用
#禁用表 disable 'student' #檢查表是否被禁用 is_disabled 'student' #啟用表 enable 'student' #檢查表是否被啟用 is_enabled 'student'三、增刪改
3.1添加列簇
命令格式:alter ‘表名’,‘列簇名’
alter 'student','teacherinfo'3.2刪除列簇
命令格式:alter ‘表名’,{NAME=>‘列簇名’,METHOD=‘delete’}
alter 'student', {NAME => 'teacherinfo', METHOD => 'delete'}3.3更改列簇存儲版本的限制
默認情況下列族只存儲一個版本的數據,如果需要存儲多個版本的數據,則需要修改列族的屬性。修改后可通過 desc 命令查看。
alter 'student',{NAME=>'baseinfo',VERSIONS=>3}3.4插入數據
命令格式:put ‘表名’,‘行鍵’,‘列簇名:列名’,‘值’[,時間戳]
put 'student', '1','baseinfo:name','tom' put 'student', '1','baseinfo:birthday','1990-01-09' put 'student', '1','baseinfo:age','29' put 'student', '1','schoolinfo:name','Havard' put 'student', '1','schoolinfo:localtion','Boston'put 'student', '2','baseinfo:name','jack' put 'student', '2','baseinfo:birthday','1998-08-22' put 'student', '2','baseinfo:age','21' put 'student', '2','schoolinfo:name','yale' put 'student', '2','schoolinfo:localtion','New Haven'put 'student', '3','baseinfo:name','maike' put 'student', '3','baseinfo:birthday','1995-01-22' put 'student', '3','baseinfo:age','24' put 'student', '3','schoolinfo:name','yale' put 'student', '3','schoolinfo:localtion','New Haven'put 'student', '4','baseinfo:name','maike-jack'3.5獲取指定行、指定行中的列族、列的信息
# 獲取指定行中所有列的數據信息 get 'student','3' # 獲取指定行中指定列族下所有列的數據信息 get 'student','3','baseInfo' # 獲取指定行中指定列的數據信息 get 'student','3','baseinfo:name'3.6刪除指定行、指定行中的列
# 刪除指定行 delete 'student','3' # 刪除指定行中指定列的數據 delete 'student','3','baseinfo:name'四、查詢
hbase 中訪問數據有兩種基本的方式:
- 按指定 rowkey 獲取數據:get 方法;
- 按指定條件獲取數據:scan 方法。
 scan 可以設置 begin 和 end 參數來訪問一個范圍內所有的數據。get 本質上就是 begin 和 end 相等的一種特殊的 scan。
4.1get查詢
# 獲取指定行中所有列的數據信息 get 'student','3' # 獲取指定行中指定列族下所有列的數據信息 get 'student','3','baseinfo' # 獲取指定行中指定列的數據信息 get 'student','3','baseinfo:name'4.2scan查詢
#查詢整表數據 scan 'student' #查詢指定列簇的數據 scan 'student', {COLUMN=>'baseinfo'} # 查詢指定列的數據 scan 'student', {COLUMNS=> 'baseinfo:birthday'} # 查看指定列兩個版本的數據(3.3中我們設置了3個版本) scan 'student', {COLUMNS=> 'baseinfo:birthday',VERSIONS=>2} # 查看前3條數據 scan 'student',{LIMIT=>3}五、用戶權限
user_permission ['表名'..] grant '用戶名' ,'RWXCA'設置用戶權限需要配置hbase-site.xml
<property><name>hbase.security.authorization</name><value>true</value> </property> <property><name>hbase.coprocessor.master.classes</name><value>org.apache.hadoop.hbase.security.access.AccessController</value> </property> <property><name>hbase.coprocessor.region.classes</name><value>org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.AccessController</value> </property> <property><name>hbase.superuser</name><value>hadoop</value> </property>六、批量導入文件
1、建表:表名為emp_basic
create 'emp_basic',{NAME=>'emp'},{NAME=>'time'}2、上傳文件到hdfs
hdfs dfs -put emp_basic.csv /test3、將文檔數據導入HBase
hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator="," -Dimporttsv.columns="HBASE_ROW_KEY,emp:name,emp:job_title,emp:company,time:sDate,time:eDate" "emp_basic" /test/emp_basic.csv七、命令空間
7.1 創建命名空間
create_namespace 'events_db'7.2 查看命名空間
list_namespace7.3 命名空間下建表
create 'events_db:user_friend','uf'7.4 查看命名空間下的表
list_namespace_tables 'events_db'總結
以上是生活随笔為你收集整理的HBase常用命令(超全超详细)的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: RDkit:介绍smiles编码,sma
- 下一篇: 如何在远程会议的时候静音吃薯片?微软团队
