44

क्या आप कृपया मुझे अपाचे स्पार्क और एकेकेए के बीच का अंतर बता सकते हैं, मुझे पता है कि दोनों ढांचे को प्रोग्राम वितरित और समानांतर गणना के लिए किया गया है, फिर भी मुझे उनके बीच लिंक या अंतर दिखाई नहीं देता है।अपाचे स्पार्क बनाम अक्का

इसके अलावा, मैं उनमें से प्रत्येक के लिए उपयुक्त उपयोग केस प्राप्त करना चाहता हूं।

उत्तर

72

अपाचे स्पार्क वास्तव में अक्का पर बनाया गया है।

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

अपाचे स्पार्क (स्पार्क स्ट्रीमिंग नहीं) मानचित्र के सामान्यीकृत संस्करण का उपयोग करके बैच डेटा को संसाधित करने के लिए एक ढांचा है-एल्गोरिदम को कम करें। अपाचे स्पार्क के लिए एक अच्छा उदाहरण आपके डेटा की बेहतर अंतर्दृष्टि प्राप्त करने के लिए संग्रहीत डेटा के कुछ मीट्रिक की गणना है। डेटा लोड हो जाता है और मांग पर संसाधित हो जाता है।

अपाचे स्पार्क स्ट्रीमिंग डेटा के लगभग वास्तविक समय के छोटे बैचों पर समान कार्य और कार्य करने में सक्षम है, वैसे ही यदि डेटा पहले ही संग्रहीत किया जाएगा तो आप ऐसा करेंगे।

अद्यतन अप्रैल वर्ष 2016

अपाचे स्पार्क 1.6.0 से, अपाचे स्पार्क नहीं रह गया है नोड्स के बीच संचार के लिए अक्का पर निर्भर है। टिप्पणी के लिए @EugeneMi के लिए धन्यवाद।

+0

आप और अधिक के बारे में समझाएं कर सकते हैं, क्या वे प्रतिक्रियाशील और लचीला अनुप्रयोगों के द्वारा मतलब है? –

+2

प्रतिक्रियाशील द्वारा मेरा मतलब था कि आपका एप्लिकेशन ईवेंट संचालित होगा और यह ईवेंट के लिए __react__ होगा। अक्का के मामले में इन घटनाओं को कलाकारों के संदेशों के माध्यम से भेजा जाता है। लचीलापन से मेरा मतलब था कि आपका आवेदन असफलताओं को सहन करेगा और यह उनसे पुनर्प्राप्त करने में सक्षम होगा। Akka 'इसे दुर्घटनाग्रस्त होने' के दर्शन के बाद चला जाता है। आप यहां और अधिक पढ़ सकते हैं: http://doc.akka.io/docs/akka/snapshot/scala/fault-tolerance.html – hveiga

+0

अक्का धाराओं के बारे में क्या? क्या यह स्ट्रीमिंग स्पार्क करने के लिए एक प्रतियोगी है? – Jas

21

स्पार्क डाटा प्रोसेसिंग के लिए है जो अक्का एक आवेदन में डेटा और निर्देश प्रवाह का प्रबंधन करने के लिए है।

टी एल; डॉ

स्पार्क और अक्का विभिन्न उपयोगों के साथ दो अलग-अलग व्यवस्थाएं हैं और मामलों का उपयोग करें।

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

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

अक्का आपको वितरित वातावरण में अभिनेताओं को चलाने के तरीके प्रदान करके शीर्ष पर एक चेरी देता है।

दूसरी ओर, अपाचे स्पार्क बड़े पैमाने पर डेटासेट के लिए डेटा प्रोसेसिंग फ्रेमवर्क है जिसे मैन्युअल रूप से संभाला नहीं जा सकता है। स्पार्क हम जो आरडीडी (या रेसिलिएंट डिस्ट्रिब्यूटेड डेटासेट) कहते हैं, उसका उपयोग करता है जो आपके पारंपरिक डेटा संरचनाओं पर अबास्ट्रक्शन लेयर जैसी वितरित सूची है ताकि संचालन एक दूसरे के समानांतर नोड पर किया जा सके।

स्पार्क विभिन्न नोड्स के बीच नौकरियों को शेड्यूल करने के लिए अक्का टूलकिट का उपयोग करता है।

+2

अभिनेता मॉडल सिस्टम एरलांग से विरासत में मिला। –

+0

@AnisNouri सही। मैं जवाब अपडेट करूंगा। –

12

अपाचे स्पार्क:

अपाचे ™ स्पार्क बड़े पैमाने पर डाटा प्रोसेसिंग के लिए एक तेज और सामान्य इंजन है।

अप स्पार्क रन कार्यक्रमों स्मृति में Hadoop MapReduce की तुलना में तेजी 100x, या डिस्क पर 10x तेजी से करने के लिए।

स्पार्क हमें एक व्यापक, एकीकृत डेटा सेट है कि प्रकृति में विविध रहे हैं की एक किस्म के साथ बड़ी डाटा प्रोसेसिंग आवश्यकताओं (पाठ डेटा, ग्राफ डेटा आदि) के साथ-साथ आंकड़ों का स्रोत (बैच वी प्रबंधन करने के लिए ढांचा देता है। वास्तविक समय स्ट्रीमिंग डेटा)।

  1. एकीकृत अच्छी तरह से साथ Hadoop पारिस्थितिकी तंत्र और डेटा स्रोतों (HDFS, अमेज़न S3, हाइव, HBase, कैसेंड्रा, आदि)

  2. Hadoop यार्न या द्वारा प्रबंधित समूहों पर चला सकते हैं अपाचे Mesos, और भी में चला सकते हैं स्टैंडअलोन मोड

  3. स्काला, जा में एपीआई प्रदान करता है va, और अजगर, (जैसे कि आर के रूप में) जिस तरह से

  4. इसके अलावा मानचित्र और संचालन कम करने के लिए पर अन्य भाषाओं के लिए समर्थन के साथ, यह एसक्यूएल प्रश्नों, स्ट्रीमिंग डेटा, मशीन सीखने और डाटा प्रोसेसिंग ग्राफ का समर्थन करता है ।

हमें स्पार्क को हडोप के प्रतिस्थापन के बजाय हडोप मैपराइडस के विकल्प के रूप में देखना चाहिए।

बेहतर समझने के लिए infoQ और toptal लेख देखें।

मेजर उपयोग स्पार्क के लिए मामलों:

  1. मशीन लर्निंग एल्गोरिदम
  2. इंटरएक्टिव एनालिटिक्स
  3. स्ट्रीमिंग डेटा

अक्का:Letitcrash

से

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

अभिनेता ढांचे पर बेहतर समझ के लिए इस typesafe आलेख पर एक नज़र डालें।

अक्का पर्यवेक्षक पदानुक्रमों के आधार पर गलती सहनशीलता प्रदान करता है। प्रत्येक अभिनेता अन्य अभिनेता बना सकता है, जो तब पर्यवेक्षण करेगा, निर्णय लेगा यदि उन्हें फिर से शुरू किया जाना चाहिए, पुनरारंभ करना, सेवानिवृत्त होना चाहिए या समस्या को आगे बढ़ाया जाना चाहिए।

  1. लेन-देन संसाधन
  2. संगामिति/समानांतरवाद
  3. सिमुलेशन
  4. बैच प्रसंस्करण
  5. :

Akka लेख & SO questions

मेजर उपयोग के मामलों पर एक नजर डालें

  • गेमिंग और सट्टेबाजी
  • परिसर घटना स्ट्रीम प्रसंस्करण
  • संबंधित मुद्दे