অ্যাপাচি নিফাই (Apache NiFi) একটি অত্যন্ত নমনীয় এবং প্রসারযোগ্য ডেটা ইন্টিগ্রেশন টুল, যা বিভিন্ন ধরনের ডেটা প্রোসেসিং কার্যক্রম সম্পাদন করতে পারে। নিফাইয়ের Extension API এবং Custom Processor Integration এর মাধ্যমে আপনি কাস্টম প্রোসেসর তৈরি করতে পারেন, যা আপনার সুনির্দিষ্ট ডেটা প্রোসেসিং চাহিদা পূরণে সহায়ক হতে পারে। নিফাইয়ের এক্সটেনশন API-এর মাধ্যমে ব্যবহারকারীরা নতুন প্রোসেসর, সার্ভিস, বা অন্যান্য এক্সটেনশন তৈরি করতে পারে, যা নিফাইয়ের বিদ্যমান ফিচারগুলির সঙ্গে একত্রিত হয়।
এই গাইডে, আমরা NiFi Extension API এবং Custom Processor Integration এর ব্যবহার এবং কনফিগারেশন নিয়ে বিস্তারিতভাবে আলোচনা করব।
অ্যাপাচি নিফাই Extension API একটি শক্তিশালী ফিচার যা আপনাকে নিফাইয়ের জন্য কাস্টম এক্সটেনশন তৈরি করতে সক্ষম করে। এক্সটেনশনগুলি প্রোসেসর, কনট্রোলার সার্ভিস, রিপোর্টিং টাস্ক, এবং অন্যান্য বিভিন্ন উপাদান হতে পারে।
AbstractProcessor
ক্লাস ব্যবহার করবেন, যা নিফাইয়ের ডেটা প্রোসেসিং কাজের জন্য বেস ফাংশনালিটি সরবরাহ করে। কাস্টম প্রোসেসর তৈরি করতে আপনাকে প্রাথমিকভাবে @Tags, @InputRequirement, @CapabilityDescription ইত্যাদি এনোটেশন ব্যবহার করতে হবে।AbstractControllerService
ক্লাস ব্যবহার করা হয়।AbstractProcessor
অথবা Processor
ইন্টারফেস ইমপ্লিমেন্ট করে কাস্টম প্রোসেসর তৈরি করা হয়।AbstractControllerService
বা ControllerService
ইন্টারফেস কাস্টম কনট্রোলার সার্ভিস তৈরির জন্য।AbstractReportingTask
ইন্টারফেস ব্যবহার করে কাস্টম রিপোর্টিং টাস্ক তৈরি করা হয়।কাস্টম প্রোসেসর ইন্টিগ্রেশন নিফাই প্ল্যাটফর্মে নতুন ফাংশনালিটি যোগ করতে সাহায্য করে। যখন আপনাকে বিদ্যমান প্রোসেসরের বাইরে কিছু কাস্টম ফিচার প্রয়োজন হয়, তখন কাস্টম প্রোসেসর তৈরি করা উপকারী।
Maven প্রোজেক্ট তৈরি করা:
নিফাই প্রোসেসর তৈরি করতে হলে, আপনাকে প্রথমে একটি Maven প্রোজেক্ট তৈরি করতে হবে এবং এর মধ্যে নিফাই সম্পর্কিত ডিপেনডেন্সি যোগ করতে হবে। উদাহরণস্বরূপ:
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-api</artifactId>
<version>1.x.x</version>
</dependency>
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-processor-api</artifactId>
<version>1.x.x</version>
</dependency>
Processor কোড লেখা:
কাস্টম প্রোসেসর কোডে আপনাকে AbstractProcessor
ক্লাসটি ইমপ্লিমেন্ট করতে হবে। এখানে একটি সাধারণ কাস্টম প্রোসেসর উদাহরণ দেওয়া হলো:
public class MyCustomProcessor extends AbstractProcessor {
@Override
public void onTrigger(ProcessContext context, ProcessSession session) throws ProcessException {
// আপনার প্রোসেসিং কোড
FlowFile flowFile = session.get();
if (flowFile == null) {
return;
}
// ডেটা প্রক্রিয়া করা
session.transfer(flowFile, SUCCESS);
}
}
এখানে onTrigger
মেথডে, আপনার প্রোসেসরের কার্যকারিতা থাকবে, যেখানে আপনি FlowFile
গ্রহণ করে তাকে প্রক্রিয়া করবেন।
কাস্টম প্রোসেসর কনফিগারেশন:
কাস্টম প্রোসেসরের কনফিগারেশন এবং প্রপার্টি চেক করতে হবে। সাধারণত, @InputRequirement
এবং @Property
এনোটেশন ব্যবহার করা হয়:
@Property(label = "Property", description = "This is a custom property")
private String propertyValue;
ফাইল বিল্ড এবং JAR তৈরি:
Maven ব্যবহার করে আপনার প্রোজেক্টটি বিল্ড করুন এবং JAR ফাইল তৈরি করুন:
mvn clean install
JAR ফাইল নিফাইয়ে ডিপ্লয়:
তৈরি হওয়া JAR ফাইলটি নিফাইয়ের lib
ডিরেক্টরিতে কপি করুন:
cp target/my-custom-processor-1.0.jar /opt/nifi/lib/
নিফাই সার্ভিস রিস্টার্ট করুন:
JAR ফাইল ডিপ্লয় করার পর নিফাই সার্ভিস পুনরায় চালু করতে হবে:
./bin/nifi.sh restart
অ্যাপাচি নিফাইয়ের NiFi Extension API এবং Custom Processor Integration নিফাইয়ের ক্ষমতাকে ব্যাপকভাবে প্রসারিত করে। আপনি কাস্টম প্রোসেসর তৈরি করতে এবং নিফাইয়ের প্ল্যাটফর্মে নতুন কার্যকারিতা যুক্ত করতে পারেন, যা ডেটা ফ্লো প্রক্রিয়া এবং স্কেলেবিলিটিকে আরও উন্নত করতে সহায়ক। Maven ব্যবহার করে কাস্টম প্রোসেসর তৈরি এবং নিফাইতে ইন্টিগ্রেট করা একটি সহজ প্রক্রিয়া, যা আপনার সুনির্দিষ্ট ডেটা প্রক্রিয়া চাহিদা পূরণে সাহায্য করে।
common.read_more