作者:澳洲开奥拓 | 来源:互联网 | 2023-08-20 14:59
本章介绍如何导入从RDBMS数据库服务器到HDFS所有表。每个表的数据存储在一个单独的目录,目录名与表名相同。语法以下语法用于导入所有表。$sqoopimport-all-tabl
本章介绍如何导入从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