import-all-tables
Инструмент import-all-tables
импортирует набор таблиц из СУБД в HDFS.
Данные из каждой таблицы хранятся в отдельном каталоге в HDFS.
Инструмент особенно полезен, если выполняются следующие условия:
-
Каждая таблица имеет первичный ключ с одним столбцом или используется опция
--autoreset-to-one-mapper
. -
Импортируются все столбцы каждой таблицы.
-
Вы не должны использовать разделяющий столбец не по умолчанию или создавать какие-либо условия с помощью
WHERE
.
Использование инструмента показано ниже.
$ sqoop import-all-tables <generic-args> <import-args>
$ sqoop-import-all-tables <generic-args> <import-args>
Общие аргументы Hadoop должны предшествовать любым аргументам import-all-tables
.
Аргументы import-all-tables
могут указываться в любом порядке по отношению друг к другу.
--connect <jdbc-uri> |
Указывает JDBC-строку соединения |
--connection-manager <class-name> |
Указывает класс диспетчера соединений |
--connection-param-file <filename> |
Указывает путь к файлу, который содержит параметры подключения |
--driver <class-name> |
Указывает класс JDBC-драйвера |
--hadoop-mapred-home <dir> |
Переопределяет |
--help |
Выводит справочную информацию |
--password-file |
Задает путь к файлу, который содержит пароль аутентификации |
-P |
Считывает пароль из консоли |
--password <password> |
Устанавливает пароль аутентификации |
--username <username> |
Устанавливает имя пользователя для аутентификации |
--verbose |
Выводит более подробную информацию во время работы |
--relaxed-isolation |
Устанавливает уровень изоляции транзакций read-uncommitted |
--as-avrodatafile |
Импортирует данные в виде файлов данных Avro |
--as-sequencefile |
Импортирует данные в виде SequenceFiles |
--as-textfile |
Импортирует данные в виде обычного текста (значение по умолчанию) |
--as-parquetfile |
Импортирует данные в Parquet-формате |
--autoreset-to-one-mapper |
Если встречается таблица без первичного ключа, то в процессе импорта должен быть задействован один mapper.
Недоступно для использования с опцией |
--direct |
Использует direct-коннектор для базы данных (если такой имеется) |
--exclude-tables <tables> |
Указывает список таблиц, разделенных запятыми, которые необходимо исключить из процесса импорта |
--inline-lob-limit <n> |
Задает максимальный размер для inline LOB |
-m,--num-mappers <n> |
Использует |
--warehouse-dir <dir> |
Устанавливает родительский каталог HDFS для импортируемой таблицы |
-z,--compress |
Включает компрессию |
--compression-codec <c> |
Устанавливает кодек Hadoop (по умолчанию gzip) |
Вышеуказанные аргументы ведут себя так же, как и при использовании инструмента sqoop-import
, однако аргументы --table
, --split-by
, --columns
и --where
недоступны для import-all-tables
.
Аргумент --exclude-tables
предназначен только для импорта всех таблиц.
--enclosed-by <char> |
Устанавливает символ границ поля |
--escaped-by <char> |
Устанавливает символ экранирования |
--fields-terminated-by <char> |
Устанавливает символ разделителя полей |
--lines-terminated-by <char> |
Устанавливает символ конца строки |
--mysql-delimiters |
Использует стандартный набор разделителей MySQL: поля — |
--optionally-enclosed-by <char> |
Устанавливает опциональный символ границ поля |
--input-enclosed-by <char> |
Устанавливает символ границ поля для входных данных |
--input-escaped-by <char> |
Устанавливает символ экранирования для входных данных |
--input-fields-terminated-by <char> |
Устанавливает символ разделителя полей для входных данных |
--input-lines-terminated-by <char> |
Устанавливает символ конца строки для входных данных |
--input-optionally-enclosed-by <char> |
Устанавливает опциональный символ границ поля для входных данных |
--create-hive-table |
Если аргумент задан и Hive-таблица уже существует, выполнение завершается ошибкой |
--hive-home <dir> |
Переопределяет |
--hive-import |
Импортирует таблицы в Hive (использует разделители Hive по умолчанию, если они не установлены) |
--hive-overwrite |
Перезаписывает существующие данные в таблице Hive |
--hive-table <table-name> |
Устанавливает имя таблицы для использования при импорте в Hive |
--hive-drop-import-delims |
Удаляет символы |
--hive-delims-replacement |
Заменяет |
--hive-partition-key |
Устанавливает ключ раздела Hive |
--hive-partition-value <v> |
Устанавливает значение раздела Hive |
--map-column-hive <map> |
Переопределяет сопоставление по умолчанию из типов данных SQL в типы данных Hive.
Если аргумент содержит запятые, используйте ключи/значения в кодировке URL, например, используйте |
--bindir <dir> |
Устанавливает выходной каталог для скомпилированных объектов |
--jar-file <file> |
Отключает генерацию кода; вместо этого используется предоставленный JAR |
--outdir <dir> |
Устанавливает выходной каталог для сгенерированного кода |
--package-name <name> |
Помещает автоматически сгенерированные классы в указанный пакет |
Инструмент import-all-tables
не поддерживает аргумент --class-name
.
Однако, используя --package-name
, вы можете указать имя пакета, в который будут помещены все сгенерированные классы.