hbase shell
hbase中沒有database的概念,這裡的namespace命名空間指對一組表的邏輯分組,類似rdbms中的database;
hbase系統預設定義了兩個預設的namespace
hbase:系統內建表,包括namespace和meta表
default:使用者建表時未指定namespace的表都建立在此
1、建立namespace
hbase>create_namespace 'test_ns'
2、列出所有namespace
hbase>list_namespace
3、檢視namespace
hbase>describe_namespace 'test_ns'
4、在namespace下建立表
hbase>create 'test_ns:testtable', 'fm1'
5、檢視namespace下的表
hbase>list_namespace_tables 'test_ns'
6、刪除namespace ----必須空的namespace才能刪除 要刪除掉裡面的表
hbase>disable 'test_ns:testtable'
hbase>drop 'test_ns:testtable'
hbase>drop_namespace 'test_ns'
1、建立表
hbase>create 't_demo_tbl','f1','f2','f3' #-------t_demo_tbl是表名,f1,f2,f3是列族名
2、檢視表的結構:
hbase>describe 't_demo_tbl'
3、禁用,啟用表
hbase>disable 't_demo_tbl'
hbase>enable 't_demo_tbl'
4、檢視表結構是否啟用【允許修改】 因為啟用的表不允許修改:
hbase>is_enabled 't_demo_tbl'
5、增加乙個列族:
hbase>disable 't_demo_tbl'
hbase>alter 't_demo_tbl', name=>'f1', versions=>3
hbase>enable 't_demo_tbl'
6、刪除某個列族:
hbase>disable 't_demo_tbl'
hbase>alter 't_demo_tbl', name=>'f1', method=>'delete' #--------注意大小寫(簡寫:alter 't_demo_tbl', 'delete'=>'f1')
hbase>enable 't_demo_tbl'
7、檢視所有的表
hbase>list
8、檢視某一表是否存在:
hbase>exists 't_demo_tbl'
9、清空表:
hbase>truncate 't_demo_tbl'
10、刪除某張表:
hbase>disable 't_demo_tbl'
hbase>drop 't_demo_tbl'
1、向表中插入資料:
hbase>put 't_demo_tbl', 'r1', 'f1:c1', 'value' #--------列族的列可以不存在,修改資料也是put,只需行健[rowkey]和列相同即可
2、刪除某行資料的列[值]:
hbase>delete 't_demo_tbl', 'r1', 'c1', 'ts1' #--------刪除t_demo_tbl表,行健為r1的c1列中,時間戳為ts1的值,如果不指定ts1就刪除所有列值[預設保持三個版本]
3、刪除某行資料:
hbase>deleteall 't_demo_tbl', 'r1'
4、獲取某個行健的所有列族的列值:
hbase>get 't_demo_tbl', 'r1'
5、獲取某個行健的所有某個列族的列值:
hbase>get 't_demo_tbl', 'r1','f1'
6、獲取某個行健的某兩個列族的列值:
hbase>get 't_demo_tbl', 'r1','f1','f2'
7、獲取某個行健的某個列族的某個列值:
hbase>get 't_demo_tbl', 'r1', 'f1:c1'
8、獲取某個表的所有行健值:
hbase>scan 't_demo_tbl'
9、獲取某個表的前3行:
hbase>scan 't_demo_tbl',
10、獲取某個表的從指定位置開始的行:
hbase>scan 't_demo_tbl',
11、獲取某個表的指定列的所有行資料:
hbase>scan 'heroes',
12、統計表的行數:
hbase>count 't_demo_tbl'
1、可以直接將語句寫入檔案test.hbaseshell,然後執行檔案:
hbase>hbase shell test.hbaseshell
apache hbase從0.98.0, 0.95.2兩個版本開始支援namespace級別的授權操作
包括以下5種許可權,
read(r) 允許讀取許可權
write(w) 允許寫入許可權
execute(x) 允許執行許可權
create(c) 允許建表、刪表許可權
admin(a) 允許管理操作,如balance、split、snapshot等
1、給 user_1 使用者授權全域性的ca grant , [, <@namespace> [, [, [, ]]]
hbase>grant 'user_1','ca'
2、**user_1使用者全域性的ca revoke [, <@namespace> [, [, [, ]]]]
hbase>revoke 'user_1','ca'
3、給user_1使用者namespace許可權
hbase>grant 'user_1','rwxca','@t_ns'
4、給user_1使用者table許可權
hbase>grant 'user_1','rwxca','table_a'
5、檢視所有使用者許可權
hbase>user_permission
6、檢視某個表的許可權
hbase>user_permission 'table_a'
7、檢視某個namespace的許可權
hbase>user_permission '@t_ns'
8、在hbase中啟用授權機制
hbase-site.xml
hbase.security.authorization
true
hbase.coprocessor.region.classes
org.apache.hadoop.hbase.security.access.accesscontroller, org.apache.hadoop.hbase.security.token.tokenprovider
hbase.coprocessor.master.classes
org.apache.hadoop.hbase.security.access.accesscontroller
配置完成後需要重啟hbase集群
Hbase shell基本操作
注意 1 無論是表名或者列名,都需要新增引號 2.關鍵字大寫,如column,versions,timestamp等 1.建立表 語法 create 表名稱 列族名稱1 列族名稱1 create users userid address info 列出全部表 list 得到表的描述 describe...
hbase shell 常用操作
環境 centos 6.5,hadoop 1.1.2,zookeeper 3.4.4,hbase 0.94.7 security,jdk 1.7 一 進入shell 執行命令 bin hbase shell 二 shell操作命令 鍵入help,檢視所有操作命令 command groups gro...
Hbase Shell基本操作
hbase shell基本操作 環境和說明 軟硬體環境 centos7 64位 jdk1.8 hadoop2.7.4 hbase1.3.1 前置實驗hbase偽分布式環境搭建 一 操作準備 1 啟動hadoop,啟動hbase 2 啟動hbase shell 3 檢視hbase服務狀態 status...