2017-01-23 7 views
1

При попытке импортировать таблицу из базы данных Oracle в виде файла паркета возникает следующая ошибка.Sqoop Imported Failed: невозможно преобразовать SQL-тип 2005 при попытке импортировать таблицу Oracle

ERROR tool.ImportTool: Imported Failed: Cannot convert SQL type 2005 

Этот вопрос уже поднимался here, но предложенное решение не помогает мне.

Я пытаюсь импортировать таблицу из командной строки с помощью следующей команды с параметрами в <> заполняются соответствующими значениями:

sqoop import --connect jdbc:oracle:thin:@<host>:<port>/<service> --username <user> --password <password> --hive-import --query 'SELECT * FROM <DB>.<table> WHERE $CONDITIONS' --split-by <ID> --hive-database <HIVE_DB> --hive-table <HIVE_TABLE> --incremental append --check-column <ID> --map-column-hive <ID>=integer --compression-codec=snappy --target-dir=/user/hive/<FOLDER> --as-parquetfile --last-value 0 -m 1

Кто-нибудь знает, как решить эту проблему? Я не специалист по базе данных sqooped Oracle, но, похоже, это связано с наличием типов данных CLOB. Я выполняю эту команду на CDH 5.8 с sqoop 1.4.6

Запуск задания без --as-parquetfile приводит к выполнению задания sqoop, которое кажется застрявшим на карте 0% уменьшения 0%.

+0

try Входные аргументы анализа: см. Комментарий [здесь] (https://reviews.apache.org/r/38554/) - tht перенаправляет сюда ... http://sqoop.apache.org/docs/ 1.4.6/SqoopUserGuide.html # _large_objects –

+0

Я уже пытался добавить некоторые из них, но они пока не помогли. Я рассмотрю его более глубоко. Спасибо за ваш ответ – spijs

+0

@RonakPatel Какие аргументы вы бы указали для этого импорта оракула? – spijs

ответ

2

Используйте --map-column-java, чтобы нанести на карту clob datatype на Java String.

Например, у вас есть столбец C1. Использование:

--map-column-java C1=String 

Проверьте, пожалуйста, docs.

+0

Можете ли вы сделать это в более общем виде, поэтому вам не нужно указывать отдельные столбцы? – spijs

+0

@ThijsDieltjens Нет другого способа обеспечить отображение java. –

+0

Наличие опции map-column-java помогает (определенно для типов DATA) и гарантирует, что ошибка исчезнет. Однако загрузка данных застревает на карте 0%, а без столбца clob заканчивается в течение минуты. Нужен ли мне аргумент парсинга ввода, как прокомментировал Ронак Пател? И если да, то какие из них мне нужны, поскольку сама документация не делает ее намного яснее для меня. – spijs