MapReduce Program এর জন্য Input এবং Output Formats

Big Data and Analytics - হাদুপ (Hadoop) - MapReduce Programming in Hadoop
293

MapReduce প্রোগ্রামে ডেটা প্রসেসিংয়ের জন্য Input Format এবং Output Format খুবই গুরুত্বপূর্ণ। এগুলো নির্ধারণ করে ডেটা কীভাবে পড়া হবে এবং কীভাবে আউটপুট ডেটা সংরক্ষণ করা হবে।


Input Format (ইনপুট ফরম্যাট)

Input Format মূলত ডেটার উৎস থেকে Map টাস্কে ডেটা কীভাবে পাঠানো হবে তা নির্ধারণ করে। এটি ইনপুট ডেটাকে স্প্লিট (Split) এবং কী-ভ্যালু পেয়ারে রূপান্তরিত করে।

বিভিন্ন ধরনের Input Format

1. TextInputFormat

  • এটি ডিফল্ট Input Format
  • ইনপুট ডেটা লাইন-বাই-লাইন পড়া হয়।
  • প্রতিটি লাইন একটি কী-ভ্যালু পেয়ার তৈরি করে।
    • Key: লাইনটির অফসেট (Offset)।
    • Value: লাইনটির টেক্সট।

উদাহরণ:
ইনপুট ডেটা:

Hello Hadoop  
Hello World  

Output কী-ভ্যালু পেয়ার:

(0, "Hello Hadoop")  
(1, "Hello World")  

2. KeyValueTextInputFormat

  • এটি কী-ভ্যালু পেয়ার হিসেবে ইনপুট ডেটা পড়ে।
  • ডেটার একটি ডিলিমিটার (Delimiter) ব্যবহার করা হয়, যেমন ট্যাব বা স্পেস।

উদাহরণ:
ইনপুট ডেটা:

word1 5  
word2 10  

Output কী-ভ্যালু পেয়ার:

("word1", 5)  
("word2", 10)  

3. SequenceFileInputFormat

  • এটি বাইনারি ফাইল থেকে কী-ভ্যালু পেয়ার ইনপুট হিসেবে পড়ে।
  • বড় ডেটাসেটের জন্য দ্রুত কাজ করে।

4. NLineInputFormat

  • এটি প্রতিটি ইনপুট স্প্লিটে N সংখ্যক লাইন পড়ে।
  • এটি লাইন সংখ্যা ভিত্তিক স্প্লিটিং করে।

উদাহরণ:
N = 2 হলে ইনপুট ডেটা:

Line1  
Line2  
Line3  
Line4  

Output স্প্লিট:

Split1: (0, "Line1\nLine2")  
Split2: (1, "Line3\nLine4")  

Output Format (আউটপুট ফরম্যাট)

Output Format নির্ধারণ করে কীভাবে রিডিউস (Reduce) আউটপুটকে সংরক্ষণ করা হবে।

বিভিন্ন ধরনের Output Format

1. TextOutputFormat

  • এটি ডিফল্ট Output Format
  • কী-ভ্যালু পেয়ার টেক্সট আকারে সংরক্ষণ করা হয়।

উদাহরণ:
আউটপুট:

Hello 2  
Hadoop 1  
World 1  

2. SequenceFileOutputFormat

  • এটি বাইনারি ফরম্যাটে কী-ভ্যালু পেয়ার সংরক্ষণ করে।
  • বড় আকারের ডেটার জন্য এটি বেশি কার্যকর।

3. MultipleOutputs

  • এটি একাধিক আউটপুট ফাইল তৈরি করতে সাহায্য করে।
  • উদাহরণস্বরূপ, আপনি বিভিন্ন কী অনুযায়ী আউটপুট ভাগ করতে পারেন।

4. NullOutputFormat

  • কোনো আউটপুট সংরক্ষণ করা হয় না।
  • এটি শুধুমাত্র প্রসেসিংয়ের জন্য ব্যবহৃত হয়।

Input এবং Output Format-এর ব্যবহার

Input Format সেট করা

MapReduce কোডে Input Format সেট করতে হয়:

job.setInputFormatClass(TextInputFormat.class);

Output Format সেট করা

Output Format নির্ধারণ করতে হয়:

job.setOutputFormatClass(TextOutputFormat.class);

সারাংশ

MapReduce প্রোগ্রামের Input Format ইনপুট ডেটাকে কীভাবে স্প্লিট এবং কী-ভ্যালু পেয়ারে রূপান্তর করবে তা নির্ধারণ করে। অন্যদিকে, Output Format চূড়ান্ত ফলাফল কীভাবে সংরক্ষণ করা হবে তা ঠিক করে। TextInputFormat এবং TextOutputFormat ডিফল্ট হিসেবে ব্যবহৃত হলেও অন্যান্য ফরম্যাট যেমন KeyValueTextInputFormat, SequenceFileInputFormat এবং MultipleOutputs বিভিন্ন প্রসেসিং প্রয়োজন অনুযায়ী ব্যবহার করা হয়।


Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...