2015-02-12 5 views
14

कल्पना कीजिए कि मैं एचडीएफएस में होस्ट की गई फाइल पर कुछ स्पार्क ऑपरेशंस करता हूं। इस तरह कुछ:अपाचे स्पार्क एचडीएफएस डेटा नोड्स के बारे में कैसे पता लगाता है?

var file = sc.textFile("hdfs://...") 
val items = file.map(_.split('\t')) 
... 

क्योंकि हैडोप दुनिया में कोड को डेटा जाना चाहिए, है ना?

तो मेरे सवाल है: कैसे स्पार्क कार्यकर्ताओंHDFS डेटा नोड्स की जानते हो? स्पार्क कैसे पता लगाता है कि कोड को निष्पादित करने के लिए कौन से डेटा नोड्स हैं?

+0

दस्तावेज़ीकरण को देखें: https://spark.apache.org/docs/latest/cluster-overview.html यह क्लस्टर प्रबंधक पर निर्भर करता है। – Nfear

+0

मुझे नहीं लगता कि स्पार्क इस बात की परवाह करता है कि डेटा कहां है, और मुझे नहीं लगता कि आपको या तो चाहिए। थ्रूपुट डिस्क द्वारा सीमित है, नेटवर्क नहीं। मैं इस बात से सहमत नहीं हूं "कोड जाना चाहिए जहां डेटा है"। –

+0

जब आप प्रोटोकॉल के रूप में 'hdfs' का उपयोग करते हैं, तो फाइल सिस्टम एपीआई भौतिक स्थानों को दूर करता है। क्या स्पार्क इसका उपयोग करता है या नहीं, इससे कोई फर्क नहीं पड़ता कि डैनियल पहले से ही कहता है। –

उत्तर

13

स्पार्क पुनः उपयोग कर लेता Hadoop कक्षाएं: जब आप textFile कहते हैं, यह एक TextInputFormat जो एक getSplits विधि है बनाता है (एक विभाजन मोटे तौर पर एक विभाजन या ब्लॉक है), और फिर प्रत्येक InputSplitgetLocations और getLocationInfo विधि है।

+2

मुझे यह स्पष्ट करने दें: जब मेरी फ़ाइल कहीं भी एचडीएफएस में है, स्पार्क यह पता लगा सकता है कि यह कौन सा नोड है, है ना? क्या मेरे सभी एचडीएफएस डेटा नोड्स पर स्पार्क वर्कर स्थापित करने के लिए पर्याप्त है - और स्पार्क स्वचालित रूप से सही नोड पर डेटा को रूट करने के साथ? या क्या मुझे हमेशा संसाधन प्रबंधक (जैसे मेसो या यार्न) की आवश्यकता है? – Frizz

+1

हां। 'इनपुटफॉर्मेट' का उपयोग करना मतलब है कि यह तर्क का पुन: उपयोग कर रहा है जो यह निर्धारित कर सकता है कि इनपुट विभाजन कहां स्थित हैं। इसका उपयोग शेड्यूलिंग के लिए किया जाता है। –

+1

यार्न का उपयोग करने की आवश्यकता नहीं है, प्रत्येक स्पार्क कार्यकर्ता जानता है कि यह किस नोड पर चल रहा है। फिर, स्पार्क मास्टर डेटा स्थान (और उपलब्ध संसाधनों) के आधार पर कार्यकर्ता नोड्स का चयन कर सकता है। फिर भी यदि आपके पास पहले से ही एक हैडोप यार्न क्लस्टर है, तो इसका पुन: उपयोग करना अच्छा विचार हो सकता है। –

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