HDFS থেকে Data Load এবং Export করা

HBase এবং HDFS Integration - এইচবেইজ (HBase) - Big Data and Analytics

290

HBase এবং HDFS এর ইন্টিগ্রেশন হ'ল একটি গুরুত্বপূর্ণ উপাদান, কারণ HBase ডেটা স্টোর করার জন্য HDFS (Hadoop Distributed File System)-এর উপর ভিত্তি করে কাজ করে। HBase-এ ডেটা লোড এবং এক্সপোর্ট করা একটি সাধারণ কাজ, যা বিভিন্ন ডেটা ম্যানিপুলেশন এবং বিশ্লেষণ কার্যক্রমের জন্য ব্যবহৃত হয়।

এখানে, আমরা এইচবেইজে HDFS থেকে ডেটা লোড এবং এক্সপোর্ট করার প্রক্রিয়া আলোচনা করব।

১. HDFS থেকে Data Load করা (Load Data into HBase from HDFS)


HDFS থেকে HBase-এ ডেটা লোড করার জন্য HBase এর ImportTsv টুল ব্যবহার করা হয়। এটি সাধারণত TSV (Tab-Separated Values) ফাইল ফরম্যাটে ডেটা লোড করার জন্য ব্যবহৃত হয়, তবে আপনি অন্যান্য ফাইল ফরম্যাটও ব্যবহার করতে পারেন। ImportTsv টুল HDFS থেকে ডেটা রিড করে এবং তা HBase টেবিলের মধ্যে ইনসার্ট করে।

ImportTsv কমান্ড ব্যবহার করে ডেটা লোড

ImportTsv টুল ব্যবহার করতে HBase CLI বা Hadoop এর কমান্ড লাইন ইন্টারফেস (CLI) ব্যবহার করতে হবে।

সিনট্যাক্স:

$ hbase org.apache.hadoop.hbase.mapreduce.ImportTsv <table_name> <input_dir_in_hdfs> -family <column_family>
  • <table_name>: টেবিলের নাম যেখানে ডেটা ইনসার্ট করতে হবে।
  • <input_dir_in_hdfs>: HDFS থেকে ফাইলের লোকেশন যেখানে TSV ডেটা ফাইল রয়েছে।
  • <column_family>: টেবিলের কলাম ফ্যামিলি যেখানে ডেটা ইনসার্ট হবে।

Example:

ধরা যাক, আপনার HDFS এ একটি TSV ফাইল রয়েছে hdfs://namenode/path/to/inputfile.tsv, এবং আপনি users নামক টেবিলে ডেটা লোড করতে চান, যেখানে কলাম ফ্যামিলি info

$ hbase org.apache.hadoop.hbase.mapreduce.ImportTsv users hdfs://namenode/path/to/inputfile.tsv -family info

এই কমান্ডটি HDFS থেকে inputfile.tsv ফাইলটি রিড করে এবং এর ডেটা users টেবিলের info কলাম ফ্যামিলিতে লোড করবে।

২. HBase থেকে HDFS-এ Data Export করা (Export Data from HBase to HDFS)


HBase থেকে HDFS-এ ডেটা এক্সপোর্ট করার জন্য HBase এর Export টুল ব্যবহার করা হয়। এটি HBase টেবিল থেকে ডেটা রিড করে এবং সেই ডেটাকে HDFS-এর নির্দিষ্ট লোকেশনে এক্সপোর্ট করে। Export টুল সাধারণত একটি ফাইল ফরম্যাটে ডেটা এক্সপোর্ট করে, যেমন CSV বা TSV।

Export কমান্ড ব্যবহার করে ডেটা এক্সপোর্ট

সিনট্যাক্স:

$ hbase org.apache.hadoop.hbase.mapreduce.Export <table_name> <output_dir_in_hdfs>
  • <table_name>: HBase টেবিলের নাম যার ডেটা এক্সপোর্ট করতে হবে।
  • <output_dir_in_hdfs>: HDFS-এর লোকেশন যেখানে ডেটা এক্সপোর্ট হবে।

Example:

ধরা যাক, আপনি users টেবিলের ডেটা HDFS-এ এক্সপোর্ট করতে চান এবং HDFS লোকেশন hdfs://namenode/path/to/outputdir/ নির্ধারণ করেছেন।

$ hbase org.apache.hadoop.hbase.mapreduce.Export users hdfs://namenode/path/to/outputdir/

এই কমান্ডটি users টেবিলের সমস্ত ডেটা এক্সপোর্ট করে hdfs://namenode/path/to/outputdir/ এ ফাইল আকারে সংরক্ষণ করবে।

৩. HBase থেকে HDFS-এ Data Export (Using Snapshot Export)


HBase-এ একটি snapshot তৈরি করে HDFS-এ ডেটা এক্সপোর্ট করা সম্ভব। HBase Snapshot একটি টেবিলের নির্দিষ্ট সময়ের ডেটার কপি তৈরি করে, যা পরে এক্সপোর্ট করা যেতে পারে। এটি বড় ডেটা সেটের ব্যাকআপ বা ডেটা মাইগ্রেশন করার জন্য ব্যবহৃত হয়।

Snapshot Export প্রক্রিয়া:

  1. Snapshot তৈরি করুন:
$ hbase snapshot 'table_name' -snapshot 'snapshot_name'
  1. Snapshot Export করুন HDFS-এ:
$ hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot 'snapshot_name' -copy-to hdfs://namenode/path/to/outputdir

Example:

$ hbase snapshot 'users' -snapshot 'users_snapshot'
$ hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot 'users_snapshot' -copy-to hdfs://namenode/path/to/outputdir/

এই কমান্ডটি users টেবিলের একটি snapshot তৈরি করবে এবং পরে সেই snapshot ডেটা HDFS-এ নির্দিষ্ট লোকেশনে এক্সপোর্ট করবে।

৪. Data Exporting Using HBase Shell


HBase Shell থেকেও আপনি কিছু সাধারণ ডেটা এক্সপোর্ট অপারেশন করতে পারেন, তবে এক্সপোর্ট টুলের মতো ব্যাপক এক্সপোর্ট প্রক্রিয়া HBase Shell সরাসরি সমর্থন করে না। আপনি Export টুলের মতো কাজ করার জন্য Shell থেকে উপরের কমান্ড ব্যবহার করতে পারেন।

সারাংশ


HDFS থেকে HBase-এ ডেটা লোড এবং HBase থেকে HDFS-এ ডেটা এক্সপোর্ট করার জন্য HBase এর ImportTsv এবং Export টুল ব্যবহৃত হয়। HDFS থেকে ডেটা লোড করার জন্য ImportTsv ব্যবহার করা হয়, যেখানে TSV ফাইল ফরম্যাটে ডেটা ইনসার্ট করা হয়। অপরদিকে, HBase থেকে ডেটা এক্সপোর্ট করার জন্য Export টুল ব্যবহার করা হয়, যা HBase টেবিলের ডেটা HDFS-এ নির্দিষ্ট লোকেশনে সংরক্ষণ করে। HBase Snapshots ব্যবহার করে আপনি টেবিলের নির্দিষ্ট সময়ে ডেটা ব্যাকআপ করতে এবং HDFS-এ এক্সপোর্ট করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...