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

Note − 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