रखते हुए मैं व्यापक के लेखक हूँ ...
मेरे सुझाव सुअर या हाइव उपयोग करने के लिए अगर वे आपकी समस्या के लिए कोई मतलब, सुअर विशेष रूप से है।
लेकिन यदि आप डेटा के व्यवसाय में हैं, और न केवल अंतर्दृष्टि के लिए अपने डेटा के आसपास पोकिंग करते हैं, तो आप पाएंगे कि कच्चे MapReduce की तुलना में अधिकांश समस्याओं के लिए कैस्केडिंग दृष्टिकोण अधिक समझ में आता है।
कच्चे MapReduce के साथ आपकी पहली बाधा MapReduce में सोच रही होगी। मैड्रिडस में मामूली समस्याएं सरल होती हैं, लेकिन जटिल अनुप्रयोगों को विकसित करना बहुत आसान होता है यदि आप ऐसे मॉडल के साथ काम कर सकते हैं जो आपके समस्या डोमेन पर अधिक आसानी से मानचित्र डालता है (इसे फ़िल्टर करें, उसको पार्स करें, उनको सॉर्ट करें, बाकी में शामिल हों, आदि)।
अगला आपको पता चलेगा कि हडोप में काम की सामान्य इकाई में कई मैपरेडस नौकरियां शामिल हैं। एक साथ काम करने वाली नौकरियां एक हल करने योग्य समस्या है लेकिन इसे आपके आवेदन डोमेन स्तर कोड में रिसाव नहीं करना चाहिए, यह छुपा और पारदर्शी होना चाहिए।
आगे, आपको रीफैक्टरिंग और फिर से उपयोग करने योग्य कोड बनाना कठिन होगा यदि आपको लगातार मैपर्स और रेड्यूसर के बीच फ़ंक्शन को स्थानांतरित करना है। या अनुकूलन प्राप्त करने के लिए मैपर से पिछले reducer तक। जो बेरहमी के मुद्दे की ओर जाता है।
कैस्केडिंग जितना संभव हो सके तेजी से विफल होने में विश्वास करता है। योजनाकार हैडोप क्लस्टर भी काम में व्यस्त होने से पहले उन सभी फील्ड नामों के बीच निर्भरताओं को हल करने और संतुष्ट करने का प्रयास करता है। इसका मतलब यह है कि सभी मुद्दों का 9 0% + आपके नौकरी के निष्पादन के दौरान इसे ढूंढने के घंटों के इंतजार से पहले मिलेगा।
आप कच्चे MapReduce कोड में व्यक्ति या दस्तावेज़ जैसे डोमेन ऑब्जेक्ट्स बनाकर इसे कम कर सकते हैं, लेकिन कई अनुप्रयोगों को स्ट्रीम के सभी फ़ील्ड की आवश्यकता नहीं है। विचार करें कि क्या आपको सभी पुरुषों की औसत आयु की आवश्यकता है। आप नेटवर्क के चारों ओर एक पूरे व्यक्ति को पारित करने के आईओ दंड का भुगतान नहीं करना चाहते हैं, जब आपको केवल एक बाइनरी लिंग और संख्यात्मक आयु चाहिए।
असफल तेज़ अर्थशास्त्र और सिंक और स्रोतों के आलसी बाध्यकारी के साथ, कैस्केडिंग पर ढांचे का निर्माण करना बहुत आसान हो जाता है जो खुद को कैस्केडिंग प्रवाह बनाता है (जो कई हडोप मैपरेडिस नौकरियां बनता है)। एक प्रोजेक्ट जो मैं वर्तमान में शामिल हूं, 100 मैपड्रिज जॉब्स प्रति रन के साथ समाप्त होता है, कई डेटा संसाधित होने से प्रतिक्रिया के आधार पर फ्लाई मिड रन पर बनाए जाते हैं। जटिल प्रक्रियाओं को बनाने के लिए क्लोजर आधारित ढांचे का उदाहरण देखने के लिए Cascalog के लिए खोजें। या Bixo वेब खनन टूलकिट और ढांचे के लिए जो नच से अनुकूलित करना कहीं अधिक आसान है।
अंत में हैडोप का कभी भी अकेला उपयोग नहीं किया जाता है, इसका मतलब है कि आपका डेटा हमेशा किसी बाहरी स्रोत से खींचा जाता है और प्रसंस्करण के बाद दूसरे को धक्का दिया जाता है। हैडोप के बारे में गंदा रहस्य यह है कि यह एक बहुत ही प्रभावी ईटीएल ढांचा है (इसलिए यह मूर्खतापूर्ण है कि ईटीएल विक्रेता अपने उपकरण का उपयोग करने के बारे में बात करते हैं ताकि डेटा को हडोप पर/धक्का दिया जा सके)। कैस्केडिंग कुछ हद तक इस दर्द को आसान बनाता है जिससे आप अपने ऑपरेशन, एप्लिकेशन और यूनिट परीक्षण को एकीकरण अंत-बिंदुओं से स्वतंत्र लिख सकते हैं। व्यापक Membase, Memcached, एस्टर डाटा, लचीला खोज, HBase, Hypertable, कैसेंड्रा, आदि जैसे सिस्टम लोड करने के लिए उत्पादन में प्रयोग किया जाता है कृपया (दुर्भाग्य नहीं सभी एडेप्टर उनके लेखकों द्वारा जारी किया गया है।)
तो आप करेंगे, मुझे इंटरफ़ेस के साथ अनुभव कर रहे मुद्दों की एक सूची भेजें। मैं लगातार एपीआई और दस्तावेज़ीकरण को बेहतर बनाने के बेहतर तरीकों की तलाश में हूं, और उपयोगकर्ता समुदाय हमेशा सहायता के लिए आसपास रहता है।
क्या "कैस्केडिंग के साथ एंटरप्राइज़ वर्कफ़्लोज़" के अलावा कैस्केडिंग सीखने के लिए कोई अन्य पुस्तक है? वर्तमान में मैं इस पुस्तक को पढ़ रहा हूं लेकिन ऐसा लगता है कि उस पुस्तक में कोड कुछ हद तक पुराना है। ऐसा लगता है कि इस पुस्तक को लिखा गया था क्योंकि कैस्केडिंग में कई चीजें बदल गई हैं। – Shekhar
हैलो मार्क क्या आप इस प्रश्न पर कैस्केडिंग का उपयोग कर समाधान का सुझाव दे सकते हैं ..http: //stackoverflow.com/questions/27506306/piping-data-into-jobs-in-hadoop-mr-pig –