Big Data and Analytics Joins (INNER, LEFT, RIGHT, FULL) এর ব্যবহার গাইড ও নোট

346

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


INNER JOIN

INNER JOIN একটি ডেটাসেটের মধ্যে দুটি টেবিল বা DataFrame-এর এমন রেকর্ডগুলো সংগ্রহ করে, যেগুলোর মধ্যে নির্দিষ্ট শর্ত মেলে। যদি দুটি টেবিলের মধ্যে কোনো রেকর্ডের মান মেলে না, তাহলে সেই রেকর্ড ফলাফলে অন্তর্ভুক্ত হবে না।

উদাহরণ:

# প্রথম DataFrame
data1 = [("John", "HR"), ("Alice", "Finance"), ("Bob", "IT")]
df1 = spark.createDataFrame(data1, ["Name", "Department"])

# দ্বিতীয় DataFrame
data2 = [("John", "Manager"), ("Alice", "Analyst")]
df2 = spark.createDataFrame(data2, ["Name", "Position"])

# INNER JOIN ব্যবহার করা
df_inner_join = df1.join(df2, "Name", "inner")
df_inner_join.show()

আউটপুট:

+-----+----------+--------+
| Name|Department|Position|
+-----+----------+--------+
| John|        HR| Manager|
|Alice|   Finance|  Analyst|
+-----+----------+--------+

LEFT JOIN (LEFT OUTER JOIN)

LEFT JOIN বা LEFT OUTER JOIN একটি টেবিলের সমস্ত রেকর্ড এবং দ্বিতীয় টেবিলের মিল খুঁজে পাওয়া রেকর্ডগুলোকে একত্রিত করে। যদি দ্বিতীয় টেবিলের সাথে কোনো মেলানো রেকর্ড না থাকে, তবে প্রথম টেবিলের রেকর্ডগুলো সহ NULL মান দেখানো হয়।

উদাহরণ:

# LEFT JOIN ব্যবহার করা
df_left_join = df1.join(df2, "Name", "left")
df_left_join.show()

আউটপুট:

+-----+----------+--------+
| Name|Department|Position|
+-----+----------+--------+
| John|        HR| Manager|
|Alice|   Finance|  Analyst|
|  Bob|       IT|    null|
+-----+----------+--------+

RIGHT JOIN (RIGHT OUTER JOIN)

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

উদাহরণ:

# RIGHT JOIN ব্যবহার করা
df_right_join = df1.join(df2, "Name", "right")
df_right_join.show()

আউটপুট:

+-----+----------+--------+
| Name|Department|Position|
+-----+----------+--------+
| John|        HR| Manager|
|Alice|   Finance|  Analyst|
| null|      null|   null|
+-----+----------+--------+

FULL JOIN (FULL OUTER JOIN)

FULL JOIN বা FULL OUTER JOIN দুটি টেবিলের সমস্ত রেকর্ড একত্রিত করে। যদি কোনো রেকর্ড এক টেবিলের মধ্যে থাকে কিন্তু অন্য টেবিলের মধ্যে না থাকে, তবে সেই রেকর্ডের জন্য NULL মান প্রদর্শিত হবে।

উদাহরণ:

# FULL JOIN ব্যবহার করা
df_full_join = df1.join(df2, "Name", "full")
df_full_join.show()

আউটপুট:

+-----+----------+--------+
| Name|Department|Position|
+-----+----------+--------+
| John|        HR| Manager|
|Alice|   Finance|  Analyst|
|  Bob|       IT|    null|
| null|      null|   null|
+-----+----------+--------+

JOIN এর শর্তাবলী (Conditions)

Spark SQL-এ JOIN অপারেটরটি ব্যবহার করার সময়, সাধারণত দুটি টেবিলের মধ্যে সম্পর্ক স্থাপন করতে একটি শর্ত প্রদান করতে হয়, যা সাধারণত ON কীওয়ার্ডের মাধ্যমে করা হয়। তবে, আপনি যদি একাধিক শর্ত প্রদান করতে চান, তবে AND, OR ইত্যাদি লজিক্যাল অপারেটর ব্যবহার করতে পারেন।

উদাহরণ:

df_inner_join = df1.join(df2, (df1["Name"] == df2["Name"]) & (df1["Department"] == "HR"), "inner")
df_inner_join.show()

সারাংশ

Spark SQL-এ INNER JOIN, LEFT JOIN, RIGHT JOIN, এবং FULL JOIN এর মতো JOIN অপারেটরগুলি ডেটাসেটের মধ্যে সম্পর্ক স্থাপন এবং ডেটার বিভিন্ন অংশ একত্রিত করতে ব্যবহৃত হয়। এই অপারেটরগুলির মাধ্যমে আপনি SQL কোয়ারি লেখার মাধ্যমে ডেটা প্রসেসিং এবং বিশ্লেষণ করতে পারবেন, যা বড় ডেটাসেটের সঙ্গে কাজ করার জন্য অত্যন্ত কার্যকরী।

Content added By
Promotion

Are you sure to start over?

Loading...