Apache Sqoop ব্যবহার করে ডেটা ইম্পোর্ট করার জন্য বিভিন্ন কমান্ড ব্যবহৃত হয়। sqoop import কমান্ডটি সবচেয়ে সাধারণ কমান্ড যা RDBMS (রিলেশনাল ডাটাবেস ম্যানেজমেন্ট সিস্টেম) থেকে Hadoop-এর HDFS, Hive বা HBase-এ ডেটা ইম্পোর্ট করতে ব্যবহৃত হয়।
Sqoop Import Command এর গঠন
Sqoop import কমান্ডের সাধারণ গঠন:
sqoop import --connect jdbc:mysql://<db_host>:<db_port>/<db_name> \
--username <username> --password <password> \
--table <table_name> --target-dir <hdfs_target_dir>
এখানে প্রতিটি অংশের ব্যাখ্যা:
sqoop import: এটি কমান্ডের শুরু, যা Sqoop কে ডেটা ইম্পোর্ট করার নির্দেশ দেয়।--connect: এই অপশনটি ডাটাবেসের JDBC URL প্রদান করে। এটি ডাটাবেসের হোস্ট, পোর্ট এবং নামের সাথে যুক্ত থাকে। উদাহরণস্বরূপ, MySQL ডাটাবেসের জন্য এটিjdbc:mysql://localhost:3306/mydbহতে পারে।--username: ডাটাবেসে সংযোগ করার জন্য ইউজারনেম প্রদান করতে হয়।--password: ডাটাবেসে সংযোগ করার জন্য পাসওয়ার্ড প্রদান করতে হয়।--table: যে টেবিলটি থেকে ডেটা ইম্পোর্ট করতে চান তার নাম।--target-dir: এই অপশনটি HDFS-এর গন্তব্য ডিরেক্টরি নির্দিষ্ট করে, যেখানে ডেটা ইম্পোর্ট করা হবে।
উদাহরণ
ধরা যাক, আপনি MySQL ডাটাবেস থেকে একটি টেবিল employee HDFS-এর /user/hadoop/employee_data ডিরেক্টরিতে ইম্পোর্ট করতে চান। এই কাজটি করতে নিচের কমান্ডটি ব্যবহার করতে হবে:
sqoop import --connect jdbc:mysql://localhost:3306/mydb \
--username root --password mypassword \
--table employee --target-dir /user/hadoop/employee_data
এখানে:
localhost:3306: MySQL ডাটাবেসের হোস্ট এবং পোর্ট।mydb: ডাটাবেসের নাম।employee: টেবিলের নাম।/user/hadoop/employee_data: HDFS-এর গন্তব্য ডিরেক্টরি।
অতিরিক্ত অপশন
--columns: নির্দিষ্ট কলামগুলো ইম্পোর্ট করতে চাইলে এই অপশন ব্যবহার করা হয়। উদাহরণস্বরূপ:sqoop import --connect jdbc:mysql://localhost:3306/mydb \ --username root --password mypassword \ --table employee --columns "id,name,salary" \ --target-dir /user/hadoop/employee_data--where: নির্দিষ্ট শর্ত (condition) অনুসারে ডেটা ইম্পোর্ট করতে চাইলে এই অপশনটি ব্যবহার হয়। উদাহরণস্বরূপ:sqoop import --connect jdbc:mysql://localhost:3306/mydb \ --username root --password mypassword \ --table employee --where "salary > 50000" \ --target-dir /user/hadoop/high_salary_employees--split-by: ডেটার পার্টিশন (split) করার জন্য এই অপশনটি ব্যবহৃত হয়। এটি বড় ডেটাসেটগুলোকে ছোট ভাগে ভাগ করে ইম্পোর্ট করার সুবিধা প্রদান করে।
সারাংশ
Sqoop import কমান্ডের মাধ্যমে RDBMS থেকে Hadoop-এর HDFS, Hive বা HBase-এ ডেটা ইম্পোর্ট করা যায়। এর মধ্যে বিভিন্ন অপশন যেমন --connect, --username, --password, --table, এবং --target-dir ব্যবহার করা হয়। এছাড়াও, নির্দিষ্ট কলাম, শর্ত বা ডেটা পার্টিশন করার জন্য অতিরিক্ত অপশন ব্যবহার করা যায়।
Read more