অ্যাপাচি নিফাই (Apache NiFi) একটি ডেটা ফ্লো ম্যানেজমেন্ট টুল যা ডেটা সংগ্রহ, প্রক্রিয়া এবং স্থানান্তর করতে সহায়ক। নিফাই ব্যবহারকারীদের ডেটা স্থানান্তর ও সংরক্ষণের জন্য শক্তিশালী প্রোসেসরের সুবিধা প্রদান করে। এই প্রোসেসরগুলোর মধ্যে PutFile এবং PutHDFS দুটি জনপ্রিয় প্রোসেসর যা ডেটা স্থানীয় ফাইল সিস্টেম (Local File System) অথবা Hadoop Distributed File System (HDFS) এ সংরক্ষণ করতে ব্যবহৃত হয়।
PutFile Processor
PutFile প্রোসেসরটি ব্যবহার করে নিফাই ডেটা স্থানীয় ফাইল সিস্টেমে সংরক্ষণ করা হয়। এটি ডেটাকে একটি নির্দিষ্ট লোকেশন বা ডিরেক্টরিতে ফাইল আকারে সংরক্ষণ করে। সাধারণত, এই প্রোসেসরটি ফাইল সিস্টেমে ডেটা লিখতে ব্যবহৃত হয় যা পরবর্তী প্রোসেসিং বা অ্যাক্সেসের জন্য ব্যবহার করা যেতে পারে।
ব্যবহার
- Input: প্রোসেসরের মাধ্যমে প্রাপ্ত ডেটা (যেমন ফাইল, ডেটা রেকর্ড ইত্যাদি)
- Process: ফাইল বা ডেটা সংরক্ষণ করতে নির্দিষ্ট ডিরেক্টরি বা লোকেশন ব্যবহার করা
- Output: ফাইল সিস্টেমে ডেটা সংরক্ষণ করা
কনফিগারেশন
- Directory: যেখানে ডেটা সংরক্ষণ করতে চান (ফোল্ডারের পাথ)
- File Name: ফাইলের নাম বা ফাইলের নাম কনফিগারেশন (ডাইনামিক ফাইল নামও দেওয়া যেতে পারে)
- Conflict Resolution Strategy: যদি একই নামের ফাইল আগে থেকে থাকে, তাহলে কী করা হবে (যেমন
replace,ignore,fail)
উদাহরণ
ধরা যাক, আপনি একটি ফাইল সিস্টেমে ডেটা সংরক্ষণ করতে চান এবং যদি কোনো ফাইল একই নামের থাকে তবে তা প্রতিস্থাপন করতে চান।
- PutFile প্রোসেসর কনফিগার করুন:
- Directory:
/home/user/data/ - Conflict Resolution Strategy:
replace
- Directory:
এখন, প্রতিবার যখন নতুন ডেটা আসবে, এটি /home/user/data/ ফোল্ডারে সংরক্ষণ হবে এবং যদি কোনো ফাইল আগে থেকে থাকে, তা প্রতিস্থাপন হবে।
PutHDFS Processor
PutHDFS প্রোসেসরটি ডেটাকে Hadoop Distributed File System (HDFS) এ সংরক্ষণ করতে ব্যবহৃত হয়। HDFS হল একটি উচ্চক্ষমতাসম্পন্ন এবং স্কেলেবল ডিস্ট্রিবিউটেড ফাইল সিস্টেম যা বড় পরিমাণের ডেটা সংরক্ষণ এবং অ্যাক্সেসের জন্য ব্যবহৃত হয়।
ব্যবহার
- Input: HDFS-এ ফাইল বা ডেটা সংরক্ষণ করতে প্রোসেসর থেকে ডেটা আসে
- Process: নির্দিষ্ট HDFS লোকেশন বা ডিরেক্টরিতে ডেটা সংরক্ষণ
- Output: HDFS-এ ডেটা সংরক্ষিত হয়
কনফিগারেশন
- HDFS URL: HDFS ক্লাস্টারের URL যেখানে ডেটা সংরক্ষণ করতে চান
- Directory: HDFS এর ডিরেক্টরি যেখানে ডেটা সংরক্ষণ হবে
- File Name: ফাইলের নাম, যেটি ডাইনামিকও হতে পারে
- Conflict Resolution Strategy: যদি একই নামের ফাইল ইতিমধ্যে থাকে, তাহলে কী করা হবে (যেমন
replace,ignore,fail)
উদাহরণ
ধরা যাক, আপনি HDFS-এ একটি ফাইল সংরক্ষণ করতে চান এবং যদি একই নামের ফাইল আগে থেকে থাকে, তবে তা প্রতিস্থাপন করতে চান।
- PutHDFS প্রোসেসর কনফিগার করুন:
- HDFS URL:
hdfs://localhost:9000 - Directory:
/user/hadoop/data/ - Conflict Resolution Strategy:
replace
- HDFS URL:
এখন, প্রতি ডেটা আসলে এটি /user/hadoop/data/ ডিরেক্টরিতে HDFS-এ সংরক্ষিত হবে এবং যদি কোনো ফাইল আগে থেকে থাকে, তা প্রতিস্থাপন হবে।
PutFile এবং PutHDFS এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | PutFile | PutHDFS |
|---|---|---|
| ব্যবহার | স্থানীয় ফাইল সিস্টেমে ডেটা সংরক্ষণ | Hadoop Distributed File System (HDFS)-এ ডেটা সংরক্ষণ |
| স্টোরেজ | স্থানীয় ডিরেক্টরি বা ফোল্ডার | HDFS ক্লাস্টার |
| প্রধান সুবিধা | সাধারণ ফাইল সিস্টেমে সহজ এবং দ্রুত সংরক্ষণ | বড় পরিসরের ডেটা স্টোরেজ এবং স্কেলেবিলিটি |
| কনফিগারেশন | ফাইল পাথ এবং কনফ্লিক্ট রেজল্যুশন স্ট্র্যাটেজি | HDFS URL এবং ডিরেক্টরি পাথ |
সারাংশ
অ্যাপাচি নিফাইয়ের PutFile এবং PutHDFS প্রোসেসর দুটি ডেটা সংরক্ষণ করার জন্য ব্যবহৃত হয়, তবে তাদের ব্যবহারের ক্ষেত্রে পার্থক্য রয়েছে। PutFile স্থানীয় ফাইল সিস্টেমে ডেটা সংরক্ষণ করতে ব্যবহৃত হয়, যেখানে PutHDFS HDFS-এ ডেটা সংরক্ষণ করার জন্য ব্যবহৃত হয়। এই দুটি প্রোসেসর ব্যবহার করে আপনি আপনার ডেটা সিস্টেমের প্রয়োজনীয়তা অনুযায়ী সঠিক স্টোরেজ ব্যবস্থা নির্বাচন করতে পারেন।
Read more