2010-10-05 40 views
5

Có cách nào để quay lại giá trị cho giai đoạn trước ở cấp ô (cấp hàng cũng có thể hoạt động)có cách nào để khôi phục hbase

Tôi đã nhập tệp có dữ liệu sai và tôi chỉ cần quay lại giai đoạn trước.

Trả lời

2

Trong khi không có rollback, nếu bạn thực hiện không có thay đổi khác vào thời điểm đó và đang lưu trữ nhiều hơn một phiên bản bạn có thể:

  • chạy một quét trên bảng của bạn sử dụng setTimeRange (chỉ cần chỉ định một phạm vi đó dữ liệu xấu của bạn rơi vào)

  • Sử dụng dữ liệu từ quá trình quét để tạo dấu thời gian bị hạn chế Xóa cho tất cả dữ liệu không hợp lệ.

Tất nhiên, nếu bạn chỉ lưu trữ một phiên bản, bạn đang trên may mắn:/

2

Không có cách nào để khôi phục Put to HBase. Tuy nhiên, HBase có thể lưu trữ nhiều phiên bản của bất kỳ ô nào, tùy thuộc vào cấu hình của một họ cột. Theo mặc định, nó lưu trữ 3 phiên bản gần đây nhất của mỗi ô. Khi một lệnh mới được thực hiện, bạn có thể chỉ định dấu thời gian được ghi, nếu không, nó sẽ sử dụng thời gian máy chủ hiện tại. Vì vậy, nếu bạn đang sử dụng các giá trị mặc định, và bạn đã thực hiện không quá 1 hoặc 2 Đặt cho mỗi ô, bạn sẽ có thể đọc dữ liệu trước đó của bạn bằng cách thực hiện một Scan.setTimeStamp (timestampBeforeYouImportedBadData).

Các vấn đề liên quan