2010-10-05 9 views
5

Gibt es einen Weg, um Werte zu einer früheren Stufe auf Zellebene rückgängig zu machen (Zeilenebene könnte auch funktionieren)ist es eine Möglichkeit, hbase Rollback

ich importierte eine Datei mit falschen Daten und ich brauche nur um zu gehen zurück vorherige Stufe.

Antwort

2

Zwar gibt es keinen Rollbacks ist, wenn Sie keine weiteren Änderungen an der Zeit und werden zu speichern mehr als eine Version können Sie:

  • Lauf ein Scan über den Tisch setTimeRange mit (nur einen Bereich angeben, Ihre schlechten Daten fallen in)

  • Verwenden Sie die Daten aus dem Scan, um Timestamp eingeschränkt Delete für alle schlechten Daten zu erstellen.

Natürlich sind, wenn Sie nur eine Version zu speichern, sind Sie aus Glück:/

2

Es gibt keine Möglichkeit, ein Put auf HBase zurückzusetzen. HBase kann jedoch mehrere Versionen einer Zelle speichern, abhängig von der Konfiguration einer Spaltenfamilie. Standardmäßig speichert es die letzten 3 Versionen jeder Zelle. Wenn ein neues Put abgeschlossen ist, können Sie den Zeitstempel angeben, an den es geschrieben wurde, andernfalls wird die aktuelle Serverzeit verwendet.

Wenn Sie also die Standardeinstellungen verwenden und nicht mehr als 1 oder 2 Puts für jede Zelle ausgeführt haben, sollten Sie Ihre vorherigen Daten mit Scan.setTimeStamp (timestampBeforeYouImportedBadData) auslesen können.

Verwandte Themen