相关疑难解决方法(0)

HBase(简单):如何在hbase shell中执行范围前缀扫描

我正在设计一个在hbase上运行的应用程序,并希望以交互方式浏览我的集群的内容.我在hbase shell中,我想要以字符"abc"开头扫描所有键.这样的键可能包括"abc4","abc92","abc20014"等......我试过扫描

hbase(main):003:0> scan 'mytable', {STARTROW => 'abc', ENDROW => 'abc'}
Run Code Online (Sandbox Code Playgroud)

但这似乎没有返回任何东西,因为从技术上讲没有rowkey"abc"只有以"abc"开头的rowkeys

我想要的是类似的东西

hbase(main):003:0> scan 'mytable', {STARTSROWPREFIX => 'abc', ENDROWPREFIX => 'abc'}
Run Code Online (Sandbox Code Playgroud)

我听说HBase能够迅速做到这一点,并且是其主要卖点之一.我如何在hbase shell中执行此操作?

hbase database-scan

30
推荐指数
3
解决办法
7万
查看次数

我应该在HBase中使用prefixfilter或rowkey范围扫描

如果我使用prefixfilter进行查询,我不知道为什么它会很慢.有人可以解释一下查询HBase的最佳方法,谢谢.

hbase(main):002:0> scan 'userlib',{FILTER=>org.apache.hadoop.hbase.filter.PrefixFilter.new(org.apache.hadoop.hbase.util.Bytes.toBytes('0000115831F8'))}
ROW               COLUMN+CELL                                                                                                                                
0000115831F8001   column=track:aid, timestamp=1339121507633, value=aaa                                                                                       
1 row(s) in 41.0700 seconds

hbase(main):002:0> scan 'userlib',{STARTROW=>'0000115831F8',ENDROW=>'0000115831F9'}                                                                                        
ROW               COLUMN+CELL                                                                                                                                
0000115831F8001   column=track:aid, timestamp=1339121507633, value=aaa                                                                                       
1 row(s) in 0.1100 seconds
Run Code Online (Sandbox Code Playgroud)

performance hbase filter database-scan

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

database-scan ×2

hbase ×2

filter ×1

performance ×1