HBase常用命令(超全超详细)
生活随笔
收集整理的這篇文章主要介紹了
HBase常用命令(超全超详细)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
目錄
- 一、基本命令
- 1.1獲取幫助
- 1.2查看服務(wù)器狀態(tài)
- 1.3查看版本信息
- 二、表操作
- 2.1創(chuàng)建表
- 2.2刪除表
- 2.3修改表名
- 2.4查看所有的表
- 2.5查看表的基本信息
- 2.6檢查表是否存在
- 2.7表的啟用和禁用
- 三、增刪改
- 3.1添加列簇
- 3.2刪除列簇
- 3.3更改列簇存儲(chǔ)版本的限制
- 3.4插入數(shù)據(jù)
- 3.5獲取指定行、指定行中的列族、列的信息
- 3.6刪除指定行、指定行中的列
- 四、查詢
- 4.1get查詢
- 4.2scan查詢
- 五、用戶權(quán)限
- 六、批量導(dǎo)入文件
- 七、命令空間
- 7.1 創(chuàng)建命名空間
- 7.2 查看命名空間
- 7.3 命名空間下建表
- 7.4 查看命名空間下的表
一、基本命令
打開(kāi)Hbase Shell:
hbase shell1.1獲取幫助
#獲取幫助 help #獲取命令的詳細(xì)信息 help 'status'1.2查看服務(wù)器狀態(tài)
status1.3查看版本信息
version二、表操作
2.1創(chuàng)建表
命令格式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更改列簇存儲(chǔ)版本的限制
默認(rèn)情況下列族只存儲(chǔ)一個(gè)版本的數(shù)據(jù),如果需要存儲(chǔ)多個(gè)版本的數(shù)據(jù),則需要修改列族的屬性。修改后可通過(guò) desc 命令查看。
alter 'student',{NAME=>'baseinfo',VERSIONS=>3}3.4插入數(shù)據(jù)
命令格式:put ‘表名’,‘行鍵’,‘列簇名:列名’,‘值’[,時(shí)間戳]
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獲取指定行、指定行中的列族、列的信息
# 獲取指定行中所有列的數(shù)據(jù)信息 get 'student','3' # 獲取指定行中指定列族下所有列的數(shù)據(jù)信息 get 'student','3','baseInfo' # 獲取指定行中指定列的數(shù)據(jù)信息 get 'student','3','baseinfo:name'3.6刪除指定行、指定行中的列
# 刪除指定行 delete 'student','3' # 刪除指定行中指定列的數(shù)據(jù) delete 'student','3','baseinfo:name'四、查詢
hbase 中訪問(wèn)數(shù)據(jù)有兩種基本的方式:
- 按指定 rowkey 獲取數(shù)據(jù):get 方法;
- 按指定條件獲取數(shù)據(jù):scan 方法。
scan 可以設(shè)置 begin 和 end 參數(shù)來(lái)訪問(wèn)一個(gè)范圍內(nèi)所有的數(shù)據(jù)。get 本質(zhì)上就是 begin 和 end 相等的一種特殊的 scan。
4.1get查詢
# 獲取指定行中所有列的數(shù)據(jù)信息 get 'student','3' # 獲取指定行中指定列族下所有列的數(shù)據(jù)信息 get 'student','3','baseinfo' # 獲取指定行中指定列的數(shù)據(jù)信息 get 'student','3','baseinfo:name'4.2scan查詢
#查詢整表數(shù)據(jù) scan 'student' #查詢指定列簇的數(shù)據(jù) scan 'student', {COLUMN=>'baseinfo'} # 查詢指定列的數(shù)據(jù) scan 'student', {COLUMNS=> 'baseinfo:birthday'} # 查看指定列兩個(gè)版本的數(shù)據(jù)(3.3中我們?cè)O(shè)置了3個(gè)版本) scan 'student', {COLUMNS=> 'baseinfo:birthday',VERSIONS=>2} # 查看前3條數(shù)據(jù) scan 'student',{LIMIT=>3}五、用戶權(quán)限
user_permission ['表名'..] grant '用戶名' ,'RWXCA'設(shè)置用戶權(quán)限需要配置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>六、批量導(dǎo)入文件
1、建表:表名為emp_basic
create 'emp_basic',{NAME=>'emp'},{NAME=>'time'}2、上傳文件到hdfs
hdfs dfs -put emp_basic.csv /test3、將文檔數(shù)據(jù)導(dǎo)入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 創(chuàng)建命名空間
create_namespace 'events_db'7.2 查看命名空間
list_namespace7.3 命名空間下建表
create 'events_db:user_friend','uf'7.4 查看命名空間下的表
list_namespace_tables 'events_db'總結(jié)
以上是生活随笔為你收集整理的HBase常用命令(超全超详细)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: RDkit:介绍smiles编码,sma
- 下一篇: 如何在远程会议的时候静音吃薯片?微软团队