HBase এ ডেটা ইনসার্ট করার জন্য Put অপারেশন ব্যবহৃত হয়। Put অপারেশন HBase টেবিলের নির্দিষ্ট রো (row) তে ডেটা ইনসার্ট বা আপডেট করে। HBase একটি কলাম-ওরিয়েন্টেড ডেটাবেস হওয়ায়, এটি রো এবং কলামের মধ্যে ডেটা সংরক্ষণ করে এবং ডেটার ইনসার্ট বা আপডেট প্রক্রিয়া খুবই দ্রুত এবং কার্যকরী হয়।
HBase এ Data Insert (Put) করার প্রক্রিয়া
HBase-এ Put অপারেশনটি সাধারণত টেবিলের রো এবং কলামের মান ইনসার্ট করতে ব্যবহৃত হয়। এটি একটি নির্দিষ্ট কলাম ফ্যামিলি (Column Family) এবং কলাম কোয়ালিফায়ার (Column Qualifier) নির্দিষ্ট করে ডেটা লিখে।
Put কমান্ডের সাধারণ সিনট্যাক্স:
put 'table_name', 'row_key', 'column_family:column_qualifier', 'value'
এখানে:
'table_name'- টেবিলের নাম যেখানে ডেটা ইনসার্ট করতে চান।'row_key'- নির্দিষ্ট রো (row) বা আইডি, যেখানে ডেটা সংরক্ষণ করা হবে।'column_family:column_qualifier'- কলাম ফ্যামিলি এবং কলামের নাম যেখানে ডেটা ইনসার্ট হবে।'value'- ইনসার্ট করা ডেটার মান।
উদাহরণ ১: HBase Shell এ Put কমান্ড ব্যবহার
ধরা যাক, আপনি student নামক একটি টেবিলের row1 রোতে info:name কলামে "John Doe" ডেটা ইনসার্ট করতে চান। কমান্ডটি হবে:
hbase shell
hbase(main):001:0> put 'student', 'row1', 'info:name', 'John Doe'
এটি student টেবিলের row1 রো তে info:name কলামে 'John Doe' মান ইনসার্ট করবে।
উদাহরণ ২: HBase Shell এ Multiple Data Insert (Put)
একাধিক ডেটা ইনসার্ট করতে চাইলে, একাধিক put কমান্ড ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ:
hbase(main):002:0> put 'student', 'row1', 'info:name', 'John Doe'
hbase(main):003:0> put 'student', 'row1', 'info:age', '22'
hbase(main):004:0> put 'student', 'row2', 'info:name', 'Alice Smith'
hbase(main):005:0> put 'student', 'row2', 'info:age', '23'
এই কমান্ডগুলোর মাধ্যমে, student টেবিলের row1 এবং row2 রোতে name এবং age কলামে ডেটা ইনসার্ট হবে।
উদাহরণ ৩: HBase Java API দিয়ে Data Insert (Put)
HBase-এ Java API ব্যবহার করে ডেটা ইনসার্ট করতে হলে, আপনি Put ক্লাস ব্যবহার করবেন। নিচে একটি Java কোড দেওয়া হলো, যা HBase টেবিলের মধ্যে ডেটা ইনসার্ট করবে:
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.util.Bytes;
public class HBasePutExample {
public static void main(String[] args) throws Exception {
// HBase টেবিলের সাথে সংযোগ
HTable table = new HTable(config, "student");
// Put অপারেশন তৈরি করা
Put put = new Put(Bytes.toBytes("row1"));
// ডেটা ইনসার্ট করা
put.add(Bytes.toBytes("info"), Bytes.toBytes("name"), Bytes.toBytes("John Doe"));
put.add(Bytes.toBytes("info"), Bytes.toBytes("age"), Bytes.toBytes("22"));
// টেবিলে Put অপারেশন প্রেরণ করা
table.put(put);
table.close();
}
}
এই কোডটি student টেবিলের row1 রোতে info:name এবং info:age কলামে যথাক্রমে 'John Doe' এবং '22' ডেটা ইনসার্ট করবে।
HBase এ Put অপারেশন এর কিছু মূল পয়েন্ট
- Put ওভাররাইট অপারেশন: HBase তে একবার
Putঅপারেশন সম্পন্ন হলে, এটি পুরানো মানকে ওভাররাইট করে নতুন মান ইনসার্ট করে। এটি ডেটা আপডেটের মত কাজ করে, তবে HBase তে ডেটা ডিলিট হয় না যতক্ষণ না কম্প্যাকশন করা হয়। - কলাম ফ্যামিলি (Column Family): HBase তে ইনসার্ট করা ডেটার জন্য কলাম ফ্যামিলি উল্লেখ করা গুরুত্বপূর্ণ। এটি একটি লজিক্যাল গ্রুপ, যার মাধ্যমে একই ধরনের ডেটা সঞ্চিত থাকে।
- Row Key: HBase তে ডেটা দ্রুত অনুসন্ধান করার জন্য রো কী অত্যন্ত গুরুত্বপূর্ণ। রো কী-ই ডেটার ইউনিক আইডেন্টিফায়ার।
- টেবিল স্কিমা নির্ধারণ: HBase তে কলাম ফ্যামিলি প্রি-ডিফাইন্ড থাকে এবং প্রতিটি কলাম ফ্যামিলির মধ্যে ডেটা সংরক্ষিত হয়।
উপসংহার
HBase-এ ডেটা ইনসার্ট করার জন্য Put কমান্ড অত্যন্ত গুরুত্বপূর্ণ। এটি ডেটা ইনসার্ট বা আপডেট করার প্রক্রিয়াটি সহজ এবং কার্যকর করে। HBase একটি কলাম-ওরিয়েন্টেড ডেটাবেস হওয়ায়, ইনসার্ট করা ডেটা নির্দিষ্ট কলাম ফ্যামিলি এবং কলাম কোয়ালিফায়ারের মধ্যে সঞ্চিত থাকে, যা দ্রুত ডেটা অ্যাক্সেস এবং প্রক্রিয়াকরণের সুবিধা দেয়।
Read more