অ্যাপাচি নিফাই (Apache NiFi) একটি শক্তিশালী ডেটা ফ্লো ব্যবস্থাপনা প্ল্যাটফর্ম, যা ডেটা সংগ্রহ, প্রক্রিয়া এবং স্থানান্তর করতে ব্যবহৃত হয়। NiFi-তে Dynamic Property এবং Parameter দুটি গুরুত্বপূর্ণ কনফিগারেশন টুল, যা ফ্লো কনফিগারেশনকে আরও ডাইনামিক এবং নমনীয় করে তোলে। এগুলি ব্যবহার করে আপনি ফ্লো কনফিগারেশনকে সহজে পরিবর্তন করতে পারেন এবং আপনার ডেটা ফ্লো এর কার্যক্রম আরও উপযোগী করে তুলতে পারেন।
Dynamic Property হল NiFi প্রোসেসর বা অন্যান্য উপাদানের কনফিগারেশনে ব্যবহার করা এমন প্রপার্টি (অথবা সেটিংস), যার মান NiFi Expression Language ব্যবহার করে রানটাইমের সময় পরিবর্তন করা যায়। এর মাধ্যমে আপনি একাধিক কনফিগারেশন মান নির্ধারণ করতে পারেন যা প্রোসেসরের কার্যক্রমের উপর ভিত্তি করে পরিবর্তিত হবে।
ধরা যাক, আপনি একটি প্রোসেসর দিয়ে ফাইল পাথ নির্ধারণ করতে চান এবং সেই পাথটি NiFi Expression Language ব্যবহার করে নির্দিষ্ট শর্ত অনুযায়ী পরিবর্তন করতে চান।
file.path
${if(${file.type} == 'csv'):'/data/csv' : '/data/json'}
এই Dynamic Property-টি ডেটার টাইপ (যেমন csv
বা json
) অনুযায়ী ফাইল পাথ নির্ধারণ করবে।
file.path
${if(${file.type} == 'csv'):'/data/csv' : '/data/json'}
এটি NiFi Expression Language এর মাধ্যমে ডাইনামিকভাবে পাথ পরিবর্তন করবে, যেখানে ফাইলের টাইপের উপর ভিত্তি করে পাথ পরিবর্তিত হবে।
Parameter NiFi-তে এমন একটি কনফিগারেশন মান যা টেমপ্লেট বা ডেটা ফ্লোর বিভিন্ন অংশে ব্যবহার করা যেতে পারে। Parameters গুলি ফ্লো কনফিগারেশনকে আরও পুনঃব্যবহারযোগ্য এবং কনফিগারেবল করে তোলে, কারণ আপনি একাধিক প্রোসেসর বা ফ্লো গ্রুপে একই ভ্যালু রিইউজ করতে পারেন।
ধরা যাক, আপনি একটি ডেটাবেসে সংযোগ করতে চান এবং সেই সংযোগের জন্য ইউজারনেম, পাসওয়ার্ড এবং ইউআরএল কনফিগার করতে চান।
db.username
myuser
db.password
mypassword
db.url
jdbc:mysql://localhost:3306/mydb
এগুলি Parameters হিসেবে ব্যবহার করা যেতে পারে এবং সেই মান একাধিক প্রোসেসর বা ফ্লো গ্রুপে রিইউজ করা যাবে। আপনি যখন এক বা একাধিক প্রোসেসরের মধ্যে একটি Parameter ব্যবহার করবেন, তখন সেটি কাস্টমাইজড ভ্যালু হিসেবে কাজ করবে।
বৈশিষ্ট্য | Dynamic Property | Parameter |
---|---|---|
ব্যবহার | একক প্রোসেসরের কনফিগারেশনে প্রপার্টি মান পরিবর্তন করা | একাধিক প্রোসেসর বা ফ্লো গ্রুপে পুনঃব্যবহারযোগ্য কনফিগারেশন |
ভ্যালু পরিবর্তন | NiFi Expression Language ব্যবহার করে রানটাইমে মান পরিবর্তন | নির্দিষ্ট মান দিয়ে কনফিগার করা, যা বিভিন্ন ফ্লোতে রিইউজ করা যায় |
ব্যবহারের পরিসর | একটি নির্দিষ্ট প্রোসেসরের জন্য | একাধিক প্রোসেসর বা গ্রুপে ব্যবহৃত হতে পারে |
সিনট্যাক্স | NiFi Expression Language | সাধারণ ভ্যালু বা কাস্টম প্যারামিটার |
Dynamic Property এবং Parameter NiFi-এর দুটি গুরুত্বপূর্ণ কনফিগারেশন টুল, যা ডেটা ফ্লো এবং প্রোসেসর কনফিগারেশনকে আরও ডাইনামিক, নমনীয় এবং পুনঃব্যবহারযোগ্য করে তোলে। Dynamic Property ব্যবহার করে আপনি রানটাইমে প্রোসেসরের প্রপার্টির মান পরিবর্তন করতে পারেন, যেখানে Parameter দিয়ে আপনি একাধিক ফ্লো বা প্রোসেসরের জন্য একক কনফিগারেশন মান ব্যবহার করতে পারেন। এদের মাধ্যমে আপনি আপনার NiFi ডেটা ফ্লো আরো সহজে কাস্টমাইজ এবং পরিচালনা করতে পারবেন।
common.read_more