2017-02-06 3 views
2

Я пытаюсь импортировать все таблицы из моего Oracle 11g R2 (импорт-все-таблицы), и я столкнулся с проблемой с типом CLOB. (Использование CDH 5.9 Sqoop 1.4.6-cdh5.9.1)Sqoop: импортировать все таблицы, конвертирующие типы blob

Первая попытка:

sqoop import-all-tables --connect ... --hive-import --hive-overwrite --as-parquet-file --autoreset-to-one-mapper -m XX --direct 

Таблицы правильно импортированы до одна таблица со столбцом CLOB не найден и бросить следующее сообщение об ошибке: Не удается преобразовать в SQL типа 2005.

Вторая попытка:

sqoop import-all-tables -D oraoop.disabled=true --connect ... --hive-import --hive-overwrite --as-parquet-file --autoreset-to-one-mapper -m XX 

я получаю ту же ошибку.

Третий попробовать

sqoop import --connect ... --hive-import --hive-overwrite --as-parquet-file --autoreset-to-one-mapper -m XX --table MyClobTable --map-column-java CLOBCOL=String 

Это работает, поэтому я стараюсь, чтобы получить то же самое со всеми таблицами:

sqoop import-all-tables --connect ... --hive-import --hive-overwrite --as-parquet-file --autoreset-to-one-mapper -m XX --map-column-java CLOBCOL=String 

Это терпит неудачу, потому что только один из моих таблиц имеет столбец CLOBCOL.

Есть ли способ использовать импорт-все-таблицы, исправление ошибки типа SQL 2005 или сообщение Sqoop о том, как его разрешить «на лету»?

Спасибо!

+0

В чем проблема, которую вы точно видите? Вместо того, чтобы пытаться принудительно привязать строки к строкам, вы должны подумать о том, чтобы позволить sqoop хранить файлы по мере необходимости для их размера (если относительно небольшой, может быть встроенным, иначе в _lobs subdir). – tbone

+0

Я редактировал свое сообщение, пытаясь быть более явным. Как я могу «позволить Sqoop хранить файлы по мере необходимости для их размера»? – Cheloute

ответ

0

Вам не следует использовать команду --direct, поскольку в документе sqoop говорится: «Прямой режим Sqoop не поддерживает импорт столбцов BLOB, CLOB или LONGVARBINARY. Используйте импорт на основе JDBC для этих столбцов, не поставляйте -direct аргумент для инструмента импорта ».

 Смежные вопросы

  • Нет связанных вопросов^_^