इस प्रोजेक्ट के बारे में
Luigi एक Python पैकेज है (Python 3.10 से 3.14 तक पर परीक्षण किया गया) जो बैच जॉब्स के जटिल पाइपलाइन बनाने के लिए है। यह निर्भरता समाधान, वर्कफ़्लो प्रबंधन, विज़ुअलाइज़ेशन, विफलता प्रबंधन, कमांड-लाइन एकीकरण और अधिक को संभालता है।
स्थापना pip के माध्यम से होती है: PyPI से नवीनतम स्थिर रिलीज़ के लिए `pip install luigi`, या TOML-आधारित कॉन्फ़िगरेशन समर्थन जोड़ने के लिए `pip install luigi[toml]`। ब्लीडिंग-एज कोड को सीधे GitHub रिपॉज़िटरी से स्थापित किया जा सकता है।
पृष्ठभूमि: Luigi लंबे समय तक चलने वाली बैच प्रक्रियाओं से जुड़ी पाइपलाइनिंग को संबोधित करता है। कार्य कुछ भी हो सकते हैं, लेकिन आम तौर पर लंबे समय तक चलने वाले जॉब होते हैं जैसे Hadoop जॉब, डेटाबेस से या में डेटा डंप करना, या मशीन लर्निंग एल्गोरिदम चलाना। Luigi का उद्देश्य Hive, Pig या Cascading जैसे निचले स्तर के डेटा प्रोसेसिंग टूल को बदलना नहीं है; इसके बजाय यह कई कार्यों को एक साथ जोड़ता है, जहाँ प्रत्येक कार्य Hive क्वेरी, Java में Hadoop जॉब, Scala या Python में Spark जॉब, Python स्निपेट, डेटाबेस टेबल डंप, या कुछ और हो सकता है। यह हजारों कार्यों से युक्त लंबे समय तक चलने वाली पाइपलाइन बनाने का समर्थन करता है जिन्हें पूरा होने में दिन या सप्ताह लगते हैं।
Luigi सामान्य कार्य टेम्पलेट्स के टूलबॉक्स के साथ आता है, जिसमें Hadoop में Python mapreduce जॉब्स के साथ-साथ Hive और Pig जॉब्स के लिए समर्थन शामिल है। यह HDFS और स्थानीय फ़ाइलों के लिए फ़ाइल सिस्टम अमूर्तन भी प्रदान करता है जो सुनिश्चित करते हैं कि फ़ाइल सिस्टम संचालन परमाणु हैं, ताकि डेटा पाइपलाइन आंशिक डेटा वाली स्थिति में क्रैश न हो।
Luigi सर्वर में कार्यों को खोजने और फ़िल्टर करने के लिए एक वेब इंटरफ़ेस शामिल है, और विज़ुअलाइज़र वर्कफ़्लो के निर्भरता ग्राफ़ का ग्राफिकल अवलोकन प्रदान करता है, जहाँ प्रत्येक नोड चलाए जाने वाले कार्य का प्रतिनिधित्व करता है और रंग पूर्ण बनाम लंबित कार्यों को इंगित करते हैं।
दर्शन: अवधारणात्मक रूप से Luigi GNU Make के समान है, जिसमें कार्य अन्य कार्यों पर निर्भर हो सकते हैं, और Oozie और Azkaban के साथ कुछ समानताएँ साझा करता है। एक बड़ा अंतर यह है कि Luigi विशेष रूप से Hadoop के लिए नहीं बनाया गया है और इसे अन्य प्रकार के कार्यों के साथ बढ़ाया जा सकता है। सब कुछ Python में है: XML कॉन्फ़िगरेशन या समान बाहरी डेटा फ़ाइलों के बजाय, निर्भरता ग्राफ़ Python के भीतर निर्दिष्ट किया जाता है, जिससे जटिल निर्भरता ग्राफ़ बनाना आसान हो जाता है जहाँ निर्भरता में दिनांक बीजगणित या उसी कार्य के अन्य संस्करणों के पुनरावर्ती संदर्भ शामिल हो सकते हैं। वर्कफ़्लो अभी भी Python के बाहर चीजों को ट्रिगर कर सकते हैं, जैसे कि Pig स्क्रिप्ट चलाना या scp'ing फ़ाइलें।
अपनाना: Luigi का उपयोग Spotify पर आंतरिक रूप से हर दिन हजारों कार्यों को चलाने के लिए किया जाता है, जो जटिल निर्भरता ग्राफ़ में व्यवस्थित होते हैं, ज्यादातर Hadoop जॉब, जो अनुशंसाओं, टॉपलिस्ट, A/B परीक्षण विश्लेषण, बाहरी रिपोर्ट और आंतरिक डैशबोर्ड को शक्ति प्रदान करते हैं। README कई अन्य संगठनों को सूचीबद्ध करता है जिन्होंने Luigi के बारे में लिखा या प्रस्तुत किया है, जिनमें Foursquare, Stripe, Buffer, SeatGeek, Treasure Data, AdRoll, Groupon/OrderUp, Red Hat Marketing Operations, GetNinjas, voyages-sncf.com, Open Targets, Leipzig University Library, Glossier, Data Revenue, Uppsala University, GIPHY, xtream और CIAN शामिल हैं, साथ ही अतिरिक्त कंपनियाँ जिन्होंने इसके बारे में प्रकाशित नहीं किया है। उपयोगकर्ताओं की सटीक संख्या अज्ञात है क्योंकि Luigi बिना पंजीकरण दीवारों के ओपन सोर्स है।
बाहरी लिंक में चर्चा और प्रश्नों के लिए Google Groups मेलिंग सूची, PyPI रिलीज़, GitHub स्रोत कोड, और Slack, Hipchat और समान सेवाओं के लिए Hubot एकीकरण प्लगइन शामिल हैं।
लेखक: Luigi Spotify में बनाया गया था, मुख्य रूप से Erik Bernhardsson और Elias Freider द्वारा, और 2012 के अंत में ओपन सोर्स होने के बाद से कई अन्य योगदानकर्ताओं के साथ। Arash Rouhani 2015 से 2019 तक मुख्य अनुरक्षक थे, और Spotify का डेटा टीम अब Luigi का अनुरक्षण करती है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.