📅  最后修改于: 2020-11-29 08:22:35             🧑  作者: Mango
本章介绍如何将所有表从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
注–如果使用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