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://127.0.0.1/userdb \
--username root

注意 − 如果使用 import-all-tables,则该数据库中每个表必须具有主键字段。

可以使用以下命令将所有表数据验证到 HDFS 中的 userdb 数据库。

$ $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
广告