查询、行-hbase Shell之简单命令说明-by小雨

文章结束给大家来个程序员笑话:[M]

    [hadoop@master hbase]$ bin/hbase shell

    进入shell

    

    hbase(main):001:0> help

    ******(Shell命令说明)

    

    hbase(main):002:0> status

    1 servers, 0 dead, 4.0000 average load (服务器,dead,负荷)

    

    hbase(main):003:0> version

    0.94.2, r1395367, Sun Oct  7 19:11:01 UTC 2012 (版本)

    

    hbase(main):001:0> create 'member','member_id','address','info'

    0 row(s) in 5.3700 seconds (建创表,功成)

    

    hbase(main):002:0> list
TABLE                                                                                          
htest                                                                                          
member                                                                                         
user                                                                                           
3 row(s) in 0.3400 seconds (查看TABLE信息)

    

    hbase(main):003:0> describe 'member'
DESCRIPTION                                                   ENABLED                          
 {NAME => 'member', FAMILIES => [{NAME => 'address', DATA_BLO true                             
 CK_ENCODING => 'NONE', BLOOMFILTER => 'NONE', REPLICATION_SC                                  
 OPE => '0', VERSIONS => '3', COMPRESSION => 'NONE', MIN_VERS                                  
 IONS => '0', TTL => '2147483647', KEEP_DELETED_CELLS => 'fal                                  
 se', BLOCKSIZE => '65536', IN_MEMORY => 'false', ENCODE_ON_D                                  
 ISK => 'true', BLOCKCACHE => 'true'}, {NAME => 'info', DATA_                                  
 BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'NONE', REPLICATION                                  
 _SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE', MIN_V                                  
 ERSIONS => '0', TTL => '2147483647', KEEP_DELETED_CELLS => '                                  
 false', BLOCKSIZE => '65536', IN_MEMORY => 'false', ENCODE_O                                  
 N_DISK => 'true', BLOCKCACHE => 'true'}, {NAME => 'member_id                                  
 ', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'NONE', REP                                  
 LICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE                                  
 ', MIN_VERSIONS => '0', TTL => '2147483647', KEEP_DELETED_CE                                  
 LLS => 'false', BLOCKSIZE => '65536', IN_MEMORY => 'false',                                   
 ENCODE_ON_DISK => 'true', BLOCKCACHE => 'true'}]}                                             
1 row(s) in 0.0340 seconds   (查看表)

    

    hbase(main):002:0> alter 'member',{NAME=>'member_id',METHOD=>'delete'}
ERROR: org.apache.hadoop.hbase.TableNotDisabledException: org.apache.hadoop.hbase.TableNotDisabledException: member

    (弗成直接改修,必须先把表离线,然后改修)

    

    hbase(main):003:0> disable 'member'
0 row(s) in 2.2260 seconds (disable表,先设为弗成用)

    hbase(main):004:0> alter 'member',{NAME=>'member_id',METHOD=>'delete'}

    Updating all regions with the new schema...

    1/1 regions updated.

    Done.

    0 row(s) in 2.5010 seconds  (改修功成)

    

    hbase(main):005:0> enable 'member'
0 row(s) in 2.2380 seconds   (然后动启表)

    

    hbase(main):009:0> disable 'member'
0 row(s) in 2.1470 seconds  (删除表也须要先把表设为弗成用)

    

    hbase(main):010:0> drop 'member'
0 row(s) in 1.3690 seconds  (删除功成)

    

    hbase(main):011:0> exists 'member'
Table member does not exist                                                                    
0 row(s) in 0.1170 seconds   (查看是不是存在表)

    

    hbase(main):015:0> is_enabled 'member'
true                                                                                           
0 row(s) in 0.0030 seconds   (查看表是不是可用)

    

    hbase(main):016:0> is_disabled 'member'
false                                                                                          
0 row(s) in 0.0040 seconds  (查看表是不是弗成用)

    

    (插入记载)

    hbase(main):017:0> put 'member','scutshuxue','info:age','24'

    hbase(main):018:0> put 'member','scutshuxue','info:birthday','1987-06-17'

    hbase(main):020:0> put 'member','scutshuxue','info:company','alibaba'

    hbase(main):025:0> put 'member','scutshuxue','address:province','zhejiang'

hbase(main):026:0> put 'member','scutshuxue','address:city','hangzhou'

hbase(main):027:0> put 'member','xiaofeng','info:birthday','1987-4-17'

hbase(main):028:0> put 'member','xiaofeng','info:company','alibaba'

hbase(main):029:0> put 'member','xiaofeng','address:contry','china'

hbase(main):030:0> put 'member','xiaofeng','address:province','guangdong'

hbase(main):031:0> put 'member','xiaofeng','address:city','jieyang'

hbase(main):032:0> put 'member','xiaofeng','address:town','xianqiao'

    

    (查询记载:行键查询)

    hbase(main):001:0> get 'member','scutshuxue'
COLUMN                   CELL                                                                  
 address:city            timestamp=1365791240949, value=hangzhou                               
 address:province        timestamp=1365791217245, value=zhejiang                               
 info:age                timestamp=1365790872766, value=24                                     
 info:birthday           timestamp=1365790910608, value=1987-06-17                             
 info:company            timestamp=1365790948776, value=alibaba                                
5 row(s) in 2.8340 seconds

    

    (查询记载:行键、一个列簇的有所信息)

    hbase(main):002:0> get 'member','scutshuxue','info'
COLUMN                   CELL                                                                  
 info:age                timestamp=1365790872766, value=24                                     
 info:birthday           timestamp=1365790910608, value=1987-06-17                             
 info:company            timestamp=1365790948776, value=alibaba                                
3 row(s) in 0.0220 seconds

    

    (查询记载:行键、列簇的某列信息)

    hbase(main):003:0> get 'member','scutshuxue','info:age'
COLUMN                   CELL                                                                  
 info:age                timestamp=1365790872766, value=24                                     
1 row(s) in 0.0130 seconds

    

    (新更一条记载)

    hbase(main):004:0> put 'member','scutshuxue','info:age','99'
0 row(s) in 0.0940 seconds

hbase(main):005:0> get'member','scutshuxue','info:age'
COLUMN                   CELL                                                                  
 info:age                timestamp=1365792994491, value=99                                     
1 row(s) in 0.0170 seconds

    

    (通过时间戳查询记载)

    hbase(main):008:0> get'member','scutshuxue',{COLUMN=>'info:age',TIMESTAMP=>1365792994491}
COLUMN                   CELL                                                                  
 info:age                timestamp=1365792994491, value=99                                     
1 row(s) in 0.0110 seconds

    

    (全表扫描)

    hbase(main):009:0> scan 'member'
ROW                      COLUMN+CELL                                                           
 scutshuxue              column=address:city, timestamp=1365791240949, value=hangzhou          
 scutshuxue              column=address:province, timestamp=1365791217245, value=zhejiang      
 scutshuxue              column=info:age, timestamp=1365792994491, value=99                    
 scutshuxue              column=info:birthday, timestamp=1365790910608, value=1987-06-17       
 scutshuxue              column=info:company, timestamp=1365790948776, value=alibaba           
 xiaofeng                column=address:city, timestamp=1365791360361, value=jieyang           
 xiaofeng                column=address:contry, timestamp=1365791327027, value=china           
 xiaofeng                column=address:province, timestamp=1365791339666, value=guangdong     
 xiaofeng                column=address:town, timestamp=1365791380287, value=xianqiao          
 xiaofeng                column=info:birthday, timestamp=1365791274037, value=1987-4-17        
 xiaofeng                column=info:company, timestamp=1365791292933, value=alibaba           
2 row(s) in 0.1540 seconds

    

    (删除定制行键的段字)
hbase(main):010:0> delete 'member','temp','info:age'
0 row(s) in 0.0500 seconds

hbase(main):011:0> get'member','temp'
COLUMN                   CELL                                                                  
0 row(s) in 0.0050 seconds

    

    (删除整行)

    hbase(main):013:0> deleteall'member','xiaofeng'
0 row(s) in 0.0070 seconds

    

    (查询行)

    hbase(main):014:0> count'member'
1 row(s) in 0.0670 seconds

    

    (空清表)

    hbase(main):015:0> truncate'member'
Truncating 'member' table (it may take a while):
 - Disabling table...
 - Dropping table...
 - Creating table...
0 row(s) in 3.8280 seconds

    

    Hbase API

    《Hbase威望指南》第3-5章

    http://hbase.apache.org/apidocs/index.html

文章结束给大家分享下程序员的一些笑话语录: 一个合格的程序员是不会写出 诸如 “摧毁地球” 这样的程序的,他们会写一个函数叫 “摧毁行星”而把地球当一个参数传进去。

### 回答1: hbase-shell命令HBase提供的一个交互式命令工具,用于管理HBase数据库。通过hbase-shell命令,可以执各种操作,如创建表、插入数据、查询数据、删除数据等。同时,hbase-shell还支持HBase的各种高级功能,如过滤器、计数器等。使用hbase-shell命令可以方便地管理HBase数据库,提高工作效率。 ### 回答2: HBase是一个高性能、分布式的NoSQL数据库,它的存储结构是基于列族的,并且可以处理非常海量的数据。HBase中内置了一个HBase Shell命令工具,它可以用来快速操作HBase数据库。以下是一些常用的HBase Shell命令。 1. 查看帮助信息 使用help命令可以查看HBase Shell的帮助信息,可以使用help <command>查看某个具体命令的帮助信息。 2. 连接HBase数据库 使用connect命令可以连接到HBase数据库,例如:connect 'localhost'。 3. 列出表 使用list命令可以列出所有表,例如:list。 4. 创建表 使用create命令可以创建表,例如:create 'table_name', 'family1', 'family2'。 5. 查看表结构 使用describe命令可以查看表结构,例如:describe 'table_name'。 6. 删除表 使用drop命令可以删除表,例如:disable 'table_name',然后使用drop 'table_name'。 7. 插入数据 使用put命令可以插入数据,例如:put 'table_name', 'row_key', 'family1:column1', 'value1'。 8. 获取数据 使用get命令可以获取数据,例如:get 'table_name', 'row_key'。 9. 删除数据 使用delete命令可以删除数据,例如:delete 'table_name', 'row_key', 'family1:column1'。 10. 批量操作 使用批量操作命令,可以批量插入、获取、删除数据,例如:batch 'table_name', [ { 'delete' => 'row_key', 'column' => 'family:column' }, { 'put' => 'row_key', 'column' => 'family:column', 'value' => 'value' }, { 'get' => 'row_key' } ] 以上是一些常用的HBase Shell命令,可以帮助用户快速操作HBase数据库。在实际使用过程中,还可以结合编程语言(如Java)使用HBase客户端API来操作HBase数据库。 ### 回答3: HBase-shell命令是Apache HBase数据库的交互式命令界面,使用它可以进HBase数据库的数据查询、插入和更新等操作。该命令支持的操作包括表的管理、数据的 CRUD 操作、Scan、Filter 等。 一、表管理: 通过hbase shell,可以将HBase的表进管理操作。首先创建一个新表的话,需要为其指定表名,列簇和列。创建表时,列簇和列是必须参数,不能缺少。 1、 创建表 hbase(main):001:0> create 'testtable', 'colfamily' 输出: 0 row(s) in 1.5540 seconds 2、 删除表 hbase(main):001:0> drop '[table name]' 3、 关闭表 hbase(main):002:0> disable '[table name]' 4、 启用表 hbase(main):003:0> enable '[table name]' 5、 列出所有表 hbase(main):004:0> list 输出: testtable 二、数据CRUD操作: 1、查询数据 hbase(main):001:0> get '[table name]', '[row key]' 2、 插入数据 hbase(main):002:0> put '[table name]', '[rowkey]', '[columnfamily:column]', '[value]' 3、 批量插入数据 hbase(main):003:0> put '[table name]', '[rowkey]', '[columnfamily:column]', '[value]', timestamp 4、 删除数据 hbase(main):004:0> delete '[table name]', '[row]', '[column]', '[value]', timestamp 5、 批量删除数据 hbase(main):005:0> deleteall '[table name]', '[row]', '[columnfamily]' 6、 查询指定行键范围的数据 hbase(main):006:0> scan 'testtable', {STARTROW => 'row1', ENDROW => 'row2'} 三、Scan操作: 在HBase表中,Scan操作被定义为基于的迭代器的集合。以下是一些常用的scan操作。 1、 扫描整个表 hbase(main):006:0> scan 'testtable' 2、 根据指定的列扫描整个表 hbase(main):007:0> scan 'testtable', {COLUMNS => ['colfamily', 'col']} 输出: row1 colfamily:col1 value1 row2 colfamily:col2 value2 row3 colfamily:col3 value3 3、 根据指定的扫描整个表 hbase(main):008:0> scan 'testtable', {ROWPREFIXFILTER => 'row1'} 输出: row1 colfamily:col1 value1 row1 colfamily:col2 value2 row1 colfamily:col3 value3 4、 根据指定的列和扫描整个表 hbase(main):009:0> scan 'testtable', {FILTER => "(PrefixFilter('row') AND (QualifierFilter (>=,‘binary:col:')))"} 输出: row1 colfamily:col1 value1 row1 colfamily:col2 value2 row1 colfamily:col3 value3 综上所述,HBase-shell命令是操作HBase数据库的一个重要工具,可用于管理表和进数据的读写删除等操作。尤其是对于非Java开发人员,HBase-shell命令简单操作可以减少学习和使用HBase的难度,提高工作效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值