HBase (Einfach): Wie Bereichs -, Präfix-Scan in der hbase-shell
Ich bin der Gestaltung einer app für die Ausführung auf hbase und wollen interaktiv erkunden Sie die Inhalte von meinem cluster. Ich bin in der hbase-shell und ich will einen scan durchführen, um alle Schlüssel, beginnend mit dem Zeichen "abc". Ein solcher Schlüssel könnte inlcude "abc4", "abc92", "abc20014" usw... ich habe versucht, einen scan
hbase(main):003:0> scan 'mytable', {STARTROW => 'abc', ENDROW => 'abc'}
Aber dieses scheint nicht, etwas zurückzugeben, da gibt es technisch keine rowkey "abc" nur rowkeys beginnend mit "abc"
Was ich will, ist so etwas wie
hbase(main):003:0> scan 'mytable', {STARTSROWPREFIX => 'abc', ENDROWPREFIX => 'abc'}
Ich höre, HBase, kann dies schnell zu tun, und ist eines seiner wichtigsten Verkaufsargumente. Wie mache ich das in der hbase-shell?
InformationsquelleAutor der Frage David Williams | 2013-07-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Also es stellt sich heraus, um sehr einfach sein. Die scan-Bereiche sind nicht inklusive, die Logik ist die start <= key < Ende. Die Antwort ist also
InformationsquelleAutor der Antwort David Williams
In den letzten Versionen von HBase können Sie jetzt in die hbase-shell:
Dieser effektiv ist (und auch funktioniert für binäre Situationen)
Diese Methode ist VIEL effizienter als die "PrefixFilter" Ansatz, da die letztere stellt alle Aufzeichnungen durch den Vergleich der code ist in diesem PrefixFilter Klasse.
InformationsquelleAutor der Antwort Niels Basjes
Akzeptierten Lösung funktioniert nicht in allen Fällen (Binär-Tasten). Darüber hinaus, mit einem PrefixFilter kann langsam sein, weil es führt einen table scan, bis er das Präfix. Eine weitere performante Lösung ist die Verwendung eines STARTROW und ein FILTER, zum Beispiel so:
InformationsquelleAutor der Antwort Ben English
Ich denke, dass das, was Sie brauchen, ist ein filter
Kasse die Antwort für folgende Frage
Scannen mit filter die Verwendung von HBase shell
mehr Filter sind aufgelistet in http://hbase.apache.org/book/client.filter.html
InformationsquelleAutor der Antwort Mehul Rathod