2011-12-06 11 views
6

हैडोप SequenceFile में कुंजी-मूल्य जोड़ी (रिकॉर्ड) प्रारूप में लिखता है। विचार करें कि हमारे पास एक बड़ी असंबद्ध लॉग फ़ाइल है। हैडोप ब्लॉक आकार के आधार पर फ़ाइल को विभाजित करेगा और उन्हें कई डेटा नोड्स पर सहेज देगा। क्या यह गारंटी है कि प्रत्येक कुंजी-मूल्य जोड़ी एक ही ब्लॉक पर रहेगी? या हमारे पास कोई मामला हो सकता है ताकि कुंजी नोड 2 पर दूसरे ब्लॉक पर नोड 1 और मूल्य (या इसके कुछ हिस्सों) पर एक ब्लॉक में हो? अगर हमारे पास अनजान-पूर्ण विभाजन हो सकते हैं, तो समाधान क्या है? सिंक मार्कर?नियंत्रित तरीके से अनुक्रम अनुक्रम - हडोप

एक और सवाल यह है: क्या हैडऑप स्वचालित रूप से सिंक मार्कर लिखता है या हमें इसे मैन्युअल रूप से लिखना चाहिए?

उत्तर

9

मैंने इस सवाल को हडूप मेलिंग सूची में पूछा। उन्होंने उत्तर दिया:

सिंक मार्कर अनुक्रम फ़ाइलों में पहले से ही लिखे गए हैं, वे प्रारूप का हिस्सा हैं। यह चिंता करने के लिए कुछ भी नहीं है - और परीक्षण के लिए काफी आसान है और इसके बारे में आश्वस्त रहें। यह तंत्र न्यूलाइन के साथ फ़ाइल को पढ़ने के समान है - पाठक को रिकॉर्ड को पूरा करने के लिए सीमा डेटा को पढ़ने से सुनिश्चित होगा।

तो मैंने पूछा:

तो अगर हम लॉग फ़ाइल का केवल दूसरे खंड का विश्लेषण एक नक्शे के काम है, यह अन्य नोड से कि के किसी भी अन्य भागों स्थानांतरण नहीं करना चाहिए, क्योंकि वह हिस्सा अकेले खड़ा है और पूर्ण विभाजन का मतलब है? क्या मैं सही हू?

वे उत्तर दिया:

हां। सीधे शब्दों में कहें, आपके रिकॉर्ड कभी नहीं टूट जाएंगे। हम विभाजित सीमाओं पर केवल नहीं पढ़ते हैं, हम रिकॉर्ड या श्रृंखला रिकॉर्ड को पूरा करने के लिए एक सिंक मार्कर तक सीमाओं से आगे बढ़ सकते हैं। बाद के मैपर्स हमेशा अपने पहले सिंक मार्कर तक छोड़ देंगे, और फिर डुप्लिकेशंस से बचने के लिए - पढ़ना शुरू करें। यह बिल्कुल टेक्स्ट फ़ाइल पढ़ने के साथ-साथ कैसे काम करता है - केवल न्यूलाइन है।

संबंधित मुद्दे