Sqoop - นำเข้าตารางทั้งหมด

บทนี้อธิบายวิธีการนำเข้าตารางทั้งหมดจากเซิร์ฟเวอร์ฐานข้อมูล RDBMS ไปยัง HDFS ข้อมูลตารางแต่ละรายการจะถูกเก็บไว้ในไดเร็กทอรีแยกต่างหากและชื่อไดเร็กทอรีจะเหมือนกับชื่อตาราง

ไวยากรณ์

ไวยากรณ์ต่อไปนี้ใช้เพื่อนำเข้าตารางทั้งหมด

$ sqoop import-all-tables (generic-args) (import-args) 
$ sqoop-import-all-tables (generic-args) (import-args)

ตัวอย่าง

ให้เรายกตัวอย่างการนำเข้าตารางทั้งหมดจากไฟล์ userdbฐานข้อมูล. รายการตารางที่ฐานข้อมูลuserdb มีดังนี้

+--------------------+
 |      Tables        |
 +--------------------+
 |      emp           |
 |      emp_add       |
 |      emp_contact   |
 +--------------------+

คำสั่งต่อไปนี้ใช้เพื่อนำเข้าตารางทั้งหมดจากไฟล์ userdb ฐานข้อมูล.

$ sqoop import-all-tables \
--connect jdbc:mysql://localhost/userdb \
--username root

Note - หากคุณใช้ import-all-tables จำเป็นต้องมีทุกตารางในฐานข้อมูลนั้นต้องมีฟิลด์คีย์หลัก

คำสั่งต่อไปนี้ใช้เพื่อตรวจสอบข้อมูลตารางทั้งหมดกับฐานข้อมูล userdb ใน HDFS

$ $HADOOP_HOME/bin/hadoop fs -ls

มันจะแสดงรายการชื่อตารางในฐานข้อมูล userdb เป็นไดเร็กทอรี

เอาต์พุต

drwxr-xr-x - hadoop supergroup 0 2014-12-22 22:50 _sqoop
drwxr-xr-x - hadoop supergroup 0 2014-12-23 01:46 emp
drwxr-xr-x - hadoop supergroup 0 2014-12-23 01:50 emp_add
drwxr-xr-x - hadoop supergroup 0 2014-12-23 01:52 emp_contact