Apache Sqoop এর sqoop export কমান্ড ব্যবহার করা হয় Hadoop থেকে RDBMS (Relational Database Management System) এ ডেটা এক্সপোর্ট করতে। sqoop export কমান্ডের মাধ্যমে ব্যবহারকারীরা HDFS, Hive, বা HBase থেকে ডেটাবেস টেবিলের মধ্যে ডেটা স্থানান্তর করতে পারেন।
এটি মূলত হাডুপ সিস্টেম থেকে ডেটা রিলেশনাল ডাটাবেসে প্রেরণের জন্য ব্যবহৃত হয়।
Basic Sqoop Export Command এর গঠন
sqoop export --connect <JDBC_URL> --username <username> --password <password> --table <table_name> --export-dir <HDFS_directory> [optional_parameters]
এখানে:
--connect <JDBC_URL>
এটি RDBMS-এ সংযোগের জন্য JDBC URL প্রদান করে। উদাহরণস্বরূপ, MySQL এর জন্য JDBC URL হবেjdbc:mysql://localhost:3306/database_name।--username <username>
ডাটাবেসে সংযোগ করতে ব্যবহৃত ইউজারনেম। উদাহরণস্বরূপ, MySQL ডাটাবেসের জন্যroot।--password <password>
ডাটাবেস ইউজারের পাসওয়ার্ড। আপনি এটি কমান্ড লাইনে সরাসরি প্রদান করতে পারেন অথবা--password-fileফ্ল্যাগ ব্যবহার করে একটি ফাইল থেকে এটি লোড করতে পারেন।--table <table_name>
RDBMS-এ ডেটা যেখানে এক্সপোর্ট হবে সেই টেবিলের নাম। উদাহরণস্বরূপ,usersবাsales_data।--export-dir <HDFS_directory>
এটি HDFS বা Hive থেকে ডেটার লোকেশন নির্দেশ করে যেখান থেকে ডেটা এক্সপোর্ট করা হবে। উদাহরণস্বরূপ,/user/hadoop/input_data/।
Optional Parameters
এছাড়া বেশ কিছু অপশনাল প্যারামিটারও থাকে যেগুলি আপনাকে ডেটা এক্সপোর্টের প্রক্রিয়াকে কাস্টমাইজ করতে সাহায্য করে:
--input-fields-terminated-by <delimiter>
ডেটা ফাইলের মধ্যে ফিল্ডগুলির মধ্যে বিভাজক চিহ্ন নির্ধারণ করতে ব্যবহৃত হয় (যেমন কমা, ট্যাব ইত্যাদি)। উদাহরণ:--input-fields-terminated-by ','--input-lines-terminated-by <line_terminator>
ডেটা ফাইলে প্রতিটি লাইনের শেষে কী চিহ্ন থাকবে তা নির্ধারণ করতে ব্যবহৃত হয় (যেমন নিউ লাইন)। উদাহরণ:--input-lines-terminated-by '\n'--columns <column_names>
এক্সপোর্টের সময়, আপনি নির্দিষ্ট কলামগুলো এক্সপোর্ট করতে চান তাহলে এই প্যারামিটার ব্যবহার করতে পারেন। উদাহরণ:--columns "id,name,email"--batch
এক্সপোর্টের সময় কম্প্লিট করার পর সবকিছু স্বয়ংক্রিয়ভাবে ব্যাচ হিসেবে ব্যাকআপ করা হয়।
উদাহরণ: Basic Sqoop Export Command
ধরা যাক, আপনার Hadoop HDFS-এ sales_data নামে একটি ফোল্ডার রয়েছে, এবং আপনি এই ডেটাটি MySQL ডাটাবেসের sales_table নামে একটি টেবিলে এক্সপোর্ট করতে চান। এখানে একটি উদাহরণ:
sqoop export --connect jdbc:mysql://localhost:3306/mydatabase --username root --password mypassword --table sales_table --export-dir /user/hadoop/sales_data
এই কমান্ডটি Hadoop HDFS থেকে sales_data ফোল্ডারটি MySQL ডাটাবেসের sales_table টেবিলে এক্সপোর্ট করবে।
সারাংশ
Sqoop-এর export কমান্ড ব্যবহার করে Hadoop থেকে ডেটা RDBMS-এ এক্সপোর্ট করা যায়। এটি বিভিন্ন প্যারামিটার ব্যবহার করে কাস্টমাইজ করা যায় যেমন JDBC URL, ইউজারনেম, পাসওয়ার্ড, টেবিল নাম, এবং HDFS ডিরেক্টরি। এই কমান্ডের মাধ্যমে আপনি সহজে Hadoop ডেটা এক্সপোর্ট করতে পারেন।
Read more