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