HeadlinesBriefing favicon HeadlinesBriefing.com

AWS पर डेटा पाइपलाइन: स्थानीय धारणाएँ

Towards Data Science •
×

महीनों तक, मैंने अपनी Windows मशीन पर WSL2 में RSS इंजेशन, Docker में Postgres, Kestra ऑर्केस्ट्रेशन और dbt ट्रांसफॉर्मेशन का उपयोग करके एक डेटा पाइपलाइन बनाई। सब कुछ स्थानीय रूप से काम करता था क्योंकि सब कुछ एक ही मशीन पर चलता था। इसे CLI के माध्यम से AWS में स्थानांतरित करने से छिपी हुई धारणाएँ सामने आईं।

Ubuntu 22.04 के साथ t3.small EC2 इंस्टेंस सेट करना आसान था। आश्चर्य में 8GB डिस्क शामिल थी जो बहुत छोटी थी, जिसके लिए growpart और resize2fs की आवश्यकता थी, लेकिन नए Nitro इंस्टेंस ड्राइव को `xvda` के बजाय `nvme0n1` नाम देते हैं। Kestra की इमेज खींचने के दौरान इंस्टेंस "impaired" हो गया, जिसे 1GB स्वैप फ़ाइल जोड़कर ठीक किया गया। एक Elastic IP और सुरक्षा समूह प्रतिबंधों ने छोटे कार्य जोड़े।

rsync, Docker और docker compose के साथ पाइपलाइन स्थानांतरित करना काम कर गया, लेकिन Kestra के फ्लो उसके आंतरिक डेटाबेस में रहते हैं, फ़ाइलों में नहीं, इसलिए मेरे fetch_rss फ्लो को मैनुअल YAML पेस्टिंग की आवश्यकता थी। इसने एक पैटर्न को उजागर किया जहाँ धारणाएँ एक-एक करके टूटती हैं।

असली चुनौती AWS नहीं थी, बल्कि "एक ही मशीन" की धारणाओं पर बनी छिपी निर्भरताएँ थीं, जो मूल निर्माण से अधिक सिखाती हैं।