मुख्य विषयवस्तु में जाएं

API संदर्भ

इलम एपीआई इलम की कार्यक्षमता की रीढ़ बनाता है, एक प्रोग्रामेटिक इंटरफ़ेस प्रदान करता है जो उपयोगकर्ताओं को उनके अपाचे स्पार्क क्लस्टर और नौकरियों के साथ बातचीत करने की अनुमति देता है। यह रीस्टफुल एपीआई मजबूत, लचीला और सहज ज्ञान युक्त होने के लिए डिज़ाइन किया गया है, जिससे डेवलपर्स को अपने मौजूदा अनुप्रयोगों और वर्कफ़्लोज़ में इलम की क्षमताओं को मूल रूप से एकीकृत करने में सक्षम बनाया गया है।

इलम का ओपनएपीआई विनिर्देश पाया जा सकता है यहाँ

महत्व

  • वास्तविक समय अन्तरक्रियाशीलता: शायद इलम एपीआई की सबसे शक्तिशाली विशेषताओं में से एक वास्तविक समय के इंटरैक्टिव स्पार्क नौकरियों को संभालने की क्षमता है। यह सुविधा अनुप्रयोगों को स्पार्क संदर्भ आरंभीकरण की प्रतीक्षा किए बिना, तुरंत संसाधित करने के लिए डेटा भेजने की अनुमति देती है। इस तरह की रीयल-टाइम अन्तरक्रियाशीलता उन अनुप्रयोगों के लिए अमूल्य हो सकती है जिन्हें अपने डेटा से तत्काल अंतर्दृष्टि की आवश्यकता होती है।

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

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

  • स्केलेबिलिटी और लचीलापन: इलम एपीआई को स्केलेबिलिटी को ध्यान में रखकर डिजाइन किया गया था, जिससे यह केवल एक नोड से लेकर सैकड़ों नोड्स तक के स्पार्क क्लस्टर के प्रबंधन को संभालने की अनुमति देता है। इसके अलावा, इसके RESTful डिज़ाइन का अर्थ है कि यह मानक HTTP विधियों पर आधारित है, जो इसे किसी भी प्लेटफ़ॉर्म या भाषा से सुलभ बनाता है जो HTTP अनुरोध कर सकता है।

संक्षेप में, इलम एपीआई इलम की पेशकश का एक महत्वपूर्ण हिस्सा है, जो अपाचे स्पार्क क्लस्टर के प्रबंधन और निगरानी के लिए उच्च स्तर के स्वचालन, एकीकरण और वास्तविक समय की अन्तरक्रियाशीलता को सक्षम करता है। यह किसी भी संगठन के लिए एक शक्तिशाली उपकरण है जो स्पार्क की शक्ति का लचीले, स्केलेबल और कुशल तरीके से लाभ उठाना चाहता है।

इलम एपीआई के साथ बातचीत

यह मार्गदर्शिका इलम एपीआई के साथ बातचीत करने के तरीके के उदाहरण प्रदान करती है। उदाहरण का उपयोग करेंगे छल्‍ला कमांड लाइन टूल, लेकिन आपके चुने हुए HTTP क्लाइंट की परवाह किए बिना समान सिद्धांत लागू होते हैं।

इलम-कोर का पर्दाफाश करें

सबसे पहले, इलम कोर निम्न आदेश का उपयोग करके पोर्ट 9888 पर सेवा:

kubectl port-forward svc/ilum-core 9888:9888

यह इलम सेवा के साथ स्थानीय बातचीत की अनुमति देता है।

उपलब्ध क्लस्टर प्राप्त करें

उपलब्ध क्लस्टर की सूची प्राप्त करने के लिए, निम्नलिखित निष्पादित करें मिलना निवेदन:

छल्‍ला "http://localhost:9888/api/v1/cluster"

पहला क्लस्टर प्रारंभिक परिनियोजन के दौरान बनाया गया है और इलम द्वारा उपयोग किए जाने वाले कुबेरनेट्स उदाहरण के साथ काम करने के लिए पूर्व-कॉन्फ़िगर किया गया है।

एक स्पार्क जॉब ग्रुप बनाएं

इलम के साथ बातचीत शुरू करने के लिए, आपको अपने स्पार्क एप्लिकेशन वाली जेएआर फ़ाइल अपलोड करके एक स्केलेबल स्पार्क जॉब ग्रुप बनाना होगा। निम्नलिखित का प्रयोग करें के बाद समूह बनाने का अनुरोध:

छल्‍ला -X के बाद 'http://localhost:9888/api/v1/group' \
--form 'jars=@"/path/to/local/file/ilum-job-example.jar"' \
--form 'scale="1"' \
--form 'clusterName="default"' \
--form 'name="example-group"'

सफल होने पर, यह अनुरोध एक समूह आईडी लौटाएगा। आप इस आईडी को बाद में चलाकर पुनः प्राप्त कर सकते हैं:

छल्‍ला http://localhost:9888/api/v1/group

नौकरी चलाएं और परिणाम प्राप्त करें

समूह के भीतर एक कार्य निष्पादित करने और परिणाम प्राप्त करने के लिए, निम्नलिखित का उपयोग करें के बाद निवेदन। बदलना सुनिश्चित करें GROUP_ID अपने समूह की वास्तविक आईडी के साथ:

छल्‍ला -X के बाद 'http://localhost:9888/api/v1/group/GROUP_ID/job/execute' \
--header 'Content-Type: application/json' \
--data-raw '{
"प्रकार": "interactive_job_execute",
"जॉबक्लास": "cloud.ilum.job.example.ExampleJob",
"jobConfig": {
"पैरामीटर": "ILUM में आपका स्वागत है"
}
}'

यह अनुरोध निर्दिष्ट समूह में काम शुरू करेगा और नौकरी का परिणाम लौटाएगा।

ओपनएपीआई 3.0

OpenAPI 3.0 RESTful API के डिजाइन, निर्माण और दस्तावेज़ीकरण के लिए व्यापक रूप से अपनाया गया मानक है। Ilum API के लिए OpenAPI 3.0 का उपयोग करने से कई महत्वपूर्ण लाभ मिलते हैं:

  • मानकीकरण: OpenAPI 3.0 API को डिज़ाइन करने और दस्तावेज़ीकरण के लिए एक स्पष्ट और मानकीकृत संरचना प्रदान करता है। यह इंटरऑपरेबिलिटी को बढ़ावा देता है और उन डेवलपर्स के लिए सीखने की अवस्था को कम करता है जो पहले से ही OpenAPI मानक से परिचित हैं।

  • इंटरएक्टिव प्रलेखन: OpenAPI 3.0 इंटरैक्टिव API दस्तावेज़ीकरण की पीढ़ी का समर्थन करता है। यह न केवल डेवलपर्स को यह समझने में मदद करता है कि एपीआई का उपयोग कैसे किया जाए, बल्कि उन्हें प्रलेखन से सीधे एपीआई कॉल को आज़माने, उपयोगिता में सुधार और परीक्षण में सहायता करने में भी सक्षम बनाता है।

  • कोड जनरेशन: ऐसे कई उपकरण उपलब्ध हैं जो OpenAPI विनिर्देश से विभिन्न भाषाओं में क्लाइंट SDK उत्पन्न कर सकते हैं। यह विकास को काफी गति दे सकता है और यह सुनिश्चित कर सकता है कि उत्पन्न कोड एपीआई के डिजाइन के अनुरूप है।

  • सत्यापन और परीक्षण: OpenAPI 3.0 विनिर्देशों का उपयोग API अनुरोधों और प्रतिक्रियाओं को स्वचालित रूप से मान्य करने के लिए किया जा सकता है, जिससे विकास प्रक्रिया में त्रुटियों और विसंगतियों को जल्दी पकड़ने में मदद मिलती है। उनका उपयोग परीक्षण मामलों को उत्पन्न करने के लिए भी किया जा सकता है, जिससे गुणवत्ता आश्वासन में और सहायता मिलती है।

ओपनएपीआई 3.0 का उपयोग करके, इलम एपीआई न केवल इन लाभों को प्राप्त करता है, बल्कि उपकरणों और सर्वोत्तम प्रथाओं के एक विस्तृत पारिस्थितिकी तंत्र के साथ खुद को संरेखित करता है, जिससे इसकी उपयोगिता, विश्वसनीयता और रखरखाव में वृद्धि होती है।