किस स्थिति में मैं अपाचे स्पार्क के बजाय मास्क का उपयोग कर सकता हूं? [बन्द है]


81

मैं वर्तमान में डेटा विश्लेषण के लिए पंडों और स्पार्क का उपयोग कर रहा हूं। मैंने पाया कि Dask समानांतर नुम्पी सरणी और पंडास डेटाफ़्रेम प्रदान करता है।

पंडों ने पायथन में डेटा विश्लेषण करने के लिए आसान और सहज ज्ञान युक्त है। लेकिन मुझे सीमित सिस्टम मेमोरी के कारण पंडों में कई बड़े डेटाफ़्रेम को संभालने में कठिनाई होती है।

सरल उत्तर:

Apache Spark एक सर्व-समावेशी ढांचा है जो वितरित कंप्यूटिंग, SQL क्वेरीज़, मशीन लर्निंग, और बहुत कुछ है जो JVM पर चलता है और आमतौर पर Hadoop जैसे अन्य बिग डेटा फ्रेमवर्क के साथ सह-परिनियोजित होता है। ... आमतौर पर स्पार्क की तुलना में डैस्क छोटा और हल्का होता है।

मुझे http://dask.pydata.org/en/latest/spark.html से नीचे विवरण के बारे में पता है

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

मैं नीचे दिए गए लिंक https://www.continuum.io/blog/developer-blog/high-performance-hadoop-anaconda-and-dask-your-cluster से नीचे के बारे में अधिक बातें समझता हूं

  • यदि आप पंडों, NumPy, या पायथन के साथ अन्य संगणनाओं का उपयोग करते समय एक ही मशीन पर मेमोरी मुद्दों, भंडारण सीमाओं, या सीपीयू सीमाओं में चल रहे हैं, तो Dask आपको एकल मशीन पर सभी कोर पर स्केल करने में मदद कर सकता है, या स्केल आउट कर सकता है। अपने क्लस्टर में सभी कोर और मेमोरी पर।
  • अपने लैपटॉप पर सभी कोर का उपयोग करने और बड़े-से-मेमोरी डेटा को संसाधित करने के लिए एक मशीन पर Dask अच्छी तरह से काम करती है
  • सैकड़ों नोड्स के साथ गुच्छों पर लचीला और अलौकिक रूप से तराजू।
  • डैस्क मूल रूप से अलग-अलग स्वरूपों और भंडारण प्रणालियों के डेटा के साथ पायथन से काम करता है, जिसमें हडोप डिस्ट्रीब्यूटेड फाइल सिस्टम (एचडीएफएस) और अमेज़ॅन एस 3 शामिल हैं। एनाकोंडा और डस्क आपके मौजूदा उद्यम हडॉप वितरण के साथ काम कर सकते हैं, जिसमें क्लोडेरा सीडीएच और हॉर्टनवर्क्स एचडीपी शामिल हैं।

http://dask.pydata.org/en/latest/dataframe-overview.html

सीमाओं

Dask.DataFrame पूरे पंडों के इंटरफ़ेस को लागू नहीं करता है। यह उम्मीद करने वाले उपयोगकर्ता निराश होंगे। आमतौर पर, dask.dataframe की निम्नलिखित सीमाएँ हैं:

  1. एक असुरक्षित कॉलम से एक नया सूचकांक सेट करना महंगा है
  2. कई ऑपरेशन जैसे कि ग्रुपबी-अप्लाई और अनसोल्ड कॉलम में शामिल होने के लिए इंडेक्स सेट करने की आवश्यकता होती है, जो ऊपर बताए गए अनुसार महंगा है
  3. पंडों एपीआई बहुत बड़ी है। Dask.dataframe कई पांडा सुविधाओं या NDFrames जैसी अधिक विदेशी डेटा संरचनाओं में से किसी को लागू करने का प्रयास नहीं करता है

Dask डेवलपर्स के लिए धन्यवाद। यह बहुत ही आशाजनक तकनीक की तरह लगता है।

कुल मिलाकर मैं समझ सकता हूं कि चिंगारी स्पार्क की तुलना में उपयोग करने के लिए सरल है। अधिक सीपीयू के समानता के साथ गणना करने के लिए अधिक शक्ति वाले पंडों के समान डस्क लचीला होता है।

मैं उपरोक्त सभी तथ्यों को डीस्क के बारे में समझता हूं।

तो, लगभग कितने डेटा (टेराबाइट में) को Dask के साथ संसाधित किया जा सकता है?


यह प्रश्न बहुत व्यापक है
MRocklin

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

आप यहाँ एक उत्तर पा सकते हैं: मध्यम
टॉम

जवाबों:


40

आप Apache स्पार्क की तुलना में Dask पढ़ना चाह सकते हैं

Apache Spark एक सर्व-समावेशी ढांचा है जो वितरित कंप्यूटिंग, SQL क्वेरीज़, मशीन लर्निंग, और बहुत कुछ है जो JVM पर चलता है और आमतौर पर Hadoop जैसे अन्य बिग डेटा फ्रेमवर्क के साथ सह-परिनियोजित होता है। यह मूल रूप से डेटा इंजीनियरिंग और बिजनेस एनालिटिक्स में थोक डेटा निगलना और सामान्य क्वेरी के लिए अनुकूलित था, लेकिन तब से व्यापक हो गया है। स्पार्क का उपयोग आमतौर पर छोटे से मध्यम आकार के क्लस्टर पर किया जाता है, लेकिन यह एकल मशीन पर भी अच्छा चलता है।

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

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.