मैं यह पता लगाने की कोशिश कर रहा हूं कि मानचित्र कार्य का आउटपुट डिस्क पर सहेजा गया है इससे पहले कि इसे कम करें।हडोप में ढांचा मानचित्र मानचित्र के आउटपुट को सामान्य मानचित्र-कम करने वाले एप्लिकेशन में सहेजता है?
नोट: - इस्तेमाल किया संस्करण नई एपीआई
उदाहरण के लिए साथ Hadoop 0.20.204 है, जब मानचित्र कक्षा में नक्शा विधि को अधिलेखित:
public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
String line = value.toString();
StringTokenizer tokenizer = new StringTokenizer(line);
while (tokenizer.hasMoreTokens()) {
word.set(tokenizer.nextToken());
context.write(word, one);
}
// code that starts a new Job.
}
मैं पता लगाने के लिए दिलचस्पी है context.write() कहां डेटा लिखता है।
FileOutputFormat.getWorkOutputPath(context);
कौन सा मुझे HDFS पर निम्न स्थान देता है:: अब तक मैं में भाग लिया है
hdfs://localhost:9000/tmp/outputs/1/_temporary/_attempt_201112221334_0001_m_000000_0
जब मैं दूसरी नौकरी यह मुझे निम्न त्रुटि देता है के लिए इनपुट के रूप में उपयोग करने का प्रयास करें:
org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs://localhost:9000/tmp/outputs/1/_temporary/_attempt_201112221334_0001_m_000000_0
नोट: काम मैपर में शुरू किया गया है, इसलिए तकनीकी रूप से, अस्थायी फ़ोल्डर जहां मैपर कार्य लिख रहा है यह उत्पादन मौजूद है जब ne डब्ल्यू नौकरी शुरू होती है। फिर फिर, यह अभी भी कहता है कि इनपुट पथ मौजूद नहीं है।
कोई विचार जहां अस्थायी आउटपुट लिखा गया है? या हो सकता है कि वह स्थान क्या है जहां मुझे एक नौकरी के दौरान एक मानचित्र कार्य का आउटपुट मिल सकता है जिसमें मानचित्र और कमी दोनों चरण हैं?
बीटीडब्ल्यू, फ़ाइलऑटपथफॉर्मैट # getWorkOutputPath जैसा दिखता है नौकरी के लिए अस्थायी आउटपुट फ़ोल्डर का स्थान देता है और एपीआई दस्तावेज के अनुसार मानचित्र कार्य के लिए नहीं देता है। 'जब मैं इसे किसी अन्य नौकरी के लिए इनपुट के रूप में उपयोग करने का प्रयास करता हूं तो यह मुझे निम्न त्रुटि देता है:' - नौकरी पूरी होने के बाद आमतौर पर अस्थायी फ़ाइलें हटा दी जाती हैं या अन्यथा नोड आसानी से मिल जाएगा। –
ठीक है, उचित बिंदु, लेकिन मैं नौकरी शुरू कर रहा हूं जबकि अन्य नौकरी निष्पादित हो रही है। मैं घोंसला नक्शा कम कर रहा हूँ। तो, बाहरी नौकरी व्यस्त है जबकि आंतरिक नौकरी निष्पादित हो रही है, इसलिए अस्थायी फ़ाइलों को हटाने में कोई कमी नहीं होनी चाहिए। – inquire
लेकिन ठीक है, पर्याप्त चीजें हटा दी जाती हैं, जिसका अर्थ है कि वे हटाए जाने से पहले कहीं कहीं थे। मुझे यह पता लगाने की जरूरत है कि वह कहां है। : डी – inquire