Big Data and Analytics INNER এবং OUTER JOIN এর ব্যবহার গাইড ও নোট

401

অ্যাপাচি পিগ (Apache Pig) একটি উচ্চ-স্তরের ডেটা প্রক্রিয়াকরণ ভাষা যা হাডুপ ইকোসিস্টেমে ডেটা প্রসেসিং করার জন্য ব্যবহৃত হয়। পিগে JOIN অপারেশন খুবই গুরুত্বপূর্ণ, কারণ এটি বিভিন্ন ডেটা সেটের মধ্যে সম্পর্ক তৈরি করতে এবং একত্রিত ডেটা প্রসেস করতে সহায়তা করে। পিগে INNER JOIN এবং OUTER JOIN অপারেশন দুটি প্রধান ধরনের জোয়ন অপারেশন, যা আপনাকে বিভিন্ন টেবিল বা ডেটাসেটের মধ্যে সম্পর্ক স্থাপন করতে সাহায্য করে।


INNER JOIN

INNER JOIN দুটি রিলেশন বা ডেটাসেটের মধ্যে শুধু সেই রেকর্ডগুলো নির্বাচন করে যেগুলোর মধ্যে মিল রয়েছে। অর্থাৎ, যদি দুটি রিলেশনের মধ্যে কোনো শর্ত বা কলামে সমান মান থাকে, তবে শুধুমাত্র সেগুলিই নির্বাচন করা হবে। অন্যান্য রেকর্ডগুলো বাদ পড়বে। এটি ডেটার মধ্যে কমন মানের ভিত্তিতে দুটি রিলেশন বা টেবিলকে একত্রিত করে।

INNER JOIN Syntax

joined_data = JOIN relation1 BY field1, relation2 BY field2;

এখানে:

  • relation1 এবং relation2: দুটি রিলেশন যা আপনি জোইন করতে চান।
  • field1 এবং field2: সেই ক্ষেত্র বা কলাম যেখানে মিল খুঁজবেন।

INNER JOIN এর উদাহরণ

ধরা যাক, আমাদের দুটি ডেটাসেট রয়েছে:

  • students (id, name, age)
  • marks (student_id, marks)

আমরা students এবং marks টেবিলের মধ্যে INNER JOIN করতে চাই, যেখানে student_id এবং id এর মধ্যে মিল থাকবে।

students = LOAD 'students_data' USING PigStorage(',') AS (id:int, name:chararray, age:int);
marks = LOAD 'marks_data' USING PigStorage(',') AS (student_id:int, marks:int);

joined_data = JOIN students BY id, marks BY student_id;

DUMP joined_data;

Output:

(1, 'John', 20, 1, 85)
(2, 'Jane', 22, 2, 90)

এখানে, id এবং student_id এর মধ্যে মিল পাওয়া যাচ্ছে, এবং শুধু সেই রেকর্ডগুলোই দেখানো হচ্ছে যেগুলোর মধ্যে মেলানো মান রয়েছে।


OUTER JOIN

OUTER JOIN অপারেশনটি INNER JOIN থেকে আলাদা, কারণ এটি শুধু মেলানো রেকর্ডগুলোই নয়, বরং একটি রিলেশনে থাকা সকল রেকর্ডের মধ্যে মেলানো রেকর্ড এবং যেগুলোর কোনো মিল পাওয়া যায়নি, সেগুলোও নির্বাচন করবে। OUTER JOIN তিন ধরনের হতে পারে:

  1. LEFT OUTER JOIN
  2. RIGHT OUTER JOIN
  3. FULL OUTER JOIN

LEFT OUTER JOIN

LEFT OUTER JOIN অপারেশনটি প্রথম রিলেশনের সমস্ত রেকর্ড নির্বাচন করবে এবং যেগুলো মিল রয়েছে, সেগুলোর সাথে দ্বিতীয় রিলেশনের ডেটা যোগ করবে। যদি মিল না পাওয়া যায়, তবে দ্বিতীয় রিলেশন থেকে NULL ভ্যালু থাকবে।

LEFT OUTER JOIN Syntax:

left_joined_data = JOIN relation1 BY field1 LEFT OUTER, relation2 BY field2;

RIGHT OUTER JOIN

RIGHT OUTER JOIN অপারেশনটি দ্বিতীয় রিলেশনের সমস্ত রেকর্ড নির্বাচন করবে এবং যেগুলো মিল রয়েছে, সেগুলোর সাথে প্রথম রিলেশনের ডেটা যোগ করবে। যদি মিল না পাওয়া যায়, তবে প্রথম রিলেশন থেকে NULL ভ্যালু থাকবে।

RIGHT OUTER JOIN Syntax:

right_joined_data = JOIN relation1 BY field1 RIGHT OUTER, relation2 BY field2;

FULL OUTER JOIN

FULL OUTER JOIN অপারেশনটি উভয় রিলেশনের সমস্ত রেকর্ড নির্বাচন করবে এবং যেখানে মিল পাওয়া যাবে, সেখানেই ডেটা একত্রিত হবে। যেখানে মিল পাওয়া যাবে না, সেখানে NULL ভ্যালু প্রদর্শিত হবে।

FULL OUTER JOIN Syntax:

full_joined_data = JOIN relation1 BY field1 FULL OUTER, relation2 BY field2;

OUTER JOIN এর উদাহরণ

ধরা যাক, আমাদের দুটি ডেটাসেট রয়েছে:

  • students (id, name, age)
  • marks (student_id, marks)

এবার, আমরা LEFT OUTER JOIN ব্যবহার করবো, যেখানে id এবং student_id এর মধ্যে মিল খুঁজবো।

students = LOAD 'students_data' USING PigStorage(',') AS (id:int, name:chararray, age:int);
marks = LOAD 'marks_data' USING PigStorage(',') AS (student_id:int, marks:int);

left_joined_data = JOIN students BY id LEFT OUTER, marks BY student_id;

DUMP left_joined_data;

Output:

(1, 'John', 20, 1, 85)
(2, 'Jane', 22, 2, 90)
(3, 'Alice', 23, null, null)

এখানে, Alice এর জন্য marks টেবিল থেকে কোনো ডেটা পাওয়া যাচ্ছে না, তাই সেখানে null প্রদর্শিত হচ্ছে। তবে, John এবং Jane এর জন্য মিল পাওয়া যাচ্ছে, তাই তাদের marks এর তথ্যও দেখানো হচ্ছে।


LEFT OUTER JOIN vs RIGHT OUTER JOIN vs FULL OUTER JOIN

  1. LEFT OUTER JOIN: প্রথম রিলেশনের সব রেকর্ডকে দেখানো হয় এবং দ্বিতীয় রিলেশনের সাথে মিল পাওয়া গেলে ডেটা যোগ করা হয়। যেখানে মিল পাওয়া যায় না, সেখানে NULL দেখানো হয়।
  2. RIGHT OUTER JOIN: দ্বিতীয় রিলেশনের সব রেকর্ডকে দেখানো হয় এবং প্রথম রিলেশনের সাথে মিল পাওয়া গেলে ডেটা যোগ করা হয়। যেখানে মিল পাওয়া যায় না, সেখানে NULL দেখানো হয়।
  3. FULL OUTER JOIN: দুটি রিলেশনের সব রেকর্ডকেই দেখানো হয়। যেখানে মিল পাওয়া যায় না, সেখানে NULL ভ্যালু থাকে।

সার্বিক দৃষ্টিকোণ

অ্যাপাচি পিগে INNER JOIN এবং OUTER JOIN অপারেশন দুটি ডেটা প্রসেসিংয়ে অত্যন্ত গুরুত্বপূর্ণ। INNER JOIN আপনাকে শুধুমাত্র মিল পাওয়া রেকর্ডগুলো দেখতে সাহায্য করে, যেখানে OUTER JOIN বিভিন্ন ধরনের সম্পর্কিত রেকর্ড দেখানোর মাধ্যমে আরও বিস্তৃত ডেটা প্রদান করে। LEFT OUTER JOIN, RIGHT OUTER JOIN, এবং FULL OUTER JOIN পিগে ডেটার মধ্যে সম্পর্ক এবং বিশ্লেষণ আরও গভীরভাবে করতে সক্ষম করে, বিশেষ করে যখন ডেটাতে কিছু মিসিং বা অসম্পূর্ণ তথ্য থাকে।

Content added By
Promotion

Are you sure to start over?

Loading...