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>

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

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

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

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

--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 и так далее. Это может быть полезно, например, для создания классов, которые могут парсить записи, созданные с одним набором разделителей, и передавать записи в другой набор файлов, используя другой набор разделителей.

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)

Аргументы HBase

--column-family <family>

Задает column family для импорта

--hbase-create-table

Если указан, создает недостающие HBase-таблицы

--hbase-row-key <col>

Указывает, какой входной столбец использовать в качестве ключа строки. Если входная таблица содержит составной ключ (composite key), то значение <col> должно содержать список атрибутов составных ключей, разделенных запятыми

--hbase-table <table-name>

Указывает таблицу HBase вместо HDFS

--hbase-bulkload

Включает массовую загрузку

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

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

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

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