Gibt es eine Möglichkeit zum Scannen einer HBase-Tabelle, zum Beispiel die ersten 100 Ergebnisse, dann später die nächsten 100 und so weiter ... Genau wie in SQL machen wir mit LIMIT und OFFSET ? Meine Zeilenschlüssel sind uuidHbase-Scan mit Offset
5
A
Antwort
3
Sie können es mehrere Möglichkeiten tun. Am einfachsten ist ein Seitenfilter. Unten ist der Code Beispiel aus HBase: The Definitive Guide, Seite 150.
private static final byte[] POSTFIX = new byte[] { 0x00 }; Filter filter = new PageFilter(15); int totalRows = 0; byte[] lastRow = null; while (true) { Scan scan = new Scan(); scan.setFilter(filter); if (lastRow != null) { byte[] startRow = Bytes.add(lastRow, POSTFIX); System.out.println("start row: " + Bytes.toStringBinary(startRow)); scan.setStartRow(startRow); } ResultScanner scanner = table.getScanner(scan); int localRows = 0; Result result; while ((result = scanner.next()) != null) { System.out.println(localRows++ + ": " + result); totalRows++; lastRow = result.getRow(); } scanner.close(); if (localRows == 0) break; } System.out.println("total rows: " + totalRows);
Oder Sie können für die Grenze Sie wollen auf den Fang Scan eingestellt und dann für jede in die letzte Zeile + 1 aus dem i.Vj. Scan die Startreihen ändern bekommen.
Verwandte Themen
- 1. PureLayout Center mit Offset
- 2. RecyclerView mit Start Offset
- 3. WordPress get_query_var() mit Offset?
- 4. FIND_IN_SET mit Limit-Offset
- 5. Ausgabe mit Offset-Funktion
- 6. Offset
- 7. django DateTimeField mit UTC-Offset?
- 8. CSS Hintergrund Farbverlauf mit Offset
- 9. window.getSelection() Offset mit HTML-Tags?
- 10. Zeiger auf Struktur mit Offset
- 11. Ruby gsub mit Index/Offset?
- 12. ActionMode mit Toolbar Offset Inhalt
- 13. Excel Offset mit wenn Formel
- 14. Wie man einen Offset zu und Offset
- 15. mit „Offset korrekt in Opencart mit VQMod
- 16. datepicker.iso8601Week offset
- 17. Left Offset eines Inline-Element mit jQuery
- 18. Cross-Browser-Problem mit Offset() jquery Funktion
- 19. Get Zeitzone Abkürzung mit Offset-Wert
- 20. Nested div Größe mit in Bootstrap-Offset
- 21. Oracle 11g holen Werte mit Offset-Wert
- 22. Rubin in Array finden mit Offset
- 23. Offset von Makro mit C++/CLI
- 24. Polyline-Offset mit geschlossenem Polygon und Inseln
- 25. Bestimmen Sie mit Offset nur bitmask
- 26. Draw2D Abbildung mit get Position bei Offset
- 27. ".resize" Ereignis funktioniert nicht mit "Offset" zusammen
- 28. Artikel mit android: layout_alignTop haben noch Offset
- 29. PySide QPainter.drawRect() mit QBrush Offset Ausgabe
- 30. Smooth Scrolling-Anker mit Offset (Jquery)
Ich sah es in hbase die endgültige.Es hat einen großen Overhead. – Mark
Ich bin nicht sicher über den großen Overhead hier. Dies ist das Gleiche wie beim Scannen mit einem Cache. Sie finden die Startzeile (einfach) und beginnen sie zu lesen, bis das Limit erreicht ist. Das einzige kleinere Problem wird im endgültigen Handbuch als "Filter auf verschiedenen Regionsservern parallel ausgeführt und kann ihren aktuellen Status über diese Grenzen hinweg nicht beibehalten oder kommunizieren. Daher muss jeder Filter mindestens bis zu pageCount-Zeilen scannen, bevor der Scan beendet wird. Dies bedeutet eine leichte Ineffizienz für den PageFilter, da dem Kunden mehr Zeilen gemeldet werden als nötig. " –
Hallo Arun, gibt es eine Möglichkeit, einen Benutzer die 'ith' Seite wählen zu lassen? Mit Ihrem Ansatz kann ich dem Benutzer erlauben, über die gesamte Ergebnismenge, 1 "Seite" zu einer Zeit, zu iterieren, aber ich bin nicht in der Lage, den Benutzer eine bestimmte Seitenzahl wählen zu lassen, zu der er gehen möchte. –