2010-10-05 11 views
5

रोलबैक के लिए एक रास्ता वहाँ सेल स्तर पर एक पिछले चरण के मूल्यों रोलबैक के लिए एक रास्ता है है (पंक्ति स्तर भी काम कर सकते हैं)वहाँ HBase

मैं गलत डेटा के साथ एक फ़ाइल आयात और मैं बस के लिए वापस जाने की जरूरत है पिछले चरण

उत्तर

2

जब कोई रोलबैक है, यदि आप समय कोई अन्य परिवर्तन किए हैं और एक से अधिक संस्करण आप कर सकते थे भंडारण कर रहे हैं:

  • रन अपनी मेज setTimeRange का उपयोग करने पर एक स्कैन (सिर्फ एक श्रेणी निर्दिष्ट करें कि आपका खराब डेटा गिरता है)

  • सभी खराब डेटा के लिए टाइमस्टैम्प प्रतिबंधित हटाएं बनाने के लिए स्कैन से डेटा का उपयोग करें।

बेशक

, यदि आप केवल एक संस्करण भंडारण कर रहे हैं, तो आप भाग्य से बाहर हो:/

2

एक पुट टू एचबेस को वापस रोल करने के कोई तरीके नहीं हैं। हालांकि, कॉलम परिवार की कॉन्फ़िगरेशन के आधार पर, एचबीएएस किसी भी सेल के कई संस्करणों को स्टोर कर सकता है। डिफ़ॉल्ट रूप से यह प्रत्येक सेल के नवीनतम 3 संस्करणों को संग्रहीत करता है। जब कोई नया पुट किया जाता है, तो आप उस टाइमस्टैम्प को निर्दिष्ट कर सकते हैं जिसे लिखा गया है, अन्यथा, यह वर्तमान सर्वर समय का उपयोग करता है।

तो, यदि आप डिफ़ॉल्ट का उपयोग कर रहे हैं, और आपने प्रत्येक सेल को 1 या 2 से अधिक नहीं किए हैं, तो आपको स्कैन.सेटटाइमस्टैम्प (टाइमस्टैम्प से पहले आयातितबैडडेटा) करके अपना पिछला डेटा पढ़ने में सक्षम होना चाहिए।