Big Data and Analytics HDFS থেকে Data Load এবং Store করা গাইড ও নোট

356

Apache Spark একটি শক্তিশালী ডিস্ট্রিবিউটেড ডেটা প্রসেসিং ফ্রেমওয়ার্ক যা HDFS (Hadoop Distributed File System) এর সাথে সহজে ইন্টিগ্রেট করতে সক্ষম। HDFS একটি ডিস্ট্রিবিউটেড ফাইল সিস্টেম যা বড় পরিমাণ ডেটা সংরক্ষণ করতে ব্যবহৃত হয়, এবং স্পার্ক HDFS থেকে ডেটা লোড এবং সেখানে ডেটা সংরক্ষণ করার জন্য একটি সোজা এবং কার্যকরী উপায় প্রদান করে।

এই টিউটোরিয়ালে, আমরা HDFS থেকে Data Load এবং Store করার প্রক্রিয়া এবং এর জন্য ব্যবহৃত স্পার্ক API নিয়ে আলোচনা করব।


HDFS থেকে Data Load করা

স্পার্কের মাধ্যমে HDFS থেকে ডেটা লোড করা খুবই সহজ। আপনি স্পার্কের SparkSession এর মাধ্যমে HDFS থেকে text files, CSV files, Parquet files, JSON files ইত্যাদি লোড করতে পারেন। নিচে কিছু সাধারণ কেস দেখা যাচ্ছে।

1. Text File থেকে Data Load করা

Text files হলো সবচেয়ে সাধারণ ফাইল টাইপ যেগুলো HDFS এ সংরক্ষণ করা হয়। স্পার্ক textFile() ফাংশন ব্যবহার করে HDFS থেকে টেক্সট ফাইল লোড করতে পারে।

Example: Text File Load from HDFS
import org.apache.spark.sql.SparkSession

val spark = SparkSession.builder()
  .appName("HDFS Text File Load")
  .getOrCreate()

// HDFS থেকে টেক্সট ফাইল লোড করা
val textFile = spark.read.text("hdfs://localhost:9000/user/hadoop/data.txt")

// ফাইলের প্রথম 5 লাইন প্রদর্শন
textFile.show(5)

এখানে:

  • text() ফাংশনটি HDFS থেকে text file লোড করেছে।

2. CSV File থেকে Data Load করা

স্পার্ক read.csv() ফাংশন ব্যবহার করে HDFS থেকে CSV ফাইল লোড করতে পারে। এটি স্পার্ক ডেটাফ্রেমে ডেটা লোড করে, যার ফলে আপনি ডেটা ট্রান্সফরমেশন এবং বিশ্লেষণ করতে পারেন।

Example: CSV File Load from HDFS
val spark = SparkSession.builder()
  .appName("HDFS CSV File Load")
  .getOrCreate()

// HDFS থেকে CSV ফাইল লোড করা
val df = spark.read.option("header", "true").csv("hdfs://localhost:9000/user/hadoop/data.csv")

// DataFrame এর প্রথম 5 রেকর্ড প্রদর্শন
df.show(5)

এখানে:

  • option("header", "true") ব্যবহার করে CSV ফাইলের প্রথম রেকর্ডকে হেডার হিসেবে বিবেচনা করা হয়েছে।

3. JSON File থেকে Data Load করা

JSON একটি জনপ্রিয় ফাইল ফরম্যাট যা স্ট্রাকচারড ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। স্পার্ক read.json() ফাংশন ব্যবহার করে HDFS থেকে JSON ফাইল লোড করতে পারে।

Example: JSON File Load from HDFS
val spark = SparkSession.builder()
  .appName("HDFS JSON File Load")
  .getOrCreate()

// HDFS থেকে JSON ফাইল লোড করা
val jsonData = spark.read.json("hdfs://localhost:9000/user/hadoop/data.json")

// JSON ডেটার প্রথম 5 রেকর্ড প্রদর্শন
jsonData.show(5)

এখানে:

  • read.json() ফাংশনটি HDFS থেকে JSON ফাইল লোড করছে।

4. Parquet File থেকে Data Load করা

Parquet একটি কলামার ডেটা ফরম্যাট, যা স্পার্কের জন্য অত্যন্ত পারফরম্যান্ট। স্পার্ক read.parquet() ফাংশন ব্যবহার করে HDFS থেকে Parquet ফাইল লোড করতে পারে।

Example: Parquet File Load from HDFS
val spark = SparkSession.builder()
  .appName("HDFS Parquet File Load")
  .getOrCreate()

// HDFS থেকে Parquet ফাইল লোড করা
val parquetData = spark.read.parquet("hdfs://localhost:9000/user/hadoop/data.parquet")

// Parquet ডেটার প্রথম 5 রেকর্ড প্রদর্শন
parquetData.show(5)

এখানে:

  • read.parquet() ফাংশনটি HDFS থেকে Parquet ফাইল লোড করছে।

HDFS এ Data Store করা

স্পার্কে ডেটা HDFS এ সংরক্ষণ করতে হলে, আপনি write() ফাংশন ব্যবহার করতে পারেন। স্পার্ক বিভিন্ন ফাইল ফরম্যাটে ডেটা লিখতে সমর্থন করে, যেমন CSV, JSON, Parquet, ORC, এবং Text

1. Text File এ Data Store করা

স্পার্ক write.text() ফাংশন ব্যবহার করে HDFS এ text file লিখতে পারে।

Example: Store Data as Text File in HDFS
val data = spark.createDataFrame(Seq("apple", "banana", "cherry"))
data.write.text("hdfs://localhost:9000/user/hadoop/output/text_output")

এখানে:

  • write.text() ফাংশনটি ডেটাকে text ফরম্যাটে HDFS এ লিখেছে।

2. CSV File এ Data Store করা

স্পার্ক write.csv() ফাংশন ব্যবহার করে HDFS এ CSV ফাইল লিখতে পারে।

Example: Store Data as CSV File in HDFS
val df = spark.createDataFrame(Seq(("John", 28), ("Alice", 30)))
df.write.option("header", "true").csv("hdfs://localhost:9000/user/hadoop/output/csv_output")

এখানে:

  • write.option("header", "true").csv() ফাংশনটি CSV ফরম্যাটে HDFS এ ডেটা লিখেছে।

3. JSON File এ Data Store করা

স্পার্ক write.json() ফাংশন ব্যবহার করে HDFS এ JSON ফাইল লিখতে পারে।

Example: Store Data as JSON File in HDFS
val df = spark.createDataFrame(Seq(("John", 28), ("Alice", 30)))
df.write.json("hdfs://localhost:9000/user/hadoop/output/json_output")

এখানে:

  • write.json() ফাংশনটি JSON ফরম্যাটে HDFS এ ডেটা লিখেছে।

4. Parquet File এ Data Store করা

স্পার্ক write.parquet() ফাংশন ব্যবহার করে HDFS এ Parquet ফাইল লিখতে পারে।

Example: Store Data as Parquet File in HDFS
val df = spark.createDataFrame(Seq(("John", 28), ("Alice", 30)))
df.write.parquet("hdfs://localhost:9000/user/hadoop/output/parquet_output")

এখানে:

  • write.parquet() ফাংশনটি Parquet ফরম্যাটে HDFS এ ডেটা লিখেছে।

Conclusion

HDFS থেকে ডেটা লোড এবং সেখানে ডেটা সংরক্ষণ স্পার্কে অত্যন্ত সহজ। স্পার্কের read() এবং write() ফাংশনগুলি আপনাকে HDFS থেকে ডেটা লোড করার এবং HDFS এ ডেটা স্টোর করার জন্য বিভিন্ন ফরম্যাটে কাজ করতে সক্ষম করে। আপনি টেক্সট, CSV, JSON, Parquet, ORC ইত্যাদি বিভিন্ন ফরম্যাটে ডেটা লোড এবং সংরক্ষণ করতে পারেন, যা আপনাকে ডেটা প্রক্রিয়াকরণ এবং বিশ্লেষণ করার জন্য বিস্তৃত সুযোগ প্রদান করে।

স্পার্কের মাধ্যমে HDFS এর সাথে সহজেই ডেটা লোড এবং সংরক্ষণ করতে পারলে, আপনি বড় ডেটাসেটে কার্যকরীভাবে ম্যানিপুলেশন এবং বিশ্লেষণ করতে সক্ষম হবেন।

Content added By
Promotion

Are you sure to start over?

Loading...