import-mainframe
Инструмент import-mainframe
импортирует все последовательные наборы данных из партиционированного mainframe-dataset (Partitioned Dataset, PDS) в HDFS.
PDS аналогичен каталогу в открытых системах.
Записи в dataset могут содержать только символьные данные.
Записи сохраняются в виде одного текстового поля.
Использование инструмента показано ниже.
$ sqoop import-mainframe <generic-args> <import-args>
$ sqoop-import-mainframe <generic-args> <import-args>
Общие аргументы Hadoop должны предшествовать любым аргументам import-mainframe
.
Аргументы import-mainframe
могут указываться в любом порядке по отношению друг к другу.
--connect <jdbc-uri> |
Указывает JDBC-строку соединения |
--connection-manager <class-name> |
Указывает класс диспетчера соединений |
--connection-param-file <filename> |
Указывает путь к файлу, который содержит параметры подключения |
--hadoop-mapred-home <dir> |
Переопределяет |
--help |
Выводит справочную информацию |
--password-file |
Задает путь к файлу, который содержит пароль аутентификации |
-P |
Считывает пароль из консоли |
--password <password> |
Устанавливает пароль аутентификации |
--username <username> |
Устанавливает имя пользователя для аутентификации |
--verbose |
Выводит более подробную информацию во время работы |
--as-avrodatafile |
Импортирует данные в виде файлов данных Avro |
--as-sequencefile |
Импортирует данные в виде SequenceFiles |
--as-textfile |
Импортирует данные в виде обычного текста (значение по умолчанию) |
--as-parquetfile |
Импортирует данные в Parquet-формате |
--delete-target-dir |
Удаляет директорию импорта, если такая существует |
-m,--num-mappers <n> |
Использует |
--target-dir <dir> |
Конечная директория HDFS |
--warehouse-dir <dir> |
Устанавливает родительский каталог HDFS для импортируемой таблицы |
-z,--compress |
Включает компрессию |
--compression-codec <c> |
Устанавливает кодек Hadoop (по умолчанию gzip) |
--enclosed-by <char> |
Устанавливает символ границ поля |
--escaped-by <char> |
Устанавливает символ экранирования |
--fields-terminated-by <char> |
Устанавливает символ разделителя полей |
--lines-terminated-by <char> |
Устанавливает символ конца строки |
--mysql-delimiters |
Использует стандартный набор разделителей MySQL: поля — |
--optionally-enclosed-by <char> |
Устанавливает опциональный символ границ поля |
Поскольку запись мейнфрейма содержит только одно поле, импорт в файлы с разделителями не будет содержать разделителей полей. Однако поле может быть обернуто в enclosing-символ или экранировано с помощью экранирующего символа.
--input-enclosed-by <char> |
Устанавливает символ границ поля для входных данных |
--input-escaped-by <char> |
Устанавливает символ экранирования для входных данных |
--input-fields-terminated-by <char> |
Устанавливает символ разделителя полей для входных данных |
--input-lines-terminated-by <char> |
Устанавливает символ конца строки для входных данных |
--input-optionally-enclosed-by <char> |
Устанавливает опциональный символ границ поля для входных данных |
Когда Sqoop импортирует данные в HDFS, он создает Java-класс, который может повторно обработать текстовые файлы, созданные при импорте с разделителями.
Разделители устанавливаются с помощью таких аргументов, как --fields-terminated-by
; это определяет как вид, в котором данные записываются на диск, так и обработку этих данных методом parse()
.
Разделители, используемые методом parse()
, можно выбирать независимо от выходных аргументов, используя --input-fields-terminated-by
и так далее.
Это может быть полезно, например, для создания классов, которые могут парсить записи, созданные с одним набором разделителей, и передавать записи в другой набор файлов, используя другой набор разделителей.
--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, например, используйте |
--column-family <family> |
Задает column family для импорта |
--hbase-create-table |
Если указан, создает недостающие HBase-таблицы |
--hbase-row-key <col> |
Указывает, какой входной столбец использовать в качестве ключа строки.
Если входная таблица содержит составной ключ (composite key), то значение |
--hbase-table <table-name> |
Указывает таблицу HBase вместо HDFS |
--hbase-bulkload |
Включает массовую загрузку |
--bindir <dir> |
Устанавливает выходной каталог для скомпилированных объектов |
--class-name <name> |
Задает имя для сгенерированного класса.
Эта опция переопределяет |
--jar-file <file> |
Отключает генерацию кода; вместо этого используется предоставленный JAR |
--map-column-java <m> |
Переопределяет сопоставление по умолчанию из типа SQL в тип Java для столбца |
--outdir <dir> |
Устанавливает выходной каталог для сгенерированного кода |
--package-name <name> |
Помещает автоматически сгенерированные классы в указанный пакет |