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
注意- 如果您使用导入所有表,则该数据库中的每个表都必须具有主键字段。
以下命令用于验证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