2011-09-03 17 views
6

के बाहर बाहरी निष्पादन योग्य कॉल करना संभव है मेरे मैपर के भीतर मैं एचडीएफएस के बाहर कार्यकर्ता नोड पर स्थापित बाहरी सॉफ्टवेयर को कॉल करना चाहता हूं। क्या यह संभव है? इसे करने का बेहतरीन तरीका क्या है?हाडोप मैपराइडस चलाना, क्या एचडीएफएस

मैं समझता हूं कि यह मैपरेडस के कुछ फायदे/स्केलेबिलिटी को दूर ले सकता है, लेकिन मैं कुछ एचडीएफएस के भीतर बातचीत करना चाहता हूं और कुछ डेटा संसाधित करने के लिए अपने मैपर के अंदर संकलित/स्थापित बाहरी सॉफ़्टवेयर कोड कॉल करना चाहता हूं।

उत्तर

5

मैपर (और reducers) बॉक्स पर किसी भी अन्य प्रक्रिया की तरह हैं- जब तक टास्कट्रैकर उपयोगकर्ता को निष्पादन योग्य चलाने की अनुमति है, तब तक कोई समस्या नहीं है। बाहरी प्रक्रियाओं को कॉल करने के कुछ तरीके हैं, लेकिन चूंकि हम पहले से ही जावा में हैं, ProcessBuilder शुरू करने के लिए एक तार्किक स्थान लगता है।

संपादित करें: बस में पाया गया कि Hadoop इस उद्देश्य के लिए स्पष्ट रूप से एक वर्ग है: http://hadoop.apache.org/common/docs/current/api/org/apache/hadoop/util/Shell.html

+0

बस जोड़ने के लिए: शैल पैकेज दिखाई दे रहा है, आप पैकेज में मधुमक्खी के बिना उनका उपयोग नहीं कर सकते हैं। –

+0

क्या जावा के भीतर शैल क्लास एचडीएफएस के बाहर नोड पर एक प्रक्रिया को कॉल करेगा? – Joris

+0

@ क्रिस धन्यवाद - यह काम करता है! क्या आप टास्कट्रैकर उपयोगकर्ता अनुमतियों को सेट करने के बारे में जानते हैं? – Joris

0

यह निश्चित रूप से संभव है। आपको Hadoop Streaming के साथ काम करने के लिए सबसे अच्छा मिल सकता है। जैसा कि यह उस वेबसाइट पर कहता है:

हैडोप स्ट्रीमिंग एक उपयोगिता है जो हैडोप वितरण के साथ आता है। उपयोगिता आपको मैपर और/या रेड्यूसर के रूप में किसी निष्पादन योग्य या स्क्रिप्ट के साथ मानचित्र बनाने/चलाने के लिए अनुमति देती है।

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

+0

आपका लिंक टूटा हुआ है –

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