Sqoop-import-all-tables

提供:Dev Guides
移動先:案内検索

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

-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