2015-05-09 71 views
0

我几天前已经安装Hadoop 2.5上的Hbase 1.0.1我的问题是Get命令不能返回任何行。 我尝试了不同的表格,通过外壳或API ...没有任何东西Hbase GET命令不断返回0行

如果您对此有任何想法,请与我分享。

hbase(main):020:0> get 'teste', 'camp:name' 
COLUMN     CELL                
0 row(s) in 0.0930 seconds 

hbase(main):021:0> scan 'teste' 
ROW      COLUMN+CELL               
1      column=camp:nume, timestamp=1431128619811, value=David    
1 row(s) in 0.1720 seconds 
+0

是一个错字 - 名字和数字吗? –

+0

nume(是专栏名称)应该是(取而代之的名字......但在凌晨3点....不高亮:) –

回答

1

这是因为你错过了行键,它认为你得到'camp:nume'行不存在。

使用此功能可以从第1行获得所有列:从第1行列:

hbase(main):020:0> get 'teste', '1' 

使用该工具来获取 'nume阵营':

hbase(main):020:0> get 'teste', '1', 'camp:nume' 

仅供参考,在HBase的壳你可以运行一个没有参数的简单命令来查看帮助:

hbase(main):005:0> get 

ERROR: wrong number of arguments (0 for 2) 

Here is some help for this command: 
Get row or cell contents; pass table name, row, and optionally 
a dictionary of column(s), timestamp, timerange and versions. Examples: 

    hbase> get 't1', 'r1' 
    hbase> get 't1', 'r1', {TIMERANGE => [ts1, ts2]} 
    hbase> get 't1', 'r1', {COLUMN => 'c1'} 
    hbase> get 't1', 'r1', {COLUMN => ['c1', 'c2', 'c3']} 
    hbase> get 't1', 'r1', {COLUMN => 'c1', TIMESTAMP => ts1} 
    hbase> get 't1', 'r1', {COLUMN => 'c1', TIMERANGE => [ts1, ts2], VERSIONS => 4} 
    hbase> get 't1', 'r1', {COLUMN => 'c1', TIMESTAMP => ts1, VERSIONS => 4} 
    hbase> get 't1', 'r1', 'c1' 
    hbase> get 't1', 'r1', 'c1', 'c2' 
    hbase> get 't1', 'r1', ['c1', 'c2'] 

The same commands also can be run on a reference to a table (obtained via get_table or 
create_table). Suppose you had a reference t to table 't1', the corresponding commands would be: 

    hbase> t.get 'r1' 
    hbase> t.get 'r1', {TIMERANGE => [ts1, ts2]} 
    hbase> t.get 'r1', {COLUMN => 'c1'} 
    hbase> t.get 'r1', {COLUMN => ['c1', 'c2', 'c3']} 
    hbase> t.get 'r1', {COLUMN => 'c1', TIMESTAMP => ts1} 
    hbase> t.get 'r1', {COLUMN => 'c1', TIMERANGE => [ts1, ts2], VERSIONS => 4} 
    hbase> t.get 'r1', {COLUMN => 'c1', TIMESTAMP => ts1, VERSIONS => 4} 
    hbase> t.get 'r1', 'c1' 
    hbase> t.get 'r1', 'c1', 'c2' 
    hbase> t.get 'r1', ['c1', 'c2']