প্রকল্প সম্পর্কে
লুইজি হলো একটি পাইথন প্যাকেজ (পাইথন ৩.১০ থেকে ৩.১৪ পর্যন্ত পরীক্ষিত) যা ব্যাচ জবের জটিল পাইপলাইন তৈরির জন্য ব্যবহৃত হয়। এটি নির্ভরতা সমাধান, ওয়ার্কফ্লো ব্যবস্থাপনা, ভিজ্যুয়ালাইজেশন, ব্যর্থতা পরিচালনা, কমান্ড-লাইন ইন্টিগ্রেশন এবং আরও অনেক কিছু নিয়ে কাজ করে।
ইনস্টলেশন pip-এর মাধ্যমে করা যায়: `pip install luigi` — PyPI থেকে সর্বশেষ স্থিতিশীল রিলিজের জন্য, অথবা `pip install luigi[toml]` — TOML-ভিত্তিক কনফিগারেশন সমর্থন যোগ করতে। অত্যাধুনিক কোড সরাসরি GitHub রিপোজিটরি থেকে ইনস্টল করা যেতে পারে।
পটভূমি: লুইজি দীর্ঘকাল ধরে চলমান ব্যাচ প্রক্রিয়াগুলির সাথে যুক্ত পাইপলাইনিং সমস্যার সমাধান করে। কাজ যেকোনো কিছু হতে পারে, তবে সাধারণত এগুলো দীর্ঘমেয়াদী কাজ যেমন হাডুপ জব, ডাটাবেসে বা থেকে ডেটা ডাম্প করা, বা মেশিন লার্নিং অ্যালগরিদম চালানো। লুইজি Hive, Pig বা Cascading-এর মতো নিম্নস্তরের ডেটা প্রক্রিয়াকরণ টুল প্রতিস্থাপনের জন্য তৈরি নয়; বরং এটি অনেকগুলো কাজকে একসাথে যুক্ত করে, যেখানে প্রতিটি কাজ একটি Hive কোয়েরি, জাভায় একটি হাডুপ জব, স্কালা বা পাইথনে একটি Spark জব, একটি পাইথন স্নিপেট, ডাটাবেস টেবিল ডাম্প বা অন্য যেকোনো কিছু হতে পারে। এটি হাজার হাজার কাজ সমন্বিত দীর্ঘমেয়াদী পাইপলাইন তৈরি সমর্থন করে, যা সম্পূর্ণ হতে দিন বা সপ্তাহ সময় নেয়।
লুইজির সাথে সাধারণ টাস্ক টেমপ্লেটগুলির একটি টুলবক্স রয়েছে, যার মধ্যে হাডুপে পাইথন mapreduce জব এবং Hive ও Pig জবের সমর্থন অন্তর্ভুক্ত। এটি HDFS এবং লোকাল ফাইলগুলির জন্য ফাইল সিস্টেম বিমূর্ততা প্রদান করে যা নিশ্চিত করে যে ফাইল সিস্টেম অপারেশনগুলো পারমাণবিক, ফলে ডেটা পাইপলাইন আংশিক ডেটা ধারণকারী অবস্থায় ক্র্যাশ হবে না।
লুইজি সার্ভার একটি ওয়েব ইন্টারফেস অন্তর্ভুক্ত করে যা কাজ অনুসন্ধান ও ফিল্টার করার জন্য, এবং ভিজ্যুয়ালাইজার একটি ওয়ার্কফ্লোর নির্ভরতা গ্রাফের গ্রাফিক্যাল ওভারভিউ সরবরাহ করে, যেখানে প্রতিটি নোড একটি চালানোর জন্য কাজ নির্দেশ করে এবং রঙ সম্পন্ন বনাম অপেক্ষমাণ কাজ নির্দেশ করে।
দর্শন: ধারণাগতভাবে লুইজি GNU Make-এর মতো, যেখানে কাজ অন্যান্য কাজের উপর নির্ভর করতে পারে, এবং Oozie ও Azkaban-এর সাথেও কিছু মিল রয়েছে। একটি বড় পার্থক্য হলো লুইজি বিশেষভাবে হাডুপের জন্য তৈরি নয় এবং অন্যান্য ধরণের কাজ দিয়ে বাড়ানো যায়। সবকিছু পাইথনে: XML কনফিগারেশন বা অনুরূপ বাহ্যিক ডেটা ফাইলের পরিবর্তে, নির্ভরতা গ্রাফ পাইথনের মধ্যে নির্দিষ্ট করা হয়, যার ফলে জটিল নির্ভরতা গ্রাফ তৈরি করা সহজ হয় যেখানে নির্ভরতায় তারিখ বীজগণিত বা একই কাজের অন্যান্য সংস্করণের পুনরাবৃত্তিমূলক রেফারেন্স জড়িত থাকতে পারে। ওয়ার্কফ্লো পাইথনের বাইরেও জিনিস ট্রিগার করতে পারে, যেমন Pig স্ক্রিপ্ট চালানো বা scp দিয়ে ফাইল কপি করা।
ব্যবহার: Spotify-এ লুইজি অভ্যন্তরীণভাবে প্রতিদিন হাজার হাজার কাজ চালাতে ব্যবহৃত হয়, যা জটিল নির্ভরতা গ্রাফে সংগঠিত, বেশিরভাগ হাডুপ জব, যা সুপারিশ, টপলিস্ট, A/B পরীক্ষা বিশ্লেষণ, বাহ্যিক রিপোর্ট এবং অভ্যন্তরীণ ড্যাশবোর্ড চালায়। README-তে আরও অনেক সংস্থার তালিকা রয়েছে যারা লুইজি সম্পর্কে লিখেছে বা উপস্থাপনা করেছে, যার মধ্যে রয়েছে 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, সাথে আরও কোম্পানি যারা এটি সম্পর্কে প্রকাশ করেনি। সঠিক ব্যবহারকারীর সংখ্যা অজানা কারণ লুইজি ওপেন সোর্স এবং নিবন্ধনের প্রয়োজন নেই।
বাহ্যিক লিংকগুলির মধ্যে রয়েছে আলোচনা এবং প্রশ্নের জন্য একটি Google Groups মেইলিং তালিকা, PyPI রিলিজ, GitHub সোর্স কোড এবং Slack, Hipchat ও অনুরূপ পরিষেবাগুলির জন্য একটি Hubot ইন্টিগ্রেশন প্লাগইন।
লেখক: লুইজি Spotify-এ নির্মিত হয়েছিল, মূলত Erik Bernhardsson এবং Elias Freider-এর দ্বারা, এবং ২০১২ সালের শেষের দিকে ওপেন সোর্স হওয়ার পর থেকে আরও অনেক অবদানকারী রয়েছেন। Arash Rouhani ২০১৫ থেকে ২০১৯ পর্যন্ত প্রধান রক্ষণাবেক্ষণকারী ছিলেন, এবং এখন Spotify-এর ডেটা টিম লুইজি রক্ষণাবেক্ষণ করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.