Ich weiß, HBase nie wirklich auf Datensätze löschen und es nur einen Grabstein Marker gesetzt. Aber was, wenn die Datenmenge größer und größer wird, und eines Tages möchten Sie die Größe reduzieren, indem Sie ein hartes Löschen (echtes Löschen) für einige der ausgewählten Zeilen durchführen?Gibt es eine Möglichkeit, hartes Löschen (echtes Löschen) auf HBase durchzuführen?
Antwort
Löschen Marker und gelöschte Zellen werden während der Hauptverdichtung entfernt. Kleinere Verdichtung führt nur kleine HFiles in größere zusammen. Sie können die Hauptverdichtung manuell auslösen, indem Sie den folgenden Befehl ausführen:
Verdichtung (minor und major) ist ein Online-Vorgang. Es ist kein Wartungsfenster erforderlich, um eine Verdichtung durchzuführen.
Denken Sie daran, dass große Verdichtung lange dauern kann, da es alle HFiles reorganisieren wird. Um negative Auswirkungen auf die Leistung bei stark ausgelasteten Systemen zu vermeiden, sollten Sie eine Verdichtung außerhalb der Spitzenzeiten planen.
Große Verdichtung geschieht auch automatisch (standardmäßig alle 7 Tage). Die Häufigkeit der geplanten Hauptverdichtung wird über den Parameter hbase.hregion.majorcompaction
gesteuert.
Geringfügige Verdichtung kann auch zu eskalieren.
Für weitere Details empfehle ich die ausgezeichnete HBase Reference Guide.
- 1. Gibt es eine Möglichkeit, django.db.connection.queries zu löschen?
- 2. Gibt es eine Möglichkeit, Creeps zu löschen?
- 3. Gibt es eine Möglichkeit, einen Zweig auf Heroku zu löschen
- 4. Gibt es eine Möglichkeit, Etiketten im System in HBase zu löschen?
- 5. Gibt es eine Möglichkeit, eine reine virtuelle Funktion zu "löschen"?
- 6. Gibt es eine Möglichkeit, Funktionssignaturvergleich basierend auf Parameterwerten durchzuführen?
- 7. gibt es eine Möglichkeit, die Formulardaten in PHP zu löschen?
- 8. Gibt es eine Möglichkeit, alle iPhone-Anwendungsdaten zu löschen?
- 9. Gibt es eine Möglichkeit, alle JavaScript-Timer gleichzeitig zu löschen?
- 10. Gibt es eine Möglichkeit, markierte Spalten zu löschen?
- 11. Gibt es eine einfache Möglichkeit, ein ASP.NET-Formular zu löschen?
- 12. Gibt es eine Möglichkeit, eine zirkuläre Bitverschiebung in C# durchzuführen?
- 13. Gibt es eine effiziente Möglichkeit, dieses Projekt durchzuführen?
- 14. Gibt es eine "prägnante" Möglichkeit, Namespacing in JavaScript durchzuführen?
- 15. Gibt es eine elegante Möglichkeit, Teilregex-Matches in Java durchzuführen?
- 16. Gibt es eine Möglichkeit, Validierung für SQLAlchemy-Objekte transparent durchzuführen?
- 17. gibt es eine schnellere Möglichkeit, die Rechtschreibprüfung in Atom durchzuführen?
- 18. Gibt es eine bessere Möglichkeit, diese mySql-Updates durchzuführen?
- 19. gibt es eine Möglichkeit, UIModalTransitionStyleCoverHORIZONTAL (nicht FlipHorizontal) durchzuführen?
- 20. Gibt es eine bessere Möglichkeit, die Abhängigkeitsinjektion in Swift durchzuführen?
- 21. Gibt es eine Möglichkeit, mehrere Ersetzungen in C# nacheinander durchzuführen?
- 22. Gibt es eine einfachere Möglichkeit, boolesche Konvertierungen durchzuführen?
- 23. Gibt es eine Möglichkeit, Spread-Operationen mit TypeScript-Generics durchzuführen?
- 24. Gibt es eine Möglichkeit, ein Array zu löschen und es grundsätzlich auf seine früheren Inhalte zurücksetzen
- 25. ist es eine Möglichkeit, hbase Rollback
- 26. LINQ Löschen - Kann eine Möglichkeit löschen, kann nicht Einzel enumerable
- 27. Gibt es eine Möglichkeit, mehrere Attribute von Android-Layout auf einmal zu finden und zu löschen
- 28. Gibt es eine Möglichkeit, auf XML-Datei ohne DOM zu schreiben/zu löschen?
- 29. Kann ich ein Realm löschen, anstatt eine Migration durchzuführen?
- 30. Es gibt eine Möglichkeit, auf den Dokumentordner in iphone/ipad zuzugreifen (echtes Gerät, kein Simulator)?
Hallo Ivan, danke für die Antwort! Ist für eine größere Komprimierung ein Herunterfahren oder ein Neustart erforderlich? Ist es auf jedem Produktions-Host machbar? – Olivia
Es ist ein Online-Betrieb. Es ist normalerweise kein Neustart oder Herunterfahren erforderlich. Schreibvorgänge, die während der Komprimierung stattfinden, werden im Memspeicher gespeichert. –