2013-02-19 11 views
7

के लिए जॉबकॉन्फ़ वी/एस कॉन्फ़िगरेशन हाय मैं हाडोप के लिए नया हूं और यह फ़ाइल सिस्टम है। मैंने JobConf और Configuration का उपयोग करके वर्डकाउंट के दो अलग-अलग उदाहरण देखे। उनमें क्या अंतर है।हैडोप 1.0.4

मैंने अध्ययन किया कि JobConf पुराने पैकेज org.apache.hadoop.mapred (जो 0.20.x में बहिष्कृत) का हिस्सा था लेकिन कॉन्फ़िगरेशन org.apache.hadoop.mapreduce के नए पैकेज का हिस्सा है। लेकिन अब v1.0.4 में यह अन-बहिष्कृत है।

वर्तमान में हमारे पास जावा में नौकरियों को कम करने के दो तरीके हैं, एक org.apache.hadoop.mapreduce पैकेज में कक्षाओं का उपयोग करके (विस्तारित) है और दूसरा org.apache.hadoop.mapred पैकेज में कक्षाओं को कार्यान्वित करके है।

मैं जानना चाहता हूँ:

  1. mapred और mapreduce पैकेज संरचना और क्यों mapred अन-बहिष्कृत हो गई है के बीच क्या अंतर है?

  2. v1.0.4 के लिए कौन सा दृष्टिकोण बेहतर है और क्यों? JobConf या Configuration?

  3. v1.0.4 के लिए कौन सा बेहतर है? mapred या mapreduce?

+0

संभावित डुप्लिकेट [क्या हैडोप जॉब बनाने के लिए मैपर्ड या मैप्रिडस पैकेज का उपयोग करना बेहतर है?] (Http://stackoverflow.com/questions/7598422/is-it-better-to-use-the- मैप्रेड-या-द-मैप्रिडस-पैकेज-टू-बिल्ड-ए-हडूप-जॉब) –

+0

मैंने उस उत्तर को पढ़ लिया है। यह दृष्टिकोण v0.20 और v0.21/22 के लिए था। लेकिन यहां मैं v1.0.4 के बारे में पूछ रहा हूं। कृपया इसे उससे कनेक्ट न करें। और पूरी तरह समझने से पहले कोई निर्णय न लें। –

+0

1.0 0.20 और 0.22 के बीच संस्करण के अलावा कुछ और नहीं है। इसे पॉलिश 20.x संस्करण के रूप में देखें। संस्करण संख्या के शोध का उल्लेख न करने के लिए, आपको एक नया प्रश्न जोड़ने से पहले मौजूदा उत्तरों की खोज करनी चाहिए। –

उत्तर

6

आप the releases page में देखो, तो आप देख सकते हैं कि 1.0.4 0.20.20x

चारों ओर कुछ से मेल खाती है कुछ संदर्भ देने के लिए, यहाँ क्या चर्चा की जा रही थी on the mailing list है:

The "old" MapReduce API in org.apache.hadoop.mapred was deprecated in the 0.20 
release series when the "new" (Context Objects) MapReduce API was added in 
org.apache.hadoop.mapreduce. Unfortunately, the new API was not complete in 0.20 
and most users stayed with the old API. This has led to the confusing situation 
where the old API is generally recommended, even though it is deprecated. 

तो जैसा कि आप देख सकते हैं, यह मुख्य रूप से रेट्रो-संगतता का विषय है।

तो लब्बोलुआब यह है कि आप 1.0.4 के साथ अब अपने आवेदन शुरू करने आप mapreduce का उपयोग करना चाहिए और न mapred के बाद से यह अब पसंदीदा तरीका है कर रहे हैं, लेकिन आप अभी भी पुराने mapred उपयोग कर सकते हैं अगर आपके पास विरासत अनुप्रयोगों। जो आपको दर्शाता है कि Configuration का उपयोग करना चाहिए।

mapred और mapreduce, निकालने में विस्तार से बताया के रूप में ऊपर यह मुख्य रूप से Context वस्तुओं की शुरूआत से आता है के बीच अंतर के रूप में, लेकिन अन्य बदलाव और नए वर्गों है कि पुराने mapred में उपलब्ध नहीं हैं का एक समूह है।

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