位置:首頁 > 大數據教學 > Sqoop教學 > Sqoop導入所有表

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 \
--connect jdbc:mysql://localhost/userdb \
--username root

注:如果使用的是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