Sqoop 简明教程

Sqoop - Import All Tables

本章介绍如何将所有表从 RDBMS 数据库服务器导入到 HDFS。每个表数据存储在单独的目录中,目录名称与表名称相同。

Syntax

以下语法用于导入所有表。

$ sqoop import-all-tables (generic-args) (import-args)
$ sqoop-import-all-tables (generic-args) (import-args)

Example

我们以从 userdb 数据库导入所有表为例。数据库 userdb 包含的表列表如下。

 +--------------------+
 |      Tables        |
 +--------------------+
 |      emp           |
 |      emp_add       |
 |      emp_contact   |
 +--------------------+

以下命令用于从 userdb 数据库导入所有表。

$ sqoop import-all-tables \
--connect jdbc:mysql://localhost/userdb \
--username root

Note - 如果你在使用 import-all-tables,那么数据库中的每个表都必须有一个主键字段。

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

$ $HADOOP_HOME/bin/hadoop fs -ls

它将会向你展示 userdb 数据库中的表名称列表作为目录。

Output

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