Sollte ich prefixfilter oder rowkey-Bereich scan in HBase

Ich weiß nicht warum, es ist sehr langsam, wenn ich prefixfilter Abfragen. Kann mir jemand erklären, was ist der beste Weg, um Abfrage HBase, danke.

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
  • Das problem bei diesem Ansatz ist, dass wenn das Letzte Zeichen ist die maximale Byte-Wert, so können Sie nicht erhöhen Sie um 1. Wenn Sie 0 und dann Erhöhung um 1 die nächste byte-weisen Sie HBase, inklusive dieses Ende-Taste, die nicht das gewünschte Ergebnis
InformationsquelleAutor zhukunpeng | 2012-06-08
Schreibe einen Kommentar