Spark SQL-এর মাধ্যমে আপনি বিভিন্ন Data Sources থেকে ডেটা লোড করতে পারেন, যেমন CSV, JSON, এবং Parquet ফাইল ফরম্যাট। এই ডেটা সোর্সগুলি Spark SQL-এর মাধ্যমে সহজেই এক্সেস এবং প্রসেস করা যায়। নিচে বিস্তারিতভাবে এই তিনটি ফাইল ফরম্যাট থেকে ডেটা লোড করার প্রক্রিয়া ব্যাখ্যা করা হয়েছে।
১. CSV ফাইল থেকে ডেটা লোড করা
CSV (Comma Separated Values) ফাইল হলো একটি সাধারণ টেক্সট ফরম্যাট যেখানে ডেটা কলাম দ্বারা আলাদা থাকে। Spark SQL-এ CSV ফাইল থেকে ডেটা লোড করার জন্য spark.read.csv() ফাংশন ব্যবহার করা হয়।
উদাহরণ:
from pyspark.sql import SparkSession
# SparkSession তৈরি
spark = SparkSession.builder.appName("CSV Example").getOrCreate()
# CSV ফাইল থেকে ডেটা লোড করা
df_csv = spark.read.csv("data.csv", header=True, inferSchema=True)
# DataFrame প্রদর্শন করা
df_csv.show()
এখানে:
header=Trueনির্দেশ করে যে CSV ফাইলের প্রথম লাইনটি কলামের নাম হিসেবে ব্যবহৃত হবে।inferSchema=Trueনির্দেশ করে যে Spark স্বয়ংক্রিয়ভাবে ডেটার ধরন (ডেট টাইপ) নির্ধারণ করবে।
২. JSON ফাইল থেকে ডেটা লোড করা
JSON (JavaScript Object Notation) ফাইল একটি স্ট্রাকচারড ডেটা ফরম্যাট, যা সাধারণত নেস্টেড ডেটা ধারণ করে। Spark SQL-এ JSON ফাইল থেকে ডেটা লোড করার জন্য spark.read.json() ফাংশন ব্যবহার করা হয়।
উদাহরণ:
# JSON ফাইল থেকে ডেটা লোড করা
df_json = spark.read.json("data.json")
# DataFrame প্রদর্শন করা
df_json.show()
এখানে:
- JSON ফাইল লোড করার সময় Spark স্বয়ংক্রিয়ভাবে ডেটার স্কিমা শনাক্ত করে এবং DataFrame তৈরি করে।
JSON ফাইলগুলির মধ্যে যদি নেস্টেড ডেটা থাকে (যেমন লিস্ট বা ডিকশনারি), Spark SQL আপনাকে সেই নেস্টেড ডেটা প্রসেস করার সুবিধা প্রদান করে।
৩. Parquet ফাইল থেকে ডেটা লোড করা
Parquet একটি কলাম-অরিয়েন্টেড ডেটা ফরম্যাট যা বড় ডেটাসেটের জন্য অত্যন্ত কার্যকরী এবং সংরক্ষণে কম জায়গা নেয়। Parquet ফাইলের থেকে ডেটা লোড করার জন্য spark.read.parquet() ফাংশন ব্যবহার করা হয়।
উদাহরণ:
# Parquet ফাইল থেকে ডেটা লোড করা
df_parquet = spark.read.parquet("data.parquet")
# DataFrame প্রদর্শন করা
df_parquet.show()
এখানে:
- Parquet ফাইল থেকে ডেটা লোড করার সময়, Spark ফাইলের স্কিমা এবং অন্যান্য মেটাডেটা ধারণ করে, যা উচ্চ পারফরম্যান্স ডেটা প্রসেসিংয়ের জন্য অত্যন্ত সহায়ক।
৪. একাধিক Data Sources একসাথে লোড করা
Spark SQL আপনাকে একাধিক ফাইল ফরম্যাট বা সোর্স থেকে ডেটা একত্রে লোড করার সুবিধা দেয়। আপনি বিভিন্ন সোর্স থেকে ডেটা লোড করে একে অপরের সাথে মেশাতে বা জয়েন করতে পারেন।
উদাহরণ:
# CSV এবং Parquet ফাইল একসাথে লোড করা
df_csv_parquet = spark.read.csv("data.csv", header=True, inferSchema=True)
df_parquet = spark.read.parquet("data.parquet")
# Join অপারেশন করা
df_joined = df_csv_parquet.join(df_parquet, df_csv_parquet["id"] == df_parquet["id"])
# ফলাফল প্রদর্শন
df_joined.show()
এখানে:
- একাধিক সোর্স থেকে ডেটা লোড করার পরে, আপনি
join()ফাংশনের মাধ্যমে ডেটাগুলিকে যুক্ত করতে পারেন।
সারাংশ
Spark SQL বিভিন্ন ফাইল ফরম্যাট যেমন CSV, JSON, এবং Parquet থেকে ডেটা লোড করার ক্ষমতা প্রদান করে। প্রতিটি ফাইল ফরম্যাটের জন্য নির্দিষ্ট ফাংশন (যেমন spark.read.csv(), spark.read.json(), spark.read.parquet()) ব্যবহার করা হয় এবং ডেটার স্কিমা স্বয়ংক্রিয়ভাবে শনাক্ত হয়। এছাড়া, একাধিক সোর্স থেকে ডেটা একত্রে লোড করে, প্রসেস এবং বিশ্লেষণ করা যায়। Spark SQL এ এই ডেটা লোডিং প্রক্রিয়াটি খুবই কার্যকরী এবং উচ্চ পারফরম্যান্স প্রদান করে, বিশেষত যখন বড় ডেটাসেট নিয়ে কাজ করা হয়।
Read more