প্রকল্প সম্পর্কে
Apache Beam ডেটা প্রসেসিং পাইপলাইন তৈরির জন্য একটি ইউনিফাইড মডেল প্রদান করে যা বাউন্ডেড (batch) এবং আনবাউন্ডেড (streaming) উভয় ধরণের ডেটা পরিচালনা করতে পারে। এটি পাইপলাইন সংজ্ঞাকে এক্সিকিউশন এনভায়রনমেন্ট থেকে আলাদা করে, যার ফলে ডেভেলপাররা একবার লজিক লিখে তা বিভিন্ন ডিস্ট্রিবিউটেড প্রসেসিং ব্যাকএন্ডে চালাতে পারেন।
Beam মডেলের মূল উপাদানগুলোর মধ্যে রয়েছে:
- PCollection: যেকোনো আকারের ডেটাসেট উপস্থাপন করে।
- PTransform: একটি কম্পিউটেশন উপস্থাপন করে যা ইনপুট ডেটাকে আউটপুট ডেটাতে রূপান্তর করে।
- Pipeline: ট্রান্সফর্ম এবং কালেকশনের ডিরেক্টেড অ্যাসাইক্লিক গ্রাফ (DAG) পরিচালনা করে।
- PipelineRunner: এক্সিকিউশন এনভায়রনমেন্ট নির্ধারণ করে।
Beam জাভা (Java), পাইথন (Python) এবং গো (Go)-এর জন্য SDK প্রদান করে। এটি এক্সিকিউশনের জন্য একাধিক রানার সমর্থন করে, যার মধ্যে রয়েছে:
- DirectRunner এবং PrismRunner (লোকাল এক্সিকিউশন)
- Google Cloud Dataflow
- Apache Flink
- Apache Spark
- Hazelcast Jet
- Twister2