मैं एक ऐसे प्रोजेक्ट पर काम कर रहा हूं जहां मुझे अलग-अलग स्पार्क एप्लिकेशन में निष्पादन स्थिति साझा करने की आवश्यकता है।
मैंने विभिन्न स्पार्क एप्लिकेशन के बीच साझा मेमोरी स्टोरेज के रूप में अपाचे-इग्नाइट के साथ जाने का फैसला किया।
मैं स्पार्क में स्थिर आवंटन के साथ एम्बेडेड इग्नाइट मोड के साथ जाने की सोच रहा था जहां स्पार्क निष्पादक प्रक्रिया में प्रज्वलित नोड्स शुरू हो जाएंगे। ताकि, कार्यों को उसी प्रक्रिया में निष्पादित किया जाएगा जहां डेटा मौजूद है। लेकिन, यह मोड बहिष्कृत है।
मैं स्टैंडअलोन इग्नाइट परिनियोजन के साथ जा सकता था लेकिन उस राज्य को प्राप्त करने और बचाने के लिए अंतर-प्रक्रिया संचार होगा जिससे मैं बचना चाहता हूं।
क्या स्पार्क को पहले से मौजूद प्रक्रिया में अपने निष्पादक बनाने के लिए कहने का कोई तरीका है (इस मामले में, नोड्सप्रोसेस को प्रज्वलित करें)?
क्या इसे प्राप्त करने के लिए ExternalClusterManager लागू किया जा सकता है?
क्या इग्नाइट भविष्य में ऐसी विधा शुरू करने की योजना बना रही है?
1 उत्तर
ठीक है, हाँ, आपकी सामान्य दिशा उचित है। इग्नाइट का पदावनत एम्बेडेड परिनियोजन, इसलिए कहने के लिए, "बैकवर्ड" एम्बेडेड है - जब आप इग्नाइट को स्पार्क में एम्बेड करते हैं तो यह खराब काम करता है, लेकिन अगर हम स्पार्क को इग्नाइट में एम्बेड करते हैं, तो यह बेहतर काम करेगा।
हां, मुझे लगता है कि इसे लागू करना संभव होगा। इसे शायद इग्नाइट के बाहर भी लागू किया जा सकता है।
मुझे नहीं लगता कि इग्नाइट बैकलॉग में इसके लिए कोई खुला मुद्दा है, लेकिन आप देव मेलिंग सूची को प्रज्वलित करें।
और अब मुख्य भाग। आप अपने सुझाव से केवल अंतर-प्रक्रिया संचार को अंतर-प्रक्रिया के साथ प्रतिस्थापित कर रहे हैं। आमतौर पर, एक ही होस्ट पर संचार इतना महंगा नहीं होता है। आप इससे कुछ प्रदर्शन लाभ देख सकते हैं, लेकिन मैं इसे केवल तभी लागू करूंगा जब कोई ठोस सबूत हो कि यह एक वास्तविक समस्या को हल करने जा रहा है।