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>

Переопределяет $HADOOP_MAPRED_HOME

--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. Недоступно для использования с опцией --split-by <column-name>

--direct

Использует direct-коннектор для базы данных (если такой имеется)

--exclude-tables <tables>

Указывает список таблиц, разделенных запятыми, которые необходимо исключить из процесса импорта

--inline-lob-limit <n>

Задает максимальный размер для inline LOB

-m,--num-mappers <n>

Использует n map-задач для параллельного процесса импорта

--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: поля — ,, строки — \n, символ экранирования — \, опциональный enclosed-by (--optionally-enclosed-by) — '

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

Устанавливает опциональный символ границ поля для входных данных

Hive arguments

--create-hive-table

Если аргумент задан и Hive-таблица уже существует, выполнение завершается ошибкой

--hive-home <dir>

Переопределяет $HIVE_HOME

--hive-import

Импортирует таблицы в Hive (использует разделители Hive по умолчанию, если они не установлены)

--hive-overwrite

Перезаписывает существующие данные в таблице Hive

--hive-table <table-name>

Устанавливает имя таблицы для использования при импорте в Hive

--hive-drop-import-delims

Удаляет символы \n, \r и \01 из полей при импорте в Hive

--hive-delims-replacement

Заменяет \n, \r и \01 на пользовательские символы при импорте в Hive

--hive-partition-key

Устанавливает ключ раздела Hive

--hive-partition-value <v>

Устанавливает значение раздела Hive

--map-column-hive <map>

Переопределяет сопоставление по умолчанию из типов данных SQL в типы данных Hive. Если аргумент содержит запятые, используйте ключи/значения в кодировке URL, например, используйте DECIMAL(1%2C%201) вместо DECIMAL(1, 1)

Аргументы генерации кода

--bindir <dir>

Устанавливает выходной каталог для скомпилированных объектов

--jar-file <file>

Отключает генерацию кода; вместо этого используется предоставленный JAR

--outdir <dir>

Устанавливает выходной каталог для сгенерированного кода

--package-name <name>

Помещает автоматически сгенерированные классы в указанный пакет

Инструмент import-all-tables не поддерживает аргумент --class-name. Однако, используя --package-name, вы можете указать имя пакета, в который будут помещены все сгенерированные классы.

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней