Sqoop - Импортировать все таблицы
В этой главе описывается, как импортировать все таблицы с сервера базы данных СУБД в 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, обязательно, чтобы каждая таблица в этой базе данных имела поле первичного ключа.
Следующая команда используется для проверки всех данных таблицы в базе данных 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