codegen

Инструмент codegen генерирует Java-классы, которые инкапсулируют и обрабатывают импортированные записи. Java-представления записи создаются в процессе импорта, однако могут создаваться и в произвольный момент времени. Например, если исходный код Java утерян, его можно восстановить. Также возможно создание новой версии класса с другими разделителями для полей и так далее.

codegen используется следующим образом:

$ sqoop codegen <generic-args> <codegen-args>
$ sqoop-codegen <generic-args> <codegen-args>
Общие аргументы

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

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

--bindir <dir>

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

--class-name <name>

Задает имя для сгенерированного класса. Эта опция переопределяет --package-name. При комбинации с --jar-file, задает имя для входного класса

--jar-file <file>

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

--map-column-java <m>

Переопределяет сопоставление по умолчанию из типа SQL в тип Java для столбца <m>

--outdir <dir>

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

--package-name <name>

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

Аргументы парсинга входных данных

--input-enclosed-by <char>

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

--input-escaped-by <char>

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

--input-fields-terminated-by <char>

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

--input-lines-terminated-by <char>

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

--input-optionally-enclosed-by <char>

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

Аргументы форматирования строк вывода

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

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

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)

Если инструмент codegen получает аргументы Hive, Sqoop создает файл, содержащий HQL-выражения, для создания таблицы и загрузки данных.

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